using mfgtools to flash a custom board

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

using mfgtools to flash a custom board

1,038件の閲覧回数
svenbrauch
Contributor I

Hi,

I'm currently trying to get a custom board with an i.MX 7Dual controller running. After fixing a use-after-free bug in mfgtool [1] it actually starts without crashing, and after digging through lots of "error #4" and "error #21" with strace and similar tools, I am at least at a point where it seems to talk to my board over USB.

Some things are very unclear to me, though. First of all, the flashing seems to work by starting a temporary u-boot instance, which then loads a linux kernel, which then does the actual writing to the medium (NAND flash) in this case, is that correct? Where is that u-boot instance supposed to be executed from? Certainly not the DRAM -- that is not configured yet. But the image is several hundred kB in size, so it cannot be the SRAM either because it doesn't fit there. I'm confused. How does this supposedly work in general (I've never used u-boot before), it seems like u-boot is supposed to configure the DRAM controller on startup, but the compiled image is too large to fit into SRAM, so what now?

Is there a way to start a simple bare-metal application using mfgtool? How would the config for that look like?

Any advice would be greatly appreciated.


Thanks and best regards,
Sven

_______________

[1] mfgtools/mfgtoolCLI.cpp at master · codeauroraforum/mfgtools · GitHub  you cannot do this, the temporary string is allocated and the pointer returned by data() is now dangling ... will submit a pull request if I can find the time, i.e. once my board is actually working

ラベル(2)
0 件の賞賛
返信
1 返信

542件の閲覧回数
gusarambula
NXP TechSupport
NXP TechSupport

Hello Sven,

The workflow of the manufacturing tool requires first that the ROM starts he serial downloader mode, which enumerates the USB as an HID host and then downloads a small bootloader from the host to iRAM, which initializes the DDR and loads the bootloader to the DDR so it can then proceed with the process from the DDR.

You may find more details and this explained much better on the following Community document:

https://community.nxp.com/docs/DOC-332977

As for bare board applications, the closest would be the module tests that used to be part of the i.MX6 SDK, which is no longer supported, but you may open a service case asking for the SDK even though as mentioned, no support can be provided for it.

I hope this information helps!

Regards,

0 件の賞賛
返信