AnsweredAssumed Answered

IMX6SX boot M4 from DDR

Question asked by Maike Meier on Aug 28, 2017
Latest reply on Mar 16, 2018 by Jefferson Cunalata

Hey there,

 

I am using the UDOO Neo board which has an imx6sx. I was able to build and run an application from TCM using the startup code and linker script from CMSIS. Since my application is going to exceed the TCM space I want to use a different memory region. 

 

According to the device tree there should be 8MB DDR reserved for the M4, starting at 0x84000000.

So I modified the linker script like this: 

 

MEMORY
{
  m_interrupts          (RX)  : ORIGIN = 0x84000000, LENGTH = 0x00000240
  m_text                (RX)  : ORIGIN = 0x84000240, LENGTH = 0x00007DC0
  m_data                (RW)  : ORIGIN = 0x20000000, LENGTH = 0x00008000
}

 

From my understanding, I should be able to boot the M4 in u-boot by doing the following: 

fatload mmc 0:1 0x84000000 test_ddr.bin
dcache flush
bootaux 0x84000000

 

Bootaux should take care of copying the stack and pc pointer values. For the TCM memory layout (m_interrupts starting at 0x00000000) this procedure works, so what am I missing for the DDR?

Outcomes