首页 » 科学 » 蓝牙DA14580开拓:固件格式、二次引导和烧写_头部_固件

蓝牙DA14580开拓:固件格式、二次引导和烧写_头部_固件

萌界大人物 2025-01-17 13:09:16 0

扫一扫用手机浏览

文章目录 [+]

一、DA14580固件分布

这里紧张解释的是,sdk编译链接产生的固件都是hex格式的,能够直接通过JLINK下载到RAM实行,但是通过官方的smartsnippets工具下载到flash时是须要增加固件头部信息,否则会勾引失落败。

蓝牙DA14580开拓:固件格式、二次引导和烧写_头部_固件 蓝牙DA14580开拓:固件格式、二次引导和烧写_头部_固件 科学

以下是针对flash存储的固件分布,可以看出包括:bootloader、image1、image2和OTA固件分布信息product header。
而bootloader、image1、image2也分别包括一个头部和相应的固件程序。

蓝牙DA14580开拓:固件格式、二次引导和烧写_头部_固件 蓝牙DA14580开拓:固件格式、二次引导和烧写_头部_固件 科学
(图片来自网络侵删)

二、固件头部格式

DA14580内置ROM启动,其只会勾引并运行位于存储起始区域(0地址)的bootloader程序。

Bootloader头部以0x7050开头,头部内容包括Bootloader的长度;

代表运用的image的头部以0x7051开头,头部内容包括image的长度和固件版本;

代表OTA固件分布信息product header以0x7052开头,头部内容包括image1的文件偏移和image2的文件偏移以及产品版本信息。

也便是说,如果终极产品没有OTA功能,那就只须要一个运用的固件,烧写到bootloader所在的地方即可,当然头部也是必不可少的。

三、工具链

官方的smartsnippets工具在烧写固件时只会自动添加0x7050开头的头部,也可以在该工具上构建product header进行烧写。
但对付代表运用的image是须要专门的工具链天生的。

1.Smartsnippets烧写bootloader

选择HEX格式的bootloader,烧写offset偏移是0,擦除erase接着烧写burn,选择“YES”,烧写成功后可以看出flash的固件增加了一个0x7050开始的头部。

2.Smartsnippets烧写product header

3.官方供应的mkimage工具天生运用image

师长西席成bin:hex2bin -e bin app.hex

制作image:mkimage single app.bin ble_580_sw_version.h app.img

Smartsnippets烧写image,选择对应的偏移,烧写时选择“NO”。
由于固件已经有头部信息,不能再增加勾引的头部信息。

关注微信"大众年夜众号:嵌入式企鹅圈,得到上百篇物联网原创开拓分享。
标签:

相关文章