nrf51822的蓝牙协议栈称之为softdevice,是一段80k的二进制,需要使用nrfgo studio来烧录到地址为0x00的区段,而程序是烧录到0x14000的地址。如果你不需要使用蓝牙协议栈,只是普通的单片机程序的话,程序烧录到地址为0x00即可(需要先使用nrfgo studio把把整个flash擦除掉,即Erase All)
使用mdk+jlink调试带softdevice程序的时候,可能会不成功。需要打开项目目录下的JLinkSettings.ini,然后把AllowSimulation = 1改为AllowSimulation = 0,这个坑了我很久,以为是softdevice的版本不兼容,下载各种版本的softdevice都不管用,后来试着用nrfgo studio来下载程序,竟然成功了,才发现是jlink的设置问题。
先点击,setting,再点击...选择JLinkSettings.ini,再点击edit,即可打开JLinkSettings.ini,把AllowSimulation = 1改为AllowSimulation = 0