AnsweredAssumed Answered

M4 FreeRTOS Application from DDR in i.MX8QXP

Question asked by ajmalali on Oct 9, 2018



I am trying to develop a custom FreeRTOS application  in i.MX8QXP MEK Hardware. I am using SDK2.3 from NXP. I was able to build and run an application from TCM using the startup code and linker script from the SDK examples. 


m_interrupts (RX) : ORIGIN = 0x1FFE0000, LENGTH = 0x00000A00
m_text (RX) : ORIGIN = 0x1FFE0A00, LENGTH = 0x0001F600
m_data (RW) : ORIGIN = 0x20000000, LENGTH = 0x00020000
m_data2 (RW) : ORIGIN = 0x88000000, LENGTH = 0x08000000


Since my application is going to exceed the TCM space I want to use a different memory region(DDR). I also found the build scripts for the same from the SDK,


m_interrupts (RX) : ORIGIN = 0x88000000, LENGTH = 0x00000A00
m_text (RX) : ORIGIN = 0x88000A00, LENGTH = 0x001FF600
m_data (RW) : ORIGIN = 0x88200000, LENGTH = 0x00200000
m_data2 (RW) : ORIGIN = 0x88400000, LENGTH = 0x07C00000


I was able to build the application but is not able to run the same.  

I am using mkimage to generate the binary,


mkimage_imx8 -soc QX -c -scfw scfw_tcm.bin -m4 testApp.bin 0 0x88000000 -out testAppFlash.bin


and flash the final binary to SD card,


sudo dd if=testAppFlash.bin of=/dev/sdb bs=1k seek=33 conv=fsync


But there is no response. How can i run my application from DDR?

Please help.