- 作者:
- 分类:知识&开发->MCU SOC->K210
- 阅读:3501
- 点赞:16
- 版权:CC BY-SA 4.0
- 创建:2019-10-14
- 更新:2020-09-15
K210多个文件打包为kfpkg格式的文件, 以及制作flash烧录器使用的固件
版权声明:本文为 neucrack 的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接(持续更新):https://neucrack.com/p/158
原文链接(持续更新):https://neucrack.com/p/158
使用软件打包(推荐)
建议使用kflash_gui进行打包,更方便, 只需选择文件,然后点击打包为 kfpkg 即可.

除了打包成 kfpkg, 还可以打包为bin, 有以下场景会用到:
- 多个bin文件合成为一个bin文件
- 需要将 bin 文件发送给工厂使用 flash 烧录器烧录, 不能直接将固件用于 flash 烧录器的烧录, 而是需要先使用这个打包为 bin 的功能先打包为新的 bin, 然后才能发送给工厂用 flash 烧录器烧录
手动打包
如果需要手动打包或者要知道其原理, 方式如下:
- 新建一个
flash-list.json文件, 写入:
{"version": "0.1.0","files": [{"address": 0,"bin": "XXX.bin","sha256Prefix": true},{"address": 0x00A00000,"bin": "YYY.bin","sha256Prefix": false}]}
这里
XXX.bin是固件名字, 地址为0,sha256Prefix代表需要校验, 只有固件才写true, 这会在固件前面添加校验值.YYY.bin是其它文件,比如模型文件, 烧录到0x00A00000, 不需要添加校验数据正因为这里固件实际在写入到flash时在头加了校验值, 所以不能直接将固件直接用烧录器烧录到 flash, 需要用工具计算校验值(具体校验方法见
kflash.py中的实现), 添加到头后生成的 bin 文件再用烧录器烧录到 flash
- 然后把这三个文件使用
ZIP进行压缩,然后重命名为firmware.kfpkg即可, 没错,实际上是ZIP格式,只是后缀改成了kfpkg方便识别

