WiFi - IOマップ

「WiFi - IOマップ」の編集履歴(バックアップ)一覧に戻る

WiFi - IOマップ - (2007/07/16 (月) 04:47:04) のソース

**DS Wifi I/O マップ

-ARM7 I/O の Wifi 領域
|4800000h-4807FFFh|Wifi WS0 領域 (32K)|
|4808000h-4808000h|Wifi WS1 領域 (32K)|
|4810000h-4FFFFFFh|未使用 (00h-filled)|

Wifi Registers appear more stable in WS1 region?
Wifi RAM appears more stable in WS0 region?
Wifi Registers & RAM cannot be written to by STRB opcodes (ignored).

-32K Wifi 領域の構造 (WS0 ・ WS1)
|4800000h-4800FFFh|レジスタ|
|4801000h-4801FFFh|レジスタ (ミラー)|
|4802000h-4803FFFh|未使用 (FFh-filled)|
|4804000h-4805FFFh|Wifi RAM  (8K)|
|4806000h-4806FFFh|レジスタ (ミラー)|
|4807000h-4807FFFh|レジスタ (ミラー)|


-レジスタ

|アドレス|アクセス|名前|r/w|[Init]|説明|
|0000h|R  |W_ID            |----| [1440]| チップ ID|
|0004h|R/W|W_MODE_RST      |9fff| [0000]| Mode/Reset|
|0006h|R/W|W_MODE_WEP      |--7f| [0000]| Mode/Wep モード|
|0008h|R/W x|?               |ffff| [0000]| 常に 0 にセット ?|
|000Ah|R/W x|?               |ffff| [0000]| [bit7 - RX 重複無視]|
|0010h|R/W|W_IF            |ackk| [0000]| Wifi 割り込み要求フラグ|
|0012h|R/W|W_IE            |ffff| [0000]| Wifi 割り込み有効|
|0018h|R/W|   W_MACADDR_0     |ffff| [0000]| ハードウェア MAC アドレス (最初の 2 バイト)|
|001Ah|R/W|   W_MACADDR_1     |ffff| [0000]| ハードウェア MAC アドレス (次の 2 バイト)|
|001Ch|R/W|   W_MACADDR_2     |ffff| [0000]| ハードウェア MAC アドレス (最後の 2 バイト)|
|0020h|R/W|   W_BSSID_0       |ffff| [0000]| BSSID (最初の 2 バイト)|
|0022h|R/W|   W_BSSID_1       |ffff| [0000]| BSSID (次の 2 バイト)|
|0024h|R/W|   W_BSSID_2       |ffff| [0000]| BSSID (最後の 2 バイト)|
|0028h|R/W x |W_AID           |---f| [0000]|BSSに割り当てられたAIDの値|
|002Ah|R/W x |?               |-7ff| [0000]|W_AID に対して常に同じ値をセットする|
|002Ch|R/W x |W_RETRLIMIT     |ffff| [0707]|Tx リトライ制限 (0x00 ~ 0xFF)|
|002Eh|R/W x |?               |---1| [0000]||
|0030h|R/W   |W_RXCNT         |ff0e| [0000]|受信制御|
|0032h|R/W   |W_WEP_CNT       |ffff| [0000]| WEP エンジン有効|
|0034h|?/? x |?               |0000| [0000]||

-パワーダウンレジスタ (と、乱数ジェネレータ)
|  0036h| R/W  | W_POWER_US     | ---3| [0001]||
|  0038h| R/W  | W_POWER_TX     | ---7| [0003]||
|  003Ch| R/W  | W_POWERSTATE   | -r-2| [0200]||
|  0040h| R/W  | W_POWERFORCE   | 8--1| [0000]||
|  0044h| R    | W_RANDOM       | 0xxx| [0xxx]||
|  0048h| R/W  | W_POWER_?      | ---3| [0000]||

-WLAN メモリポート
|  0050h| R/W  | W_BUF_RD_BEGIN | ffff |[4000]||
|  0052h| R/W  | W_BUF_RD_END   | ffff |[4800]||
|  0054h| R    | W_RXHWWRITECSR | 0rrr |[0000]||
|  0056h| R/W  | W_WRITECSRLATCH| -fff |[0000]||
|  0058h| R/W  | W_BUF_RD_ADDR  | 1ffe |[0000]||
|  005Ah| R/W  | W_RXREADCSR    | -fff |[0000]||
|  005Ch| R/W x |                |-fff |[0000]| カウントダウン; WiFi 割り込み 9 が 0 になった時に動く|
|  0060h| R     |W_BUF_RD_DATA  | rrrr |[xxxx]||
|  0062h| R/W x |               | 1ffe |[0000]| 初期化フローチャート参照|
|  0064h| R/W x |               | -fff |[0000]||
|  0068h| R/W   |W_BUF_WR_ADDR  | 1ffe |[0000]||
|  006Ch| R/W x |               | -fff |[0000]||
|  0070h| W     |W_BUF_WR_DATA  | xxxx |[xxxx]||
|  0074h| R/W   |W_BUF_WR_END   | 1ffe |[0000]||
|  0076h| R/W   |W_BUF_WR_SKIP  | 0fff |[0000]||

-xxx
|  0078h |W?  x|                | mirr |[mirr]| 読み込み: 068h のミラー|
|  0080h |R/W  | W_BEACONTRANS  | ffff |[0000]| ビーコン送信場所|
|  0084h |R/W x|                | --ff |[0000]||
|  0088h |R/W x| W_LISTENCOUNT  | --ff |[0000]| デクリメント; when it reaches zero, it's reloaded with W_LISTENINT|
|  008Ch |R/W x| W_BEACONPERIOD | -3ff |[0064] | ミリ秒ビーコン送信の周期|
|  008Eh |R/W x| W_LISTENINT    | --ff |[0000]| Listen インターバル; W_LISTENCOUNT関連|
|  0090h |R/W x|                | ffff |[0000]||
|  0094h |R/W x|                | ffff |[0000]| ?|
|  0098h |?/W x|                | 0000 |[0000]||
|  009Ch |R/W x|                | ffff |[0050]||
|  00A0h |R/W  | W_TXLOC1       | ffff |[0000]||
|  00A4h |R/W  | W_TXLOC2       | ffff |[0000]||
|  00A8h |R/W  | W_TXLOC3       | ffff |[0000]||
|  00ACh |W    | W_TXOPT        | fixx |[0050]||
|  00AEh |W    | W_TXCNT        | fixx |[0050]||
|  00B0h |R/W  | W_TXINFO       | --1f |[0010]||
|  00B4h |W   x|                | 0000 |[0000]| ...FFFFh に初期化|
|  00B6h |R/? x|                | 0000 |[0000]||
|  00B8h |R/?  | W_TXSTAT       | 0000 |[0000]||
|  00BAh |R/? x|                | 0000 |[0000]||
|  00BCh |R/W x|                | ---3 |[0001]| [ |=6: short preamble, &=~6: long preamble ]|
|  00C0h |R/W x|                | ffff |[0000]||
|  00C4h |R/W x|                | ffff |[0000]||
|  00C8h |R/? x|                | 0000 |[0000]||
|  00D0h |R/W x| W_RXFILTER     | 1fff |[0401]|どのパケットを許可するか指定, 組み合わせは不明|
|  00D4h |R/W x|                | ---3 |[0001]||
|  00D8h |R/W x|                | -fff |[0004]||
|  00DAh |R/W x|                | ffff |[0602]||
|  00E0h |R/W x|                | ---f |[0008]||


-Wifi タイマー
|  00E8h| R/W   |W_US_COUNTCNT   |---1| [0000] |マイクロ秒 カウンタ有効|
|  00EAh| R/W   |W_US_COMPARECNT |---1| [0000] |マイクロ秒 比較有効|
|  00ECh| R/W x |?               |3f1f| [3F03]||
|  00EEh| R/W x |?               |---1| [0001]||
|  00F0h| R/W   |W_US_COMPARE0   |fc--| [FC00] |マイクロ秒 比較, bits 0-15|
|  00F2h| R/W   |W_US_COMPARE1   |ffff| [FFFF] |マイクロ秒 比較, bits 16-31|
|  00F4h| R/W   |W_US_COMPARE2   |ffff| [FFFF] |マイクロ秒 比較, bits 32-47|
|  00F6h| R/W   |W_US_COMPARE3   |ffff| [FFFF] |マイクロ秒 比較, bits 48-63|
|  00F8h| R/W   |W_US_COUNT0     |ffff| [0000] |マイクロ秒 カウンタ, bits 0-15|
|  00FAh| R/W   |W_US_COUNT1     |ffff| [0000] |マイクロ秒 カウンタ, bits 16-31|
|  00FCh| R/W   |W_US_COUNT2     |ffff| [0000] |マイクロ秒 カウンタ, bits 32-47|
|  00FEh| R/W   |W_US_COUNT3     |ffff| [0000] |マイクロ秒 カウンタ, bits 48-63|
|  0100h| ?/W x |                |0000| [0000]||
|  0102h| ?/W x |                |0000| [0000]||
|  0104h| ?/W x |                |0000| [0000]||
|  0106h| ?/W x |                |0000| [0000]||
|  010Ch| R/W x |                |ffff| [0000]| [Set to the remaining duration of contention-free period when receiving beacons - only *really* necessary for powersaving mode]|
|  0110h| R/W x |                |ffff |[0000]||
|  0118h| R/W x |                |ffff |[0000]||
|  011Ch| R/W x |                |ffff |[0000] (Decreases, when reaches 0 is reloaded with W_BEACONPERIOD)|

-コンフィグポート (と、その他のレジスタ)
|  0120h| R/W  | W_CONFIG_120h  | 81ff| [0048]| ...init from firmware[04Ch]|
|  0122h| R/W  | W_CONFIG_122h  | ffff| [4840]| ...init from firmware[04Eh]|
|  0124h| R/W  | W_CONFIG_124h  | ffff| [0000]| ...init from firmware[05Eh]|
|  0126h| ?/? x| ?              | fixx| [0080]||
|  0128h| R/W  | W_CONFIG_128h  | ffff| [0000]| ...init from firmware[060h]|
|  012Ah| ?/? x| ?              | fixx| [1000]||
|  0130h| R/W  | W_CONFIG_130h  | -fff| [0142]| ...init from firmware[054h]|
|  0132h| R/W  | W_CONFIG_132h  | 8fff| [8064]| ...init from firmware[056h]|
|  0134h| R/W x| W_BEACONCOUNT  | ffff| [FFFF]| (I think) This is the millisecond
                                          counter that tracks when beacons
                                          are expected to be transmitted.
                                          ["Active zone time" - it tracks some
                                          aspect of the Contention-free period]|
|  0140h| R/W  | W_CONFIG_140h  | ffff| [0000]| ...init from firmware[058h]|
|  0142h| R/W  | W_CONFIG_142h  | ffff| [2443]| ...init from firmware[05Ah]|
|  0144h| R/W  | W_CONFIG_144h  | --ff| [0042]| ...init from firmware[052h]|
|  0146h| R/W  | W_CONFIG_146h  | --ff| [0016]| ...init from firmware[044h]|
|  0148h| R/W  | W_CONFIG_148h  | --ff| [0016]| ...init from firmware[046h]|
|  014Ah| R/W  | W_CONFIG_14Ah  | --ff| [0016]| ...init from firmware[048h]|
|  014Ch| R/W  | W_CONFIG_14Ch  | ffff| [162C]| ...init from firmware[04Ah]|
|  0150h| R/W  | W_CONFIG_150h  | ff3f| [0204]| ...init from firmware[062h]|
|  0154h| R/W  | W_CONFIG_154h  | 7a7f| [0058]| ...init from firmware[050h]|

-ベースバンドチップポート
|  0158h| W    | W_BBSIOCNT     | mirr| [00B5] |BB アクセス 開始/方向/インデックス|
|  015Ah| W    | W_BBSIOWRITE   | ????| [0000] |BB アクセス データバイト書き込み|
|  015Ch| R    | W_BBSIOREAD    | 00rr| [00B5] |BB アクセス データバイト読み込み|
|  015Eh| R    | W_BBSIOBUSY    | 000r| [0000] |BB アクセス ビジーフラグ|
|  0160h| R/W  | W_BBSIOMODE    | 41--| [0100] |BB アクセス モード|
|  0168h| R/W  | W_BBSIOPOWER   | 8--f| [800D] |BB アクセス パワーダウン|

-xxx
|  016Ah |?/W x|                | 0000 |[0001] |(or 0000h?)|
|  0170h |?/W x|                | 0000 |[0000]||
|  0172h |?/W x|                | 0000 |[0000]||
|  0174h |?/W x|                | 0000 |[0000]||
|  0176h |?/W x|                | 0000 |[0000]||
|  0178h |W?  x|                | fixx |[0800]| 読み込み: mirror of 17Ch|

-RF チップポート
|  017Ch |R/W  | W_RFSIODATA2   | ffff| [0800]||
|  017Eh |R/W  | W_RFSIODATA1   | ffff| [C008]||
|  0180h |R    | W_RFSIOBUSY    | 000r| [0000]||
|  0184h |R/W  | W_RFSIOCNT     | 413f| [0018]||

-xxx
|  0190h| R/W x |               | ffff| [0000]||
|  0194h| R/W x |               | ---7| [0000]||
|  0198h| R/W x |               | ---f| [0000]||
|  019Ch| ?/W x |               | fixx| [0004]| Bit 0 = carrier sense?|
|  01A0h| R/W x |               | -933| [0000]||
|  01A2h| R/W x |               | ---3| [0001]||
|  01A4h| R/W x |               | ffff| [0000]| Rate used when signal test is enabled  (0x0A or 0x14 for 1 or 2 mbit)|

-Wifi 統計情報
|  01A8h |R     |W_STAT_INC      |rrrr |[0000] |統計情報 増加フラグ|
|  01AAh |R/W   |W_STAT_INC_IE   |ffff |[0000] |統計情報 増加割り込み有効|
|  01ACh |R     |W_STAT_OVF      |rrrr |[0000] |統計情報 オーバーフローフラグ|
|  01AEh |R/W   |W_STAT_OVF_IE   |ffff |[0000] |統計情報 オーバーフロー割り込み有効|

W_STAT is a collection of byte-granular statistics entries.
These entries reset to 0 when read.

|  01B0h| R/W  | W_STAT|          |--ff| [0000]||
|  01B2h| R/W  | W_STAT|          |ffff| [0000]| RX_LengthErrorCount RX_RateErrorCount|
|  01B4h| R/W  | W_STAT|          |--ff| [0000]||
|  01B6h| R/W  | W_STAT|          |ffff| [0000]||
|  01B8h| R/W  | W_STAT|          |--ff| [0000]||
|  01BAh| R/W  | W_STAT|          |--ff| [0000]||
|  01BCh| R/W  | W_STAT|          |ffff| [0000]||
|  01BEh| R/W  | W_STAT|          |ffff| [0000]||
|  01C0h| R/W  | W_STAT|          |--ff| [0000]||
|  01C4h| R    | W_STAT|          |0000| [0000]||

-[1D0 ~ 1DE の15個のエントリは、マルチプレーヤーのエラー応答に関連したものです]
| 01D0h |R/W  | W_STAT |         ff--| [0000]||
| 01D2h |R/W  | W_STAT |         ffff| [0000]||
| 01D4h |R/W  | W_STAT |         ffff| [0000]||
| 01D6h |R/W  | W_STAT |         ffff| [0000]||
| 01D8h |R/W  | W_STAT |         ffff| [0000]||
| 01DAh |R/W  | W_STAT |         ffff| [0000]||
| 01DCh |R/W  | W_STAT |         ffff| [0000]||
| 01DEh |R/W  | W_STAT |         ffff| [0000]||

-内部診断レジスタ (通常使うことはない)
|  01F0h| R/W x|                | ---3| [0000]||
|  0204h| ?/W x|                | fixx| [0000]||
|  0208h| ?/W x|                | fixx| [0000]||
|  020Ch| ?/W x|                | fixx| [0050]||
|  0210h| ?/W x|                | fixx| [0000]||
|  0214h| ?/W x|                | XXXX| [0009]||
|  021Ch| R/W x|                | fbff| [0000] |"割り込み強制" - writing a value here will enable the flags in W_IF|
|  0220h| R/W x|                | ffff| [0000]| has something to do with whether the packet is ignored or allowed by the packet filtering system|
|  0224h| R/W x|                | ---3| [0003]||
|  0228h| ?/W x|                | fixx| [0000]||
|  0230h| R/W x|                | --ff| [0047]||
|  0234h| R/W x|                | -eff| [0EFF]||
|  0238h| R/W x|                | ffff| [0000]||
|  023Ch| ?/W x|                | fixx| [0000]||
|  0244h| R/W x|                | ffff| [0000]||
|  0248h| R/W x|                | ffff| [0000]||
|  024Ch| ?/W x|                | fixx| [0000]||
|  024Eh| ?/W x|                | fixx| [0000]||
|  0250h| ?/W x|                | fixx| [0000]||
|  0258h| ?/W x|                | fixx| [0000]||
|  025Ch| ?/W x|                | fixx| [0000]||
|  0260h| ?/W x|                | fixx| [0FEF]||
|  0264h| ?/W x|                | fixx| [0000]||
|  0268h| ?/? x| W_RXUNITS      | fixx| [0005] |Contains the number of HWORDs written to MAC mem since the start of the packet (this + W_RXHWWRITECSR = next empty word in MAC mem)|
|  0270h| ?/W x|                | fixx| [0000]||
|  0274h| ?/W x|                | fixx| [0001]||
|  0278h| R/W x|                | ffff| [000F]||
|  027Ch| ?/W x|                | fixx| [000A]||
|  0290h| ?/W x|                | fixx| [FFFF]| bit 0 = ? (もしくは未使用?)|
|  0298h| ?/W x|                | fixx| [0000]||
|  02A0h| R/W x|                | ffff| [0000]||
|  02A2h| ?/W x|                | XXXX| [7FFF]||
|  02A4h| ?/W x|                | fixx| [0000]||
|  02A8h| ?/W x|                | fixx| [0000]||
|  02ACh| ?/W x|                | fixx| [0038]||
|  02B0h| ?/W x|                | fixx| [0000]||
|  02B4h| R/W x|                | -1-3| [0000]||
|  02B8h| ?/W x|                | fixx| [0000]||
|  02C0h| R/W x|                | ---1| [0000]||
|  02C4h| ?/W x|                | fixx| [000A]||
|  02C8h| ?/W x|                | fixx| [0000]||
|  02CCh| ?/W x|                | fixx| [0000]||
|  02F0h| R/W x|                | ffff| [0000]||
|  02F2h| R/W x|                | ffff| [0000]||
|  02F4h| R/W x|                | ffff| [0000]||
|  02F6h| R/W x|                | ffff| [0000]||

0x000 ~ 0xFFF の、他のポートは使われません。
(普通のDSでは常に0xFFFF、DSライトでは0x0000です。)
書き込み専用ポート(W)から読み込もうとすると、他のポートのミラーが出現することがあります。
追加で、0x69のベースバンドチップレジスタ(BB)、0x0CのRFチップレジスタがあります。
POWCNT2 と WIFIWAITCNT は、電源管理とウエイトステートの管理をします。


**メモリ
|4000h|R/W|W_MACMEM   MAC メモリ(0x2000 bytes)|
|5F60h|    | 何かに使う。RX リングバッファは含まれない。(ssid に使われる?)|
|5F80h|    |   W_WEPKEY1 (32 bytes)|
|5FA0h|    |   W_WEPKEY2 (32 bytes)|
|5FC0h|    |   W_WEPKEY3 (32 bytes)|
|5FE0h|    |   W_WEPKEY4 (32 bytes)|

DSの他のメモリと違って、WiFi RAMはブート後初期化されません。

-5F80h - W_WEPKEY1 ~ W_WEPKEY4 - Wifi WEP キー (R/W)
これらのWEPキースロットにはWEPキーを入れます。
802.11の暗号化キー ID 0~3として使われます。














----
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。