打开主菜单

谷雨文档中心 β

更改

NRF52832DK-DFU固件升级教程

添加1,752字节2020年1月7日 (二) 14:37
烧录bootloader(Programming the bootloader)
==== 烧录bootloader(Programming the bootloader) ====
在系统启动期间,如果bootloader已经安装,MBR(主引导记录,Master Boot Record)负责启动bootloader。为此MBR必须知道bootloader的开始地址。bootloader开始地址存放到UICR.BOOTLOADERADDR中,UICR.BOOTLOADERADDR被映射在0x10001014。BOOTLOADERADDR被映射在0x10001014(NRF_UICR_BOOTLOADER_START_ADDRESS)。因此,在烧写bootloader之前必须正确的设置UICR.BOOTLOADERADDR的值(这个操作开发者不用担心,bootloader程序已经做了)。 烧写bootloader程序要求以下几个步骤:* 擦除设备* 烧写SoftDevice(使用nRFgo Studio工具)* 编译bootloader* 烧写bootloader ==== 存储空间布局(Memory layout) ====当添加bootloader到设备中时,你必须意识到不同的固件组件放到存储器哪里。 下表展示了不同器件与SoftDevice的存储空间分配:{| class="wikitable"|+!组件!存储空间范围nRF52832(S132 v6.1.x)!存储空间范围nRF52840(S140 v6.1.x)!存储空间范围nRF52810(S112 v6.1.x)|-|Bootloader setttings|0x0007 F000 - 0x0008 0000 (4kB)|0x000F F000 - 0x0010 0000 (4 kB)|0x0002 F000 - 0x0003 0000 (4 kB)|-|MBR parameter storage|0x0007 E000 - 0x0007 F000 (4 kB)|0x000F E000 - 0x000F F000 (4 kB)|0x0002 E000 - 0x0002 F000 (4 kB)|-|Bootloader|0x0007 8000 - 0x0007 E000 (24 kB)|0x000F 8000 - 0x000F E000 (24 kB)|0x0002 8000 - 0x0002 E000 (24 kB)|-|Application area(incl. free space)|0x0002 6000 - 0x0007 8000 (328 kB)|0x0002 6000 - 0x000F 8000 (840 kB)|0x0001 9000 - 0x0002 8000 (60 kB)|-|SoftDevice|0x0000 1000 - 0x0002 6000 (148 kB)|0x0000 1000 - 0x0002 6000 (148 kB)|0x0000 1000 - 0x0001 9000 (96 kB)|-|Master Boot Record(MBR)|0x0000 0000 - 0x0000 1000 (4 kB)|0x0000 0000 - 0x0000 1000 (4 kB)|0x0000 0000 - 0x0000 1000 (4 kB)|}下图展现了nRF52系列器件的默认空间分配。nRF52832有512kB flash大小,nRF52840有1024kB flash大小,nRF52810有192kB flash大小。[[文件:Bootloader memory nrf52.png|居中|缩略图|963x963像素|Memory layout for nRF52]]
[[分类:NRF52832DK]]
[[分类:实验手册]]
119
个编辑