皆さん、こんにちは
i.MX 8M Plus EVKをQSPI NORで使い始めるのに苦労しています。
「uuu -b qspi firmware.bin」を使用して8M Miniをフラッシュする方法の説明を見つけました。しかし、これはうまくいかないようです
私のEVKには、NORフラッシュにロードされたブートイメージが付属しているようです。
u-boot=> sf probe
SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
u-boot=> sf read $loadaddr 0 0x100
device 0 offset 0x0, size 0x100
SF: 256 bytes @ 0x0 Read: OK
u-boot=> md $loadaddr
40400000: 412000d1 007e1000 0005fc00 00000000 .. A..~.........
40400010: 007e0fe0 007e0fc0 0080b7c0 00000000 ..~...~.........
40400020: 007e0bc0 0002cc00 00000000 00000000 ..~.............
40400030: 00000000 00000000 00000000 00000000 ................
40400040: 1400000a d503201f 40200000 00000000 ..... .... @....
QSPIのコードを使用してM7をフラッシュして起動する方法に関するアプリノートはありますか?
オフセット0にflash_debug/hello_world.binでフラッシュをプログラムしました。
u-boot=> load mmc 1 $loadaddr hello_world.bin
18664 bytes read in 4 ms (4.4 MiB/s)
u-boot=> sf probe
SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
u-boot=> sf erase 0 0x5000
SF: 20480 bytes @ 0x0 Erased: OK
u-boot=> sf write $loadaddr 0 $filesize
device 0 offset 0x0, size 0x48e8
SF: 18664 bytes @ 0x0 Written: OK私はそれを理解しました...
.binのプログラミング後ファイルをフラッシュに送り、U-Boot で次のコマンドを発行すると、M7 hello_world アプリを実行できます。
u-boot=> sf probe
SF: Detected n25q256ax1 with page size 256 Bytes, erase size 4 KiB, total 32 MiB
u-boot=> bootaux 0x08000000
## No elf image at address 0x08000000
## Starting auxiliary core stack = 0x20020000, pc = 0x0800048D...
そして、UART4 (/dev/ttyUSB3) に "hello world." と表示されます。