各位大佬,我用代码生成一个boot.bin 如何添加魔术头?刚入门,不知道咋做?
我运行裸机程序, 裸机代码编译生成的bin文件,是不是也需要添加一个魔术头?
最近编辑记录 zhangyw40 (2024-12-11 14:00:32)
离线
https://github.com/xboot/xboot/tree/master/src/arch/arm32/mach-f1c100s/tools/windows
这里也有编译好的版本
@晕哥, 我用这里下载的 mksunxi.exe , 执行命令: mksunxi.exe F1C100S.bin , 为啥bin文件没啥变化?
提示这个
The bootloader head has been fixed, spl size is -484311040 bytes.
离线
这是下载好的 mksunxi.c 还有我编译好的boot
离线
我理解是这样的,我用 论坛大神给的代码里面的 mksunxi.c 在windows用gcc 编译出来exe, 然后执行 mksunxi.exe boot.bin,执行成功了,但是看boot.bin的头部也没添加 eGON 类似的信息,没啥变化
但是我用xboot 里面给的 mksunxiboot.c 编译的 exe, 执行命令 mksunxiboot.exe boot.bin boot_with_header.bin 查看 boot_with_header.bin 就有 eGON 类似的信息
不知道为啥了
离线
弱弱问一句,魔术头的作用 是不是告诉boot。应用程序的代码起始地址和长度。还有校验之类的。
方便boot 把代码读取拷贝到ram ,并跳转运行?
我理解 boot 烧录到 spi flash ,需要添加一个头,片上 boot 需要靠这个来识别是不是合法的 bootloader
离线