IMX6SX boot M4 from DDR

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IMX6SX boot M4 from DDR

跳至解决方案
2,145 次查看
maikemeier
Contributor I

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?

0 项奖励
回复
1 解答
1,777 次查看
maikemeier
Contributor I

solved it:

The M4 had the wrong reference for the vector table, so it tried to access the SysTick_Handler at the wrong address and went wild there. 

在原帖中查看解决方案

0 项奖励
回复
3 回复数
1,778 次查看
maikemeier
Contributor I

solved it:

The M4 had the wrong reference for the vector table, so it tried to access the SysTick_Handler at the wrong address and went wild there. 

0 项奖励
回复
1,777 次查看
jealcuna
Contributor I

Could you explain more in detail how you solve the problem. I have the same, I modify the linker file as same as posted for you here. I can flash the firmware but when I tried to debug it starts but then is not working well. It is doing steps but then it can not do more step (other line or function) and just stay in the same line.

I suspect the same with vector table, but I dont know how to fix it.

0 项奖励
回复
1,777 次查看
igorpadykov
NXP Employee
NXP Employee

Hi Maike

please check AN5127 How to Run the MQX™ RTOS on Various RAM Memories for i.MX 6SoloX

http://www.nxp.com/docs/en/application-note/AN5127.pdf 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复