RT105x linker script: .rodata in ITC or DTC?

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

RT105x linker script: .rodata in ITC or DTC?

1,334 次查看
mastupristi
Senior Contributor I

Hello,

when I take an example from the SDK to run in RAM, the linker script results is created with the following section:

    .text : ALIGN(4)
    {
       *(.text*)
       *(.rodata .rodata.* .constdata .constdata.*)
       . = ALIGN(4);
    } > SRAM_ITC

I wonder if better performance would be achieved by moving .rodata* or .constdata* to DTC, since the instruction (to ITC) and data (to DTC) buses are separate.

What drawbacks should there be to doing this? And why are code and (readonly) data mixed in the SDK examples.


best reagrds

Max

标签 (1)
标记 (3)
0 项奖励
回复
3 回复数

1,319 次查看
jay_heng
NXP Employee
NXP Employee

Yes, moving .rodata* or .constdata* to DTC may get better performance. but this kind of image placement is not supported by BootROM, when you want image booted by ROM automatically after power-up.

of course, you can debug such kind of image within IDE project by HW debugger.

0 项奖励
回复

1,312 次查看
mastupristi
Senior Contributor I

you are probably right about the ROM Bootloader not being able to do such a thing, however the SDK examples include the startup code that deals exactly with populating the various types of RAM (ITC, DTC, or OCRAM), so it might not have been an issue.

 

best regards

Max

0 项奖励
回复

1,290 次查看
jay_heng
NXP Employee
NXP Employee

Yes, we can do some section relocate work in app startup code, but it is implemented by special initialization by copy sentence in IDE linker file. that means there is only one continuous block in final image file.

0 项奖励
回复