博主简介
本人从事物联网电子行业,曾从事PCB Layout以及WiFi、BLE、SoC SDK开发,在PCB Designe上对RF颇为了解;在软件上对各大厂商WiFi SoC、BLE SoC、单片机,以及RTOS、汇编有深入研究。具有诸多开发经验以及批产经验。目前就职于杭州某物联网公司。
1、SDK Patch添加
1.1SDK Patch说明
SDK Patch是Telink发布的对于基线版本的SDK维护包,需要用户手动进行添加到基线SDK当中,TLSR8232 SDK Patch中有三个很重要的版本:
- MTU exchange bug修复
- suspend wakeup bug修复
- ic flash costdown 适配
剩余的都是一些比较小的bug修复了。
1.2SDK Patch添加步骤
打开Patch和SDK,进行解压:
打开SDK Patch的文件夹,里面有patch list,记录了七个Patch包的修复记录和日期。
依次的打开0001Patch,注意,Patch的添加要按照01-07的顺序进行,后续若Telink官方有发布更新的Patch也按照该方法去添加后续发布的Patch即可。
Patch包中有readme文档,文档中记录了该Patch包中需要替换SDK中文件的路径和名称。
按照readme的要求,依次的复制Patch包中的各个文件到SDK指定的路径进行替换(添加)动作即可。
例如0001号Patch包的添加位置:
在替换的时候,都应有替换弹窗,没有替换弹窗就要注意了,有可能是复制错了文件夹。
需要注意05号及其以后的Patch,该Patch即替换了costdown flash的driver文件,05号Patch中有新添加一个名为flash的文件夹。
依次的替换OK总计7个Patch之后,就可以导入IDE进行编译了。
2、SDK 导入IDE
打开IDE主界面,在IDE的工程树上右键单击,点击import。
在弹窗中选择general中的existing projects into workspace,然后点击下一步。
选择SDK的存储路径,注意是路径,SDK是没有启动器的,选择路径后自动识别。
路径选择好之后在projects列表中会看到工程,打上对勾电机finish即可。此时就可以看到在工程树中已经有一个名为ble_sdk_hawk的工程。
3、SDK IDE配置方法
接下来进行工程的配置,在工程上右键选择Properties或选择工程后按快捷键Alt+Enter。
在弹窗中按照下图进行配置,选择编译module工程,后续所有的操作都是基于module工程进行的,配置好之后点击OK保存关闭即可:
在IDE主界面点击小锤子右侧的下箭头选择5316_module工程。
点击之后工程会自动进行一次编译:
在这里我们还是手动的进行一次clean动作,注意后续在写程序时,更改.H文件之后需要进行clean动作,正常的cuild操作是不会重新构建.h文件的,所以会导致编译不进去的问题。
在编译完成之后,IDE的console会输出如下信息:
需要注意的是如果编译出错请尝试使用未添加Patch包的SDK进行编译,如果未添加Patch的编译通过即Patch添加过程中有文件复制错了。如果未添加Patch的SDK也编译报错很大可能是IDE没有安装好或路径太深了。
还需要强调一点,IDE中除了console窗口之外所有的log输出窗口的内容都是不准确的,没有参考价值的。
编译完成之后我们打开工程路径所在的资源管理器,看到目录下的5316_module文件夹,这个文件夹中存储的是编译产生的所有信息,包括.list、.map、.bin、.o、.asm等可执行和中间文件。
在文件夹中打开,看到编译最后生成的.bin文件将是后续下载所需要的文件,具体的下载流程下一章节描述。
4、SDK main函数
展开工程中的vendor文件夹,vendor文件夹中存储了多个工程文件,Telink的多个例程工程是并存的,打开5316_module文件夹,当中有main.c这个主文件将是我们后续更改程序的真实入口。
需要注意除5316_module之外的别的工程中,都有相同的main.c和其他文件存在,但这些文件是不参与编译的。在改代码的过程中注意不要改错工程文件。
喜欢使用vscod的小伙伴注意屏蔽掉以上的其他工程文件夹,避免在点击跳转或搜索等工程的使用时跳转到其他工程文件。
5、编辑器
在这里我展示source insight的工程导入,喜欢vscode的伙伴自行添加噢。在SDK路径下建立si文件夹用于存储source insight工程文件。
source insight添加文件,除编译生成的5316_module文件夹不添加和vendor下只添加5316_module、common、link_layer文件夹。下图所示红框的文件夹都不添加,即避免别的工程文件:
编译,OK,添加完成。后续我的代码更改将全部在source insight中进行编译,Telink IDE中进行编译。
到此大功告成,下章节演示开发板的接线和程序的下载。