logo资料库

NRF52832概述.doc

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
Nordic蓝牙芯片nrf52832的架构和开发
Nordic 蓝牙芯片 nrf52832 的架构和开发 来源:21ic 整理 关键字:Nordic 蓝牙芯片 相比 TI 的 CC254X、DIALOG 的 DA1458X,nordic 推出的 nrf51822 和 nrf52832 在架构和开发商都有自己独特的地方。这几颗产品都是蓝牙低功耗芯片。DA1458X 使 用 OTP 硬件架构,功耗低,成本也低,但软件开发难度是个门槛,大团队才能做到量 产,当然掌握了也是竞争力(想学习开发就参考博主之前的分享吧)。如果对三种架构都 很熟悉,然后从开发的角度做个比较,相信对 nrf52832 的架构和开发会更新青睐。 1. nrf52832 有 64K 的 ram 和 512K 的 flash,开发人员应该很喜欢吧。 2. nrf52832 是 cortex M4,官方 SDK 使用 KEIL 5 on ARM,也很熟悉。当然功 耗也低,SDK 也有低功耗的软件架构,容易掌握。 3. nordic SDK 分成 softdevice、bootloader 和 application 三个部分。 Softdevice 以 bin 提供,主要是操作系统和 BLE 协议和 RF 操作相关的程序,这部分 不对外公开,熟悉接口即可。TI 的 SDK 对外公开操作系统 OSAL,开发人员更能全局 掌控,DA1458X 隐藏固化了操作系统和 BLE 协议,但是却公开了一些 RF 硬件寄存器 的操作细节,而这个寄存器的 SPEC 都找不到,对于开发人员来说,看到自己搞不透 也不需要关心的细节并不好。 不过 nordic 的 softdevice 有几个版本,目前最新 3.0,每个版本支持不同的 SDK, 目前最新 13.0。版本多了,然后分别发布会让新手迷惑。
4. 由于 memory 足够大,所以 nordicSDK 在 DATA RAM 和 CODE 上对 softdevice、bootloader 和 application 三者的 memory layout 安排也很清晰。 5. DFU 设备固件升级、OTA 固件空中升级是 BLE 架构必备的模块。TI 和 DIALOG 都是在应用层集成 DFU 进行固件空中升级,在 bootloader 负责版本校验和加载,因 此应用和 bootloader 是共同负责 DFU,需要协调配合。但 nordic 只让 bootloader 负责 DFU 空中升级,并做好校验和加载,工具链也简单。应用只需要负责一件事,就 是接收到 DFU 命令就 reset 到 bootloader 即可,其不需要关心 DFU 的过程。这也是 本人喜欢 nordic 架构的原因,当然,这是要损失一部分代码空间的,从成本角度不划 算,但是 nordic 提供的 flash 也足够大了。 6. 增加一个应用和 profile 的架构比较简单,跟 ti CC254X 差不多,dialog 要难 一些。 7. 友好支持集成模块,如 GPIO、I2C,uart,flash 等,接口容易掌握,但是实 现细节要弄懂也没那么容易,哈哈。 8. SDK 的应用分层做得比较好,硬件模块有对应的硬件驱动 driver,SDK 还会进 行在驱动基础上进行再次封装,以库 library 的形式供应用使用,降低开发难度。如
nrf_drv_gpiote 是驱动,上层还会分别封装提供 app_button 按键接口、电平中断接 口 app_gpiote 等。 9. SDK 提供的 GPIOTE 模块是一个按键消息接口,比较有特色。其利用 button 集成消息模块,支持将消息安装到对应的某个按键上,也就是在广播状态时按这个键 发出的消息和连接时发出的消息是不一样的,这样易于应用处理,架构也比较清晰。 但是要花时间才能理解这个模块。 10. SDK 的例程非常丰富。 11.SDK 的开发文档支持也非常详尽,入门到深入都相对容易。
分享到:
收藏