nrf528xx bootloader 模块介绍(转载)
转载https://www.cnblogs.com/rfnets/p/8205521.html
- 启动应用
- 几个应用之间切换
- 初始化外设
nordic nrf52xxx的bootloader主要功能用来做DFU, 可以通过HCI, UART 或BLE通信的更新程序,然而从SDK 比较高的版本仅支持使用BLE来更新固件,如果采用UART/ HCI接口更新固件,请参考SDK11.0或以前版本的例子。
2. Bootloader 模块架构
3. 自举程序(nrf_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:
![keil_project_flash_tool_nrf52.png](http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v14.2.0/keil_project_flash_tool_nrf52.png)
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.
相关文章
- python语法re.compile模块介绍
- hashlib模块configparser模块logging模块
- 第三百二十四节,web爬虫,scrapy模块介绍与使用
- 【Python包】安装teradatasql提示找不到pycryptodome模块错误(pycrypto,pycryptodome和crypto加密库)
- Qt系列文章011-Qt模块介绍
- 【微搭低代码】Javascript基础知识-函数及模块介绍
- android 9.0 10.0启用和停用蓝牙模块(蓝牙模块功能开关控制)
- openpyxl模块介绍
- 1.1Spring历史发展和模块定义
- 爬虫日记(21):使用Pipeline模块写入文件二
- 设计与实现经常拥有自己定义模块管理系统(19--设计模块附件[2])
- 内网渗透(二十三)之Windows协议认证和密码抓取-Mimikatz介绍和各种模块使用方法
- Selenium基础 — Selenium中的expected_conditions模块(二)
- 单线程实现并发——协程,gevent模块
- Node.js(一)概述、全局对象/函数、node各模块使用介绍
- 【云原生】Grafana Alerting 告警模块介绍与实战操作
- Python图像处理PIL各模块详细介绍
- zabbix部署【各模块详细介绍】
- 使用pytorch动手实现LSTM模块
- Apache 加载 php 模块