各位大佬,我用代码生成一个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
离线
弱弱问一句,魔术头的作用 是不是告诉boot。应用程序的代码起始地址和长度。还有校验之类的。
方便boot 把代码读取拷贝到ram ,并跳转运行?
离线
我理解是这样的,我用 论坛大神给的代码里面的 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
离线