开发所需要的硬件设备: 1.MiniUSB线一条 2.BLE400板子一块
3.Jlink一个(这个是自己网上买的~30块吧) 以上,硬件准备就结束了。 下面开始啃资料吧: 该板子是微雪电子提供的,所以到他们官网上下载软件,应有尽有啊~~~
接下去,你需要安装如下软件: 1、Keil MDK---用于写代码咯。 2、nrf51_sdk_v5_2_0_39364.msi 这个是官方的sdk安装包, 安装路径默认在:C:Program Files (x86)KeilARMDeviceNordicnrf51822.... (注,我安装都是默认让它装在c盘中)。安装完还会弹出一个网站哦: C:Program Files(x86)KeilARMDeviceNordicDocumentationhtmlindex.html 这个网站是Nordic关于BLE的Api参考文档,我们以后会需要用到~~)。 3、nRFgo studio (该软件是nordic官方提供的,用于烧写蓝牙SoftDevice层,先不着急使用这软件,如上的传送门可以下载到) ~把所有资料都下载到一个文件夹里~只要是资料,统统下下来。这样,文档部分也准备完成了。 建议看看Core51822-Schematic.pdf 跟BLE400-Schematic.pdf 了解下板子的“构造”(当然主要关注下编程接口咯) 小试牛刀: 打开示例工程:(blink_example~~就是一闪一闪的意思吧) C:Program Files(x86)KeilARMDeviceNordicnrf51822Boardpca10001blinky_examplearmblinky.uvproj 编译下-通过。将jlink 与板子连接在一起,接线的话按照原理图:
点开kile中的魔术棒(TargetOption)进行如图的设置,理论上如果jlink识别到了芯片,在SW Device中是会显示device 的IDCODE的~如下的长椭圆中显示一样。
再顺便看看FlashDownload中的东西吧(一般默认工程是不需要更改的,我们看看就好,不要改动哈,至于为什么以后解释)
好了,目前看这样的设置是没问题的,可以debug了。 但是问题出现了~为毛不能debug呢?
解决方法: 打开nRFgo Studio,在DeviceManager中选中nRF51 Programming,在右侧有个EraseAll(方框),点击下哈~~至于为什么~等下解释。)
擦除后,回到Keil中,重新debug,就成功咯~~~ 至于为啥? 简单理解, 1.SoftDevice --- 这东西就是Nordic实现BLE协议栈的部分。 2.想开发个BLE应用需要 SoftDevice + 用户Application ,这样才能成功的开发。开发时需要烧写两部分东西: 1、先烧写SoftDevice s110_nrf51822_6.0.0_softdevice.hex (peripheral角色) 或 s120_nrf51822_1.0.0-1.alpha_softdevice.hex(Center角色)。(比如烧写在flash地址0x0000 0000 - 0x0000 ffff中 2、再烧写用户写的应用程序。比如烧写到0x0000 ffff 到 0x00ff 0000 中。 3.Blink_example是闪灯的程序(该程序并不具备BLE功能,纯属裸机调试实际代码是烧写到flash地址:0x0000 0000 到 0x00ff 0000 中的)
总结以上3点,用户在开发BLE应用的时候只需要烧写一次SoftDevice(只会擦除 0x0000 ffff 到 0x00ff0000 之间的内容,Softdevice这部分是不会被擦除滴(想擦除需要使用nRFgo Studio)。 因为我们的Blink_example DEBUG的时候需要将0x0000 0000 到0x 00ff 0000 的地址全部擦除(竟然想连SoftDevice层一起擦除!!!Nordic芯片不干~~~因此就报错咯)。
|