LoginSignup
1
1

More than 5 years have passed since last update.

Realtek Ameba のイメージフォーマット

Last updated at Posted at 2016-06-21

Realtek ameba (RTL8711AF, RTL8711AM, RTL8195AM)のファームウェア書き込み用イメージフォーマットについて調べました。

Realtek amebaではSDKでram_all.binを生成して書き込みツールで書き込みます。
イメージ生成ツールを作成したいのでram_all.binのフォーマットについて調べました。

ram_all.bin のフォーマット

  • 形式はバイナリ
  • 0x0000-0x7FFF は Image1 と呼ばれるブートローダーの領域。sdkに含まれるram_1.p.binの内容をコピーする
  • 0x8000-0x8FFF 予約領域 0xFFでパディング
  • 0x9000-0x9FFF は 0xFFでパディング。 flashのこの領域にはmacアドレス等の設定データが含まれる。ファームウェア書き込み時には、設定データを保持するためにこの領域は書き換えない。
  • 0xA000-0xAFFF は0xFFでパディング。flashのこの領域はWLANのRFの調整値が含まれる。上と同様に書き換えない。
  • 0xB000 以降が Image2と呼ばれる ファームウェアの領域。ファームウェアにはSRAM領域とSDRAM領域の二つが含まれる。
    • 0xB000の先頭16バイトはヘッダ
    • 4バイトはSRAM領域のサイズ
    • 4バイトはSRAM領域をARMメモリマップ上に配置する際のアドレス(0x100060000)
    • 8バイトはsignature.デフォルトのsignatureは "81958711"の文字列
    • 16バイト目以降がSRAM領域のコードとデータ
    • 4バイトはSDRAM領域のサイズ
    • 4バイトはSDRAM領域をARMメモリマップ上に配置する際のアドレス(0x300000000)
    • 8バイトは0xffでパディング
    • 16バイト目以降がSDRAM領域のコードとデータ

ram_all.binの例

  • Image2のSRAM領域のヘッダ
000b000 60 01 03 00 00 60 00 10 38 31 39 35 38 37 31 31
  • Image2のSDRAM領域のヘッダ
  • SDRAM領域は0xb010 + SRAM領域のサイズ(この例では0x30160) = 0x3b170から始まる。
003b170 20 b2 00 00 00 00 00 30 ff ff ff ff ff ff ff ff

参考

  • SDKに含まれる UM0034 Realtek Ameba-1 memory layout.pdf
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1