移植SDK14.2的项目到SDK15.3时遇到的一些问题
每次nordic有新的sdk公布的时候, 如果需要移植老的项目到新的SDK,总会遇到各种的问题。 最近, 我在把一个Nordic SDK14.2的项目移植到SDK15.3时就遇到了很多的问题。 这里总结一些所遇问题的内容和解决方法。
1. 关于更改广播内容。
在SDK14.2 里, 可以直接修改广播内容, 不需要停止广播。 在SDK15.3 里, 修改广播内容的时候, 要先停止广播, 然后修改, 最后再重新广播。
具体就是要加个广播停止函数在 static void advertising_init(void) 的最前面。
static void advertising_init(void)
{
sd_ble_gap_adv_stop(m_advertising.adv_handle)
。。。。。。
}
2 . 加入DFU时候会遇到的错误
2.1 cannot open source input file "nrf_bootloader_info.h"
一般此类的错误都是因为在编译环境里没有添加相应的文件位置。 设置方式, 就是找到缺失文件所在的文件夹, 然后讲路径添加到编设置里。
2.2 identifier "nrf_dfu_set_adv_name_svci_async_t" id undefined
这通常时编译预处理里缺少相关设置。 添加NRF_DFU_SVCI_ENABLED 和NRF_DFU_TRANSPORT_BLE=1到编译预处理里。
今天先写这么多
未完.....