AnsweredAssumed Answered

m4 reload from linux fails

Question asked by Evan Thompson on Aug 23, 2017
Latest reply on Sep 5, 2018 by D. RY

On an i.mx7d, I can't get reloading the m4 from linux to work. I'm trying the utility from this blog post:

New i.MX6SX & i.MX7D AMP debugging tool: imx-m4fwloader 


The problem is that swapping between 2 different m4 binaries does not work (reloading the same binary repeatedly does work). I'm using a stock sabre board and demo examples from the nxp bsp, so hopefully this will be easy to reproduce.


Setup to reproduce the issue:

i.mx7d sabre board with imx7d-sdb-m4 device tree

Copy these files to the sabre board:

m4fwloader binary from the above blog post

hello_world_ocram.bin example from nxp's FreeRTOS BSP

hello_world_2.bin, a second m4 binary that has one extra printf() call. Replace the hello_world main.c with the attached and rebuild hello_world_ocram. Rename the binary"hello_world_2.bin"


Boot linux and run these commands:

./m4fwloader /path/to/hello_world_2.bin 0x910000

./m4fwloader /path/to/hello_world_ocram.bin 0x910000


After the first command, the m4 starts, and the messages print to the terminal.

After the second command, the m4 will not start.

Original Attachment has been moved to: