nRF53832开发环境搭建
一..nRF52832开发背景
nordic开发环境用的是jlink+52832模块一体的开发板,还是很方便的
1. nrf52832资源:64K的ram和512K的flash还是够用了,资源太强大了
定时器,SPI,功耗,AES硬核,GPIO数量,比较器.....太牛逼了
2. nordic SDK分成softdevice、bootloader和application三个部分。Softdevice以bin提供,主要是操作系统和BLE协议和RF操作相关的程序,这部分不对外公开,熟悉接口即可。
不过nordic 的softdevice有几个版本,目前最新3.0,每个版本支持不同的SDK,目前最新15.2。
亲测15.2好用,不知道为什么15.0编译出错,放过一边。。
3. 由于memory足够大,所以nordicSDK在DATA RAM和CODE上对softdevice、bootloader和application三者的memory layout安排也很清晰。
4. DFU设备固件升级、OTA固件空中升级是BLE架构必备的模块。TI和DIALOG都是在应用层集成DFU进行固件空中升级,在bootloader负责版本校验和加载,因此应用和bootloader是共同负责DFU,需要协调配合。但nordic只让bootloader负责DFU空中升级,并做好校验和加载,工具链也简单。应用只需要负责一件事,就是接收到DFU命令就reset到bootloader即可,其不需要关心DFU的过程。这也是本人喜欢nordic架构的原因,当然,这是要损失一部分代码空间的,从成本角度不划算,但是nordic提供的flash也足够大了。---这个没看懂
5. SDK的应用分层做得比较好,硬件模块有对应的硬件驱动driver,SDK还会进行在驱动基础上进行再次封装,以库library的形式供应用使用,降低开发难度。如nrf_drv_gpiote是驱动,上层还会分别封装提供app_button按键接口、电平中断接口app_gpiote等。
9. SDK提供的GPIOTE模块是一个按键消息接口,比较有特色。其利用button集成消息模块,支持将消息安装到对应的某个按键上,也就是在广播状态时按这个键发出的消息和连接时发出的消息是不一样的,这样易于应用处理,架构也比较清晰。但是要花时间才能理解这个模块。
10. SDK的例程非常丰富。
11.SDK的开发文档支持也非常详尽,入门到深入都相对容易。http://infocenter.nordicsemi.com/。入门可以去看中文开发文档,深入就要多看看英文说明。
二、MDK开发环境,折腾了一圈才搞明白
外设例程有blank和softdevice版本,就是直接操作还是通过softdevice,softdevice的好处是版本迁移甚至芯片移植方便,只要是nordic他们家同样softdevice平台开发的,在不同芯片平台都可以使用,主要向下兼容的时候就减少开发工作量了,比如从51822迁移到52832。
就是keil烧录时候要注意:
1. 如果烧录了softdevice,要用jlink6.4(5.12不行)先擦除,再烧录
2. 如果是blank版本的工程,可以直接编译烧录
3. 如果是基于softdevice开发的工程,注意在下面选项中先选softdevice,然后download,再选择应用,编译后加载
nRF53832开发环境搭建相关推荐
- Android环境搭建和Android HelloWorld—Android开发环境搭建
Android_Android开发环境搭建-搭建Android的开发环境 1.我考虑先下载JDK7.0,在JDK的安装中,考虑一般SDK都是向上兼容的,于是选择了最高的版本7.0 这里是我总结的详细的 ...
- qt工程在linux系统里颜色显示错误_【飞凌嵌入式RK3399开发板试用体验】+QT开发环境搭建测试(二)...
作者:飞扬的青春 在拿到开发板之后,已经体验了Android操作系统,接下来就是体验Linux下的开发,本次以QT的一个小案例来测试下. 首先是自己先搭建了一个Ubuntu18.04的虚拟机,使用真机 ...
- Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序
文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...
- 智能合约开发环境搭建及Hello World合约
如果你对于以太坊智能合约开发还没有概念(本文会假设你已经知道这些概念),建议先阅读入门篇. 就先学习任何编程语言一样,入门的第一个程序都是Hello World.今天我们来一步一步从搭建以太坊智能合约 ...
- iPhone开发环境搭建全过程 iPhone手机开发内容,中文手册
http://3g.edu.csdn.net/kecheng/iphone.html iPhone手机开发内容 http://www.docin.com/p-34874880.html# iPhon ...
- python搭建numpy_python开发环境搭建及numpy基本属性-【老鱼学numpy】
目的 本节我们将介绍如何搭建python的开发环境以及numpy的基本属性,这样可以检验我们的numpy是否安装正确了. python开发环境的搭建 工欲善其事必先利其器,我用得比较顺手的是Intel ...
- windows下pomelo开发环境搭建及JS乱码问题
from: http://blog.csdn.net/wangqiuyun/article/details/9243263 最近一直在研究node.js这一块,为的就是使用网易的pomelo框架,学习 ...
- Android配置----Android开发环境搭建
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...
- JDK安装以及开发环境搭建
无论是Java开发.J2EE以及Android开发搭建环境时JDK开发环境搭建及环境变量配置是必不可少的,这篇文章就来就分别介绍下JDK的下载以及不同平台的环境变量的配置. 1.安装JDK开发环境 官 ...
最新文章
- 更改管理GPO的域控制器
- 关于解决arduino SHT1x诸多问题
- LastPass 释出安全更新修复高危漏洞
- Activity动画效果笔记
- 微信自定义内置返回事件
- 单源最短路 SPFA 算法模板
- while(getchar()=='\n')continue;为什么作用是清空行
- fatal error: Python.h: 没有那个文件或目录 解决方法
- css 盒模型的属性
- NOIP2013NOIP2018USACO 三倍经验铺路题巧妙解法
- Dos命令批量操作复制出26个虚拟盘空间
- Gh0st3.6编译和源码免杀问题
- ENVI Landsat8影像掩膜裁剪
- linux 火狐打不开网页视频,Ubuntu下Firefox不能播放html视频的问题
- c语言大赛评分用数组,C语言大赛现场评分系统
- X86平台操作系统概览 zz
- 1276. 不浪费原料的汉堡制作方案(Medium)
- 使用photoshop以及markman进行快速重构页面的几个步骤
- Android 根据sensor重力感应 app横竖屏旋转
- JS小数取整以及保留小数点后两位