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!
-----------------------------------------------------------------------------------------------------------------------
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!
-----------------------------------------------------------------------------------------------------------------------
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
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