RT105x linker script: .rodata in ITC or DTC?

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

RT105x linker script: .rodata in ITC or DTC?

758件の閲覧回数
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 返答(返信)

743件の閲覧回数
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 件の賞賛

736件の閲覧回数
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 件の賞賛

714件の閲覧回数
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 件の賞賛