1 现象
在使用Nodic的nRF5_SDK(例如nRF5_SDK_15.3.0_59ac345)进行开发的时候,如果IDE使用的是keil,在安装了较新的NordicSemiconductor.nRF_DeviceFamilyPack后,重新编译工程,有时候会出现编译错误。
错误提示如下:
RTE\Device\nRF52832_xxAA\system_nrf52.c(30): error: #5: cannot open source input file “nrf_erratas.h”: No such file or directory
2 原因
安装了新的NordicSemiconductor.nRF_DeviceFamilyPack,会自动更新了工程目录下的设备启动文件(system_nrf52.c),新的文件同旧的在包含的头文件上有区别,导致找不到nrf_erratas.h。
3 解决办法
使用nRF52832_xxAA的工程举例:
我们可以从 SDK 的 modules\nrfx\ 文件夹里将 mdk\system_nrf52.c 复制到 工程所在的文件夹的arm5_no_packs\RTE\Device\nRF52832_xxAA\里,替换掉原来的system_nrf52.c,重新编译即可。
如果是52840或者是其他的芯片的工程,方法类似。