微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ST17H66 低功耗蓝牙SOC开发2—— keil工程配置介绍

在开发过程中,不需要我们自己从0创建整个工程,只需要以SDK里面已有的工程为模板,在该工程基础上进行开发。例如,如果开发GATT设备,则在simpleBlePeripheral工程基础上开发;如果开发HID设备,则在HIDKeyboard工程基础上进行开发。

本文以SDK_3.1.1.2/example/ble_peripheral/simpleBlePeripheral 工程为例介绍Keil编译工具里的配置设置。

1、打开工程Options选项卡。

2、Device和Target为工程固定信息,不需改动。

3、Output为工程编译输出目录。

4、User为用户自定义区,本工程使用formelf将最终目标文件simpleBlePeripheral.hex生成到bin文件目录。

5、C/C++栏为配置宏定义及文件路径。

        5.1 DEBUG_INFO=1 为打开工程调试信息。

        5.2 CFG_SLEEP_MODE=PWR_MODE_SLEEP 为配置低功耗,

        PWR_MODE_NO_SLEEP为不使能低功耗,IC为全功耗运行。

        Include Paths为需要添加文件路径。

 6、Linker栏的scatter File可以配置XIP

XIP

eXectue In Plaec,指芯片内执行。应用程序可以直接在norflash内运行,不必再上电把代码读到系统RAM中。需要注意的是,片内执行不是说程序直接在flash内执行,仍然需要cpu进行取指、译码和执行操作。其中的关键就是取指,norflash必须满足cpu一个地址一个指令或数据的要求。

 在配置XIP时,可以将Code较大的文件放在XIP,但是为了保证中断的响应速度,不要将中断服务函数放在XIP(会导致严重问题)。

7、编译输出文件map文件

在Listings文件目录下的.map文件是工程编译输出文件

在Image component sizes处可以查看本工程编译的相关信息:

 可以与分散加载文件scatter_load.sct关联分析,将文件较大的gattservapp,gapgattserver,peripheral等文件放在了XIP中。

 8、查看SRAM使用情况

根据工程SRAM具体使用情况,选择使用几个SRAM块。

SRAM0:32K,0x1FFF0000--0x1FFF7FFF

SRAM1:16K,0x1FFF8000--0x1FFFBFFF

SRAM2:16K,0x1FFFC000--0x1FFFFFFF

在工程map文件搜索__initial_sp,该值即为SRAM真实使用大小。

 __initial_sp的值不能超出64K大小,如果超出,可以使用XIP将部分代码放在norflash中。

原文地址:https://www.jb51.cc/wenti/3279760.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐