Armadilloフォーラム

Armadillo IoTでbootloaderが起動できない

sasa0107

2015年12月1日 12時15分

はじめまして。
東亜無線電機㈱ 笹倉と申します。
Armadillo IoTを使用しております。
アドオンモジュール EEPROM書き込み用 Hermit Atを使用する為、
EPROM書き込み用hermit-atのイメージを書き込みました。
hermit download --input-file loader-armadillo-iotg-std-addon-v3.3.1.addon1.bin --region bootloader --force-locked --port /dev/ttyUSB0

この状態でArmadillo IoTの電源をOFFしてしまい、次に電源ON時にブートローダーが起動しない(hermit >が表示しない)状態になりました。
ブートローダーの復旧作業を行ったところ
① "shoehorn"は成功しました。
ちなみに"shoehorn"のバージョンは、 
  shoehorn-at v2.0.0 built 15:46:19, Dec 8 2014
です。下記に"shoehorn"のメッセージを記載致します。

atmark@atde5:~$ shoehorn --boot --target armadillo4x0 --initrd /dev/null --kernel /usr/lib/hermit-3/loader-armadillo-iotg-std-boot-v3.6.0.bin --loader /usr/lib/shoehorn/shoehorn-armadillo4x0.bin --initfile /usr/lib/shoehorn/shoehorn-armadillo4x0.init --postfile /usr/lib/shoehorn/shoehorn-armadillo4x0.post --port /dev/ttyUSB0
/usr/lib/shoehorn/shoehorn-armadillo4x0.bin: 1300 bytes (2048 bytes buffer)
/usr/lib/hermit-3/loader-armadillo-iotg-std-boot-v3.6.0.bin: 51752 bytes (51752 bytes buffer)
/dev/null: 0 bytes (0 bytes buffer)
Waiting for target - press Wakeup now.
Initializing target...
Writing SRAM loader...
Pinging loader
Initialising hardware:
- flushing cache/TLB
- Switching to 115200 baud
- Get board IDs
- Initializing for Mobile-DDR
Pinging loader
Detecting DRAM
- 16 bits wide
- start: 0x80000000 size: 0x08000000 last: 0x87ffffff
Total DRAM: 131072kB
Loading /usr/lib/hermit-3/loader-armadillo-iotg-std-boot-v3.6.0.bin:
- start: 0x80800000 size: 0x0000ca28 last: 0x8080ca27
initrd_start is c0400000
Moving initrd_start to c0400000
Loading /dev/null:
- start: 0xc0400000 size: 0x00000000
Writing parameter area
- nr_pages (all banks): 4096
- rootdev: (RAMDISK_MAJOR, 0)
- pages_in_bank[0]: 2048
- pages_in_bank[1]: 2048
- initrd_start: 0xc0400000
- initrd_size: 0x0
- ramdisk_size: 0x0
- start: 0x80020000 size: 0x00000900 last: 0x800208ff
Pinging loader
Starting kernel at 0x80800000

② 次に hermit コマンドでフラッシュメモリの bootloader パーティションにブートローダーイメージを書き込みました。
下記にメッセージを記載致します。
atmark@atde5:~$ hermit erase --region bootloader download --input-file /usr/lib/hermit-3/loader-armadillo-iotg-std-boot-v3.6.0.bin --region bootloader --force-locked --port /dev/ttyUSB0
erasing region bootloader
serial: completed 0x0000ca28 (51752) bytes.
atmark@atde5:~$

この状態で、Armadillo IoTの電源を切って、再起動した際(ttermpro.を使用)
 hermit >
が表示されない(ブートできない)状態になってしまいます。

再度、同様な処理①、②を行って、電源を切らずにttermproに切り替えたところ、
 hermit >
プロンプトは表示されており、ブートは可能でした。
しかし、Armadillo IoTの電源を切って、再度電源ONだと、ブートできない状態に
なってしまします。
何か初歩的なミスを犯しているのかもしれませんが、ご教授頂きたく存じます。
よろしくお願い致します。

コメント

at_ohsawa

2015年12月1日 13時00分

> ② 次に hermit コマンドでフラッシュメモリの bootloader パーティションにブートローダーイメージを書き込みました。
> atmark@atde5:~$ hermit erase --region bootloader download --input-file /usr/lib/hermit-3/loader-armadillo-iotg-std-boot-v3.6.0.bin --region bootloader --force-locked --port /dev/ttyUSB0

ここで書き込むbootloaderのイメージファイルを "boot" の付かない ”loader-armadillo-iotg-std-v3.6.0.bin” にしてください。

sasa0107

2015年12月2日 16時20分

東亜無線電機㈱ 笹倉です。
ご返事が遅くなり、申し訳ございません。
問題なく、bootするようになりました。
有難うございます。

> > ② 次に hermit コマンドでフラッシュメモリの bootloader パーティションにブートローダーイメージを書き込みました。
> > atmark@atde5:~$ hermit erase --region bootloader download --input-file /usr/lib/hermit-3/loader-armadillo-iotg-std-boot-v3.6.0.bin --region bootloader --force-locked --port /dev/ttyUSB0
>
> ここで書き込むbootloaderのイメージファイルを "boot" の付かない ”loader-armadillo-iotg-std-v3.6.0.bin” にしてください。
>