nRF52832——由SDK12.3改为SDK15.2,底层驱动兼容性问题

版权声明:本文为博主原创文章,未经博主允许不得转载,联系邮箱[email protected] https://blog.csdn.net/w464960660/article/details/84891751

【问题】:因项目需要使用FreeRTOS操作系统,原SDK12.3 中的FreeRTO还是8.0版本的,太老了,担心有BUG,所以切换到了SDK15.2版本开发,对应的FreeRTOS是10.0版本的,但是移植底层驱动时发现不兼容,比如加了个串口,提示如下错误:

.\_build\nrf52832_xxaa.axf: Error: L6218E: Undefined symbol app_uart_init (referred from main.o).

【根因】:SDK12.3和15.2对部分驱动文件进行了修改,原\components\drivers_nrf 路径下的文件重新定义,新的驱动放在了\modules\nrfx\drivers路径下面,变成了nrfx_uart.c,旧的驱动放在\integration\nrfx\legacy目录下,即nrf_drv_uart.c,所以为了兼容,两个驱动文件都要加入工程中;

例如加入串口,在SDK15.2需要加入如下.c文件:

.文件:

在sdk_config.h中开启相应外设; 

扫描二维码关注公众号,回复: 4594890 查看本文章

猜你喜欢

转载自blog.csdn.net/w464960660/article/details/84891751