找回密码
 立即注册

微信扫码登录

查看: 337|回复: 0

[BLE SDK] [转载] [Useful Tip] - BLE Single Connection SDK - boot.link file

[复制链接]

48

主题

96

回帖

454

积分

版主

积分
454
发表于 2024-8-24 10:31:54 | 显示全部楼层 |阅读模式
Information
说明:   建议参照本版块置顶帖内容输入必要信息
芯片型号: -
SDK及版本: b85m_ble_single_connection_sdk v3.4.2.0
转自旧论坛作者:wes58

I hope this tip will be useful for somebody.

Recently when I compiled one of the examples from BLE Single Connection SDK I had this error:
E:TelinkIoTStudioopt c32in c32-elf-ld.exe: section .text loaded at [00004000,0000bdc3] overlaps section .retention_data loaded at [000039e8,00004c3f]
make[1]: *** [b85m_ble_single_connection_sdk.elf] Error 1

This required, according to BLE Handbook, to copy correct link file from \boot folder, rename it to boot.link and place it in the root folder of the project

This is a note from BLE Handbook section 1.3
According to the previous introduction, the hardware of 8251, 8253 and 8258 in B85m series is the same, and the hardware of 8271 and 8278 is the same, but the Sram size is different, so users need to modify the boot.link file in the root directory of SDK after choosing different software bootloader files (according to the correspondence in the following table, replace the contents of the link file in the SDK root directory according to the following table), the software bootloader and boot.link of different ICs are shown in the following table.

The problem with this solution is - for me - that if I work on different project configurations and/or use different type of the device which requires different boot.link file, I have to check what file I am currently using and the replace it with correct file. I don't like this idea.
It would be good to replace the boot.link file automatically when compiling the project.
I noticed the solution to this issue in the BLE ZigBee concurrent SDK.

To implement this in the BLE Single Connection SDK (and BLE Multi Connection SDK) you have  to do this:
1. Create a file tl_link_load.sh in root folder of the Project (or copy this file from BLE ZigBee concurrent SDK from \Tools folder)
2. If you create a file, add this text to the content of the file:
#!/bin/bash
echo "*****************************************************"
echo "this is post build!! current configure is 1"
rm -rf $2
cp -f $1 $2
echo "**************** end of post build ******************"

3. In the Project properties for current configuration add to "re-build Steps" the following Command:
"../tl_link_load.sh" "../boot/boot_32k_retn_8253_8258.link" "${workspace_loc:/${ProjName}}/boot.link"

Specify the correct xxxx.link file that you want to use from /boot folder!
See the picture below


The boot.link file will be replaced with the file from the /boot folder every time you change the configuration and compile the project

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Telink forum ( 沪ICP备17008231号-1 )

GMT+8, 2024-12-6 09:24 , Processed in 0.083788 second(s), 20 queries .

Powered by Telink 隐私政策

泰凌微电子版权所有 © 。保留所有权利。 2024

快速回复 返回顶部 返回列表