1. DFU的核心就是bootloader。
2. DFU接收新固件,然后通过写flash接口,将数据写道Flash中。(虽然nordic是.zip文件,但是他最终发到蓝牙IC的数据肯定是bin文件)。如下图,为.zip里面包含的文件,里面有一个bin文件。

3.我们在对生成OTA的zip文件,用的可全是hex文件,这里生成的确是bin文件,这就是要下发的数据。
4. 其他的文件我认为就应该是加密部分,内部就隐藏起来了。如下图为app.bat和mamifest.json截图(分析可知,app.dat就应该是加密信息,并且这个加密信息肯定和bin文件相关)



1.工程生成的文件,2.使用官方的secure ota生成的文件,5. 协议栈文件
4.生成的中间文件,3.最终将1.2.5合一起的文件
以下为Generate_hex.bat文件,它是一个windows的批处理文件
- nrfutil settings generate --family NRF52 --application app.hex --application-version 1 --bootloader-version 1 --bl-settings-version 1 setting.hex
- mergehex --merge softdevice.hex bootloader.hex app.hex --output setting1.hex
- mergehex --merge setting1.hex setting.hex --output merge_hex_debug.hex

app.hex: 步骤(二)最终合一起的文件
private.pem: 由公钥生成的一串代码

generate_zip.bat: 批处理文件
nrfutil pkg generate --hw-version 52 --application-version 2 --application app.hex --sd-req 0x0101 --key-file private.pem test_dfu_debug.zip