BLE新坑之NRF52811

上家公司不出意外的财务问题,裁员了,拿了4w多的补偿金果断跑路,美滋滋

跑题了,新公司看着做ble的经验招了进来,第一个项目是做NRF52811的,NRF52811是nordic比较新的soc,还支持了AOA/AOD(代理说不支持,芯片说支持,鬼知道呢)

然后移植工程遇到了很多问题,在此记录一下

首先工程用的还是老SDK S112+SDK17(NSC去死系列)

先说说移植的步骤吧,这里大量参考了一位大佬的内容,传送楼如下

【Nordic】nRF52810 BLE Central移植_ZHONGCAI0901的博客-CSDN博客_从nrf51822移植到nrf52810

大佬使用PCA10400做的,我们这里用PCA10100e做(我也试过PCA10400,没成功呜呜呜)

PCA10100e是NRF52820的,基本的改target就不用说了,主要是rom和ram大小

0x19000,使用nrfgo studio参考的

大小则是用0x30000-0x19000计算,ram则是参考log修改即可

ram的话,我随便找了一个工程参考,后面用log看着修改

C++那页的参数修改,不详细解释(主要是我也不全部都知道原理,直接放出结果,有大佬知道欢迎指正)

原内容:

 APP_TIMER_V2 APP_TIMER_V2_RTC1_ENABLED BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52833 FLOAT_ABI_SOFT NRF52820_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT __HEAP_SIZE=4096 __STACK_SIZE=4096

修改后内容:

DEBUG APP_TIMER_V2 APP_TIMER_V2_RTC1_ENABLED BOARD_PCA10100 CONFIG_GPIO_AS_PINRESET DEVELOP_IN_NRF52811 FLOAT_ABI_SOFT NRF52811_XXAA NRFX_COREDEP_DELAY_US_LOOP_CYCLES=3 NRF_SD_BLE_API_VERSION=7 S112 SOFTDEVICE_PRESENT __HEAP_SIZE=4096 __STACK_SIZE=4096

加了DEBUG宏主要为了后面修改ram用

然后默认的外部晶振启动失败,卡死在协议栈启动,因为那会儿不确定模块是不是带了外部晶振,就改了内部晶振

// <0=> NRF_CLOCK_LF_SRC_RC 
// <1=> NRF_CLOCK_LF_SRC_XTAL 
// <2=> NRF_CLOCK_LF_SRC_SYNTH 

#ifndef NRF_SDH_CLOCK_LF_SRC
#define NRF_SDH_CLOCK_LF_SRC 0
#endif

但是还是出了错误

折腾了半天,觉得还是时钟参数的问题,搜了一下,原因是这个

关于nrf52832配置低频时钟来源 | 码农家园 (codenong.com) 

所以修改了时钟源的几个宏,就可以正常启动了

之前外部晶振起振失败,怀疑也是精度的问题,改天验证一下发出来

最后贴上一个debug的好用方法

NRF52832 SDK15.2.0致命错误debug排查定位_仙剑情缘的博客-CSDN博客_nrf52832 fatal error 

本人基本都按这个搞,非常好用

这次用52811主要是用到long range,后续应该还有开坑和填坑比较,如果没有,大概就是一次性搞定了

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值