CAT874_serialdownload

CAT874のシリアルダウンロードモードの手順書です。

  • CAT874_RevC は QSPI_FLASH が搭載されています。
  • CAT874_RevE は QSPI_FLASH と eMMC が搭載されています。

boot領域への書き込み方法の手順となります。

flash_writer の公式ドキュメントはこちらです。

Renesas flash_writer の document, source, binary

flash_writer のビルド済みバイナリはこちら

serial download modeにする

power off の状態で sw12 を以下としserial download modeにする

dipsw1_serial.png

654321
ONONOFFOFFOFFOFF
 SCIF Download mode (w/o verification)
 (C) Renesas Electronics Corp.

-- Load Program to SystemRAM ---------------
please send !

"Please send!" というメッセージが表示されたら、TeraTermからMiniMonitorを送信する。

teraterm_send1.png

AArch64_Flash_writer_SCIF_DUMMY_CERT_E6300400_ek874.mot

を選択して送信する(約16秒)

hでヘルプが出ます。

>h
        SPI Flash write command
 XCS            erase program to SPI Flash
 XLS2           write program to SPI Flash
 XLS3           write program to SPI Flash(Binary)

        eMMC write command
 EM_DCID        display register CID
 EM_DCSD        display register CSD
 EM_DECSD       display register EXT_CSD
 EM_SECSD       change register EXT_CSD byte
 EM_W           write program to eMMC
 EM_WB          write program to eMMC (Binary)
 EM_E           erase program to eMMC
 SUP            Scif speed UP (Change to speed up baud rate setting)
 H              help

なお、sup コマンドを使うと シリアルボーレートが 921.6Kbps baud になります。以後のダウンロード時間を短縮するため sup することをお勧めします。

QSPI-FLASHへの書き込み (CAT874_Rev.C - Rev.E 共通)

ファイル名と書き込み先アドレスの一覧
list of files and save address

xls2 コマンドを使ってバイナリファイルを書き込みます。メインメモリの書き込み先、ROMの書き込み先が問われるので次の組み合わせで送信します。

File nameAddress to load to RAMAddress to save to ROM
bootparam_sa0.srecE632000000000
bl2-ek874.srecE630400040000
cert_header_sa6.srecE6320000180000
bl31-ek874.srec440000001C0000
u-boot-elf.srec50000000300000

実行例

>xls2
===== Qspi/HyperFlash writing of Gen3 Board Command =============
Load Program to Spiflash
Writes to any of SPI address.
 Winbond : W25M512JV
Program Top Address & Qspi/HyperFlash Save Address
===== Please Input Program Top Address ============
  Please Input : H'E6320000

===== Please Input Qspi/HyperFlash Save Address ===
  Please Input : H'0000
Work RAM(H'50000000-H'53FFFFFF) Clear....
please send ! ('.' & CR stop load)

"Please send!" というメッセージが表示されたら、TeraTermからbootparam_sa0.srecを送信します。

以後同様に上記テーブルにあるファイルをすべて転送し書き込みます。

eMMCへの書き込み (CAT874 Rev.E のみ)

em_w コマンドを使ってバイナリファイルを書き込みます。メインメモリの書き込み先、eMMC の書き込み先が問われるので次の組み合わせで送信します。

FilenamePartition AreaStart Address in SactorProgram Start AddressDescription
bootparam_sa0.srec1000000E6320000Loader(Boot parameter)
bl2-ek874.srec100001EE6304000Loader
cert_header_sa6.srec1000180E6320000Loader(Certification)
bl31-ek874.srec100020044000000ARM Trusted Firmware
u-boot-elf.srec200000050000000U-boot

実行例

>em_w
Select area(0-2)>1
Please Input Start Address in sector :0
Please Input Program Start Address : E6320000

"Please send!" というメッセージが表示されたら、TeraTermからbootparam_sa0.srecを送信します。

以後同様に上記テーブルにあるファイルをすべて転送し書き込みます。

EXT_CSD

Modify the EXT_CSD registers of eMMC.

>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b1
  Please Input Value(H'00 - H'FF) :0a

>EM_SECSD
  Please Input EXT_CSD Index(H'00 - H'1FF) :b3
  Please Input Value(H'00 - H'FF) :08

起動モード

serial download mode

dipsw1_serial.png

654321
ONONOFFOFFOFFOFF

QSPI boot

dipsw1_qspi.png

654321
ONONOFFONONON

eMMC boot

dipsw1_emmc.png

654321
ONONOFFOFFONOFF

Linuxでのデバイス名

Rev.C と Rev.E では microSD の mmcblkデバイス番号が一つずれます。

  • Rev.C
/dev/mmcblk0  ... microSD
u-boot
=> setenv bootargs 'root=/dev/mmcblk0p2 rootwait'
  • Rev.E
/dev/mmcblk0  ... eMMC
/dev/mmcblk1  ... microSD
u-boot
=> setenv bootargs 'root=/dev/mmcblk0p2 rootwait'       eMMC を rootfsとするケース
=> setenv bootargs 'root=/dev/mmcblk1p2 rootwait'       microSD を rootfsとするケース

関連

自動リンク

外部リンク