nRF52832开发环境搭建

2018年7月25日

52832基于 Cortex-M4F 内核,Cortex-M内核用的比较多的开发环境就是keil-MDK或IAR了,52832的大部分介绍都以keil为主,所以是使用keil-MDK作为开发环境

(环境搭建已经很久了,所以如果有什么不对错误的地方可以提醒我)

Keil安装

下载keil的MDK版本(mdk就是为了Arm Cortex设备开发使用的,除此之外还有c51为8051,c251为80251和C166为C166 XC166 XC2000设备使用)
官方下载地址:https://www.keil.com/download/product/ 选择MDK-Arm,跳转页面需要输入个人信息,随便填就好了比如全部填1(Emal要Email格式即可),提交后就可以下载了.
懒得填的我也上一份官方实际下载地址:MDK-ARM Version 5.25

目前(2018年7月25日08:08:52)是最MDK的最新版本5.25,后续更新后这个链接还是能用,但是下载下来就不是最新版本了

下载安装后,未注册的keil只能编译2M一下的程序,所以还需要购买激活或是破解.

Pack安装

从Keil5开始,keil支持的ic并不是keil下载安装时就直接安装好使用,而是另外打包成PACK,需要单独安装.这样好处就是下载安装包时不需要再像之前一样下载1个G左右的大小,但是坏处也很明显,操作麻烦了许多~
nrf52832的Pack包Nordic提供了,keil软件中也可以直接找到下载,为了方便直接使用软件提供的打开Keil的Pack Installer,在这里:



打开后在Devices中选择Nordic Semiconductor,选择nRF52 Series,Packs窗口中 Device Specific应该就有相关内容了(如果没有,点击一下左上角的刷新)


nRF52832开发环境搭建_第1张图片
image.png

DeviceFamilyPack要装,其他的...建议装,不过后来发现Drivers Libraries什么的都是用的sdk里面的了~

至此keil的配置应该是完成了

nRF52832的资源下载

nRF52832官网页面
nRF52832将代码分成了3部分Softdevice,app,bootloader
app就是我们自己开发的程序了;bootloader和其他设备的bootloader功能差不多,主要是为了实现在线升级的功能,bootloader非必须.softdevice是Nordic提供的蓝牙协议栈,所有和蓝牙有关的功能都是由此提供,且softdevice不提供源码,不需要蓝牙功能时,可以不使用softdevice.
需要下载的资源:

  1. nRFgo Studio x64 x32:这个软件主要是为了下载程序使用,包括上方的3个部分.由于在某些情况下必须使用此软件清空NRF52832的代码后,Keil才能直接烧录调试,所以此软件必备.
  2. nRF52832的sdk,选择一个合适的版本下载即可,还是推荐最新版本(目前为15.0.0)
  3. Softdevice,选择一个合适的版本就好,注意不同的sdk支持不同版本的softdevice,所以必须下载sdk中说明支持的softdevice,sdk15.0.0支持最新版本的softdevice s132 v6.0.0.下载下来除了文档就是个hex文件了,需要使用时需要用nRFgo软件烧录.
  4. 资料文档,nrf52832的资料全部是在线资料,本来打开就慢,还好官方也提供了离线的文档功能供下载:https://developer.nordicsemi.com/nRF5_SDK/,选择对应的sdk,在里面会有个nRF5_SDK-X.X.X_offline_doc.zip就是sdk的离线文档了(里面也有sdk支持的softdevice的api介绍).
    还有52832的specification,在线文档,离线文档也可以在这里下载.
    5.nRF Connect for mobile Google Play Apple 蓝牙调试软件,此类软件有很多了,还是推荐官方的.此软件也有pc端,但是一直没有使用成功,暂时就用手机端吧.

到现在应该就差不多了.

nRF52832的烧录

nRF52832使用SWD烧录程序,也就是买Jlink,然后调成sw模式就好了,只需要两个线(不包括地线)SWDIO/SWCLK,直接与52832的线对应接就好.另外,实际使用中发现swd的频率不能过高,否则可能会出现无法发现设备或是无法烧录的问题,频率需要设置成1M.
使用Keil烧录就不说了,配置好地址什么的直接点烧录就可以了,这里说一下nRFgo的烧录.
其实也是很简单了,插上Jlink后,nRF5x Programming选项就可以点击,按照图操作就好了.


nRF52832开发环境搭建_第2张图片
nRFgo

sdk中例程,如果例程涉及到蓝牙的操作,必须使用nRFgo烧录SoftDevice后才能正常工作,否则是不工作的,而一些不操作蓝牙不用到Softdevice的,如果52832已经烧录了softdevice,那么keil烧录可能会失败,这时必须使用nRFgo Erase all.

你可能感兴趣的:(nRF52832开发环境搭建)