IMX6SX boot M4 from DDR

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IMX6SX boot M4 from DDR

ソリューションへジャンプ
2,154件の閲覧回数
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,786件の閲覧回数
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,787件の閲覧回数
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,786件の閲覧回数
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,786件の閲覧回数
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 件の賞賛
返信