K64 Linker Different TWR vs FRDM

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

K64 Linker Different TWR vs FRDM

1,461 次查看
Mike_d
Contributor IV

I noticed the twrk64f120 linker has additional lines in it for kernel and boot stack.  Which linker should I be using for my projects, tower vs freedom?

0 项奖励
回复
5 回复数

1,220 次查看
Carlos_Musich
NXP Employee
NXP Employee

Hi Michael,

Definitely you need those segments because they are required by classic MQX (MQX4.x). And both twrk64 and frdmk64 define those segments. If you don't see those segments you are probably looking either a linker file of a bareboard application or a linker file of an application using Kinetis SDK (with or without MQX for KSDK)

The linker files of MQX4.2 applications are located in the paths below, in MQX4.1 is the same path:

C:\Freescale\Freescale_MQX_4_2\mqx\source\bsp\twrk64f120m\gcc_cw

C:\Freescale\Freescale_MQX_4_2\mqx\source\bsp\frdmk64f\gcc_cw


Regards,
Carlos

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

1,220 次查看
Carlos_Musich
NXP Employee
NXP Employee

Hi Michael,

Which MQX version are you using? I compared the following MQX4.2 linker files:

C:\Freescale\Freescale_MQX_4_2\mqx\source\bsp\twrk64f120m\gcc_cw

C:\Freescale\Freescale_MQX_4_2\mqx\source\bsp\frdmk64f\gcc_cw

The segment definitions are exactly the same, the only difference  as daniel said is that the twrk64 linker file contains labels for external MRAM address space which are used in BSP to initialize Flexbus and configure it to communicate with MRAM in TWR-MEM board. frdmk64 BSP does not initialize flexbus because it is not intended to demonstrate flexbus connectivity.


Regards,
Carlos

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

0 项奖励
回复

1,220 次查看
Mike_d
Contributor IV

Hi Carlos,

The version of MQX is 4.1.1.  I'm trying to figure out if I need the kernel and boot stack entries at all.

Regards,

-Mike

0 项奖励
回复

1,220 次查看
danielchen
NXP TechSupport
NXP TechSupport

Hi Michael:

Yes, the following 4 lines are exist in twrk64f120 link fils, but not in freedomK64 link file.

define exported symbol __EXTERNAL_MRAM_ROM_BASE = 0x60000000;

define exported symbol __EXTERNAL_MRAM_ROM_SIZE = 0x00000000;

define exported symbol __EXTERNAL_MRAM_RAM_BASE = 0x60000000;

define exported symbol __EXTERNAL_MRAM_RAM_SIZE = 0x00080000;

your link file depends on your board, if there is no MRAM in your board, you do not need to add the four lines into your link file.

Regards

Daniel

0 项奖励
回复

1,220 次查看
Mike_d
Contributor IV

Hi Daniel,

What about these entries?

    /* kernel space starts after RAM variables (Location of MQX Kernel data + MQX heap) */

    end_of_kd   (RW): ORIGIN = 0x2002FFF0, LENGTH = 0x00000000

    /* Boot stack reused by MQX Kernel data */

    bstack          (RW): ORIGIN = 0x2002FA00, LENGTH = 0x00000200  /* Boot stack */

    end_bstack  (RW): ORIGIN = 0x2002FC00, LENGTH = 0x00000000  /* Boot stack end address requires 4B alignment */

Regards,

-Mike

0 项奖励
回复