Linker script for Zigbee. kw41z

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Linker script for Zigbee. kw41z

2,589 Views
yaroslav_kyryle
Contributor I

Hey.
I am trying to add a Zigbbe stack to my project. I'm having problems transferring the Zigbbe stack to my device. I use KW41Z and MCUXpresso. The SDK examples use the default linker script MKW41Z512xxx4_connectivity.ld, but my project uses a bootloader and automatic generation of the linker script. How to make an auto generation layout script for zigbbe?
Or Where can I find a guide on how I can create a linker file for my tasks.

Tags (1)
0 Kudos
7 Replies

2,232 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hello Yaroslav, I hope you're doing well!

 

While developing applications and programs for Zigbee stack, we usually recommend you take one of the provided examples from the SDK and then implement your program from that point and not the other way around.

 

I'm sorry to say, but there is no such guide to create for auto generation of a linker script. However, the thing I could recommend you to do is to check out the OTA examples in the SDK, as those contain a different bootloader from the usual one included in the other examples.

 

Best regards,

Sebastian

0 Kudos

2,232 Views
yaroslav_kyryle
Contributor I

Hello Sebastian,

Thanks for your reply. I also wanted to ask about the memory sectors that are used in MKW41Z512xxx4_connectivity.ld (TEXT_region1, m_flash_config_region, TEXT_region2, NVM_region, DATA1_region, DATA2_region, PRODUCT_INFO_region). Do you have information about these memory sectors?

0 Kudos

2,232 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hello Yaroslav,

 

Do you mean the definition of those sections, like in general MCU's? Or the specific contents of those memory sectors in the KW41z's linker script?

 

Best regards,

Sebastian

0 Kudos

2,232 Views
yaroslav_kyryle
Contributor I

Yes, the specific contents of those memory sectors in the KW41z's linker script

0 Kudos

2,232 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hello Yaroslav,

 

The different regions contain the following:

 

DATA_region1:

   Contains the BSS region of memory.

TEXT_region1:

   Contains Interrupt vectors

PRODUCT_INFO_region:

   Contains the product data.

TEXT_region2:

   Contains the program text and constant values, ARM data, constructors and destructors.

DATA_region2:

   Uninitialized data, heap, stack, NVM table

NVM_region:

   Specifies the Non Volatile Memory region.

 

I hope this helps,

Best regards,

Sebastian

0 Kudos

2,232 Views
yaroslav_kyryle
Contributor I

Hello Sebastian,
Thanks for your reply. It helps me.
I have new questions.
I started the zigbee stack, but the zigbee size is very large.
I found the document "ZigBee® 3.0 Software for the Kinetis MKW41Z Dual-Mode Wireless Microcontroller, Version 6.0.8".

Item 8 “Recommended memory configurations” contains tables with the size of memory used for the zigbbe.

What optimization level is used to obtain the memory sizes indicated in the table ?

0 Kudos

2,232 Views
Sebastian_Del_Rio
NXP Employee
NXP Employee

Hi Yaroslav,

 

To obtain the memory sizes for default memory configurations of different device types found in the document you found, each device's code gets built using its corresponding "Release" build configuration in IAR Embedded Workbench IDE. 

 

For additional information on code sizes for the different demo projects, you can check the corresponding document provided with each Application Note, inside the examples folder provided with the SDK.

 

Best regards,

Sebastian

0 Kudos