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.

 

 

 

转载于:https://www.cnblogs.com/rfnets/p/8205521.html

nrf528xx芯片的BootLoader烧录是指将BootLoader程序烧录到芯片中,以实现芯片启动后的引导功能。根据引用\[1\]和引用\[2\]的内容,BootLoader是在芯片启动后首先执行的程序,它会检测Bootloader Settings中的数据,如果这些数据指示Flash中有一个有效的Application,则跳转进入Application。BootLoader Settings是Flash中的一段区域,它包含了Application的大小、CRC等数据。因此,在烧录BootLoader时,需要确保BootLoader Settings中的数据正确配置,以确保跳转到Application时配置不会失效。另外,根据引用\[3\]的内容,有些情况下芯片上电后Bootloader会直接进入Application,而不理会DFU Mode。因此,在烧录BootLoader时,也需要留意芯片的具体配置和需求。 #### 引用[.reference_title] - *1* [nrf528xx的p09,p10 配置为 普通的gpio口](https://blog.csdn.net/u012572552/article/details/118445081)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [NRF52832学习笔记(6)——OTA DFU接口使用](https://blog.csdn.net/u012846795/article/details/118916342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值