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?