nrf528xx bootloader 模块介绍

1. bootloader 的基本功能:

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

nordic nrf52xxx的bootloader主要功能用来作DFU, 能够经过HCI, UART 或BLE通讯的更新程序,然而从SDK 比较高的版本仅支持使用BLE来更新固件,若是采用UART/ HCI接口更新固件,请参考SDK11.0或之前版本的例子。html

2.   Bootloader 模块架构

bootloader_modules.svg

        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:app

keil_project_flash_tool_nrf52.png
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.svg

相关文章
相关标签/搜索