1. bootloader 的基本功能:

  • 启动应用
  • 几个应用之间切换
  • 初始化外设

nordic nrf52xxx的bootloader主要功能用来做DFU, 可以通过HCI, UART 或BLE通信的更新程序,然而从SDK 比较高的版本仅支持使用BLE来更新固件,如果采用UART/ HCI接口更新固件,请参考SDK11.0或以前版本的例子。

2.   Bootloader 模块架构

        Bootloader moduler
 

3. 自举程序(nrf_bootloader)

    bootloader 程序可以扩张很多功能
  • 特定内存地址的应用程序
  • 如果设备应用还没有完成之前,可以在bootloader 程序里面做些设备硬件的测试
  • 如果你的内层足够大,通过触发外部事件,允许bootloader引导多个不同的应用程序

Programming the bootloader

nordic nrf系列自举程序启动过程

如果系统安装了bootloader, MBR负责引导bootloader, MBR 通过UICR.BOOTLOADERADDR来定位引导程序的位置,所以写bootloader程序时,首先要写入         UICR.BOOTLOADERADDR-程序地址

编程bootloader的过程:

  • 删除设备
  • 编程SoftDevice.
  • Compile the bootloader.
  • Program the bootloader and write to UICR.BOOTLOADERADDR

Using Keil

You cannot write to UICR.BOOTLOADERADDR when using the default J-Link target driver in Keil. Therefore, you must configure Keil to use an external tool, nrfjprog. To do so, select Project > Options for Target 'xxx' and configure nrfjprog.exe as the tool for flash programming. nrfjprog.exe is installed with the nRF5 MDK and must be in the Windows system path. The following screenshot shows the required settings for nrfjprog.exe:

Flash tool configuration in Keil

After configuring the flash command, program the bootloader as you would do with a normal application. If several J-Link emulators are connected, select the one that contains the nRF5 IC that you want to flash.

最新文章

  1. Git-Notes
  2. 手动封装js原生XMLHttprequest异步请求
  3. 文本编辑器的使用(ckeditor/ueditor)
  4. Remoting和Webservice的区别
  5. [转]使用VC/MFC创建一个线程池
  6. codeblocks调试快捷键说明
  7. 六、Struts2的配置文件
  8. OpenGL7-1-快速绘制接口(使用高效的函数接口进行绘制)
  9. 学习笔记之ulimit
  10. 浅析——SCTP协议(转)
  11. listview 与 button 焦点 在item添加下列属性
  12. linux grep 和 sed使用
  13. C#版 - Leetcode 414. Third Maximum Number题解
  14. struts1与struts2的区别。
  15. HBase和Phoneix使用示例
  16. Wix制作安装包
  17. Django-ContentType-signals 实现牛逼玩法
  18. exception 值太大
  19. 【转】服务器添加新用户用ssh-key 登录,并禁用root用户 密码登录
  20. Js 中的false,零值,null,undefined和空字符串对象

热门文章

  1. ES6特性整理
  2. 本地模拟 gitlab ci 的 demo 项目
  3. Python日志功能与处理逻辑
  4. vue | 基于vue的城市选择器和搜索城市对应的小区
  5. 从CSDN博客下载的图片如何无损去水印
  6. Redis单机安装以及集群搭建
  7. 查看 JVM 参数的默认值
  8. 刷题[WUSTCTF2020]朴实无华
  9. 微服务分布式电商项目学习笔记(三)---- docker介绍安装以及使用docker安装软件(2020/7/10)
  10. HTML你好!