Other Parts Discussed in Thread: UNIFLASH, CC2642R,
使用的SDK版本是simplelink_cc2640r2_sdk_1_40_00_45
因为硬件的设计是没有使用32.768K的外部晶振,所以之前是使用的simple_peripheral例程中的RCOSC配置
查到SDK中有simple_peripheral_oad_onchip例程,考虑是把功能移植过来,但是应该也需要对这个例程做RCOSC相关的操作
按照文档指引,如下操作:
1、在bim_oad_onchip_cc2640r2lp_app中将ccfg_app_ble.c状态进行exclude from build操作
2、在simple_peripheral_cc2640r2lp_oad_onchip_app,将相关文件(rcosc_calibration.c, rcosc_calibration.h and ccfg_app_ble_rcosc.c)直接复制粘贴到simple_peripheral_cc2640r2lp_oad_onchip_app\Application路径下,增加宏定义USE_RCOSC,文档中的其他操作在这个配置的源码中都已经实现。
3、编译时,报错
查找这个函数,发现是有定义的,但不知道为什么报错,重新添加头文件也不行。我就暂时注释掉了RCOSC_enableCalibration()中的语句HCI_EXT_SetSCACmd(500);
3、这样操作完成后发现编译simple_peripheral_cc2640r2lp_oad_onchip_app生成的bin文件会超出0x9000,占用后面的空间,造成在使用UniFlash时报错overlap,因此在宏定义中修改POWER_SAVING_____X取消低功耗,这样就不会超出
4、simple_peripheral_cc2640r2lp_oad_onchip_stack中也修改POWER_SAVING_____X取消低功耗
5、重新编译后,使用UniFlash将3个hex文件、1个bin文件烧写进芯片,使用手机可以扫描到设备名为“SBP OAD APP v001”的设备,点击连接但是一直是建立连接失败。这样情况和代码未做相关修改时类似(测试用的硬件上没有32.768K晶振)
6、请问这样操作是否正确?如果正确的话,最后结果不正确还有其他原因吗?
7、另外,如果不需要使用低功耗功能,在宏定义中将POWER_SAVING注释或修改,是不是不用做上述的相关的操作就可以直接使用?但是这样似乎是不行的,之前在simple_peripheral例程中,这样使用还是出现连接失败的情况
感谢回复