zoukankan      html  css  js  c++  java
  • nrf528xx bootloader 模块介绍

    1. bootloader 的基本功能:

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

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

    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:

    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.

  • 相关阅读:
    git
    sublime text
    WIX安装图文并茂简易说明
    C#利用Lambda和Expression实现数据的动态绑定
    Ubuntu/CentOS下如何将普通用户提升到root权限
    虚拟机安装CentOS6.4用“桥接:直接连接到物理网线”不能上网的原因及解决方法
    C#利用lambda表达式将函数作为参数或属性跨类传递
    直接将XML存入到SQL中(SQL2008)
    C# 类中继承接口的属性
    提高开发效率的Visual Studio 2010使用技巧
  • 原文地址:https://www.cnblogs.com/rfnets/p/8205521.html
Copyright © 2011-2022 走看看