您尚未登录。

楼主 # 2024-12-11 13:45:49

zhangyw40
会员
注册时间: 2024-12-09
已发帖子: 9
积分: 4

各位大佬,boot如何添加魔术头

各位大佬,我用代码生成一个boot.bin 如何添加魔术头?刚入门,不知道咋做?
我运行裸机程序, 裸机代码编译生成的bin文件,是不是也需要添加一个魔术头?

最近编辑记录 zhangyw40 (2024-12-11 14:00:32)

离线

#1 2024-12-11 14:02:50

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,348
积分: 9202

Re: 各位大佬,boot如何添加魔术头

mksunxi.c





离线

楼主 #2 2024-12-11 23:59:00

zhangyw40
会员
注册时间: 2024-12-09
已发帖子: 9
积分: 4

Re: 各位大佬,boot如何添加魔术头

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.

离线

楼主 #3 2024-12-12 00:25:59

zhangyw40
会员
注册时间: 2024-12-09
已发帖子: 9
积分: 4

Re: 各位大佬,boot如何添加魔术头

mksunxi_test.zip

这是下载好的 mksunxi.c  还有我编译好的boot

离线

#4 2024-12-12 08:08:42

DDER
会员
注册时间: 2023-08-16
已发帖子: 21
积分: 26

Re: 各位大佬,boot如何添加魔术头

弱弱问一句,魔术头的作用 是不是告诉boot。应用程序的代码起始地址和长度。还有校验之类的。
方便boot 把代码读取拷贝到ram ,并跳转运行?

离线

楼主 #5 2024-12-12 09:19:04

zhangyw40
会员
注册时间: 2024-12-09
已发帖子: 9
积分: 4

Re: 各位大佬,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 类似的信息

不知道为啥了

离线

楼主 #6 2024-12-12 09:21:48

zhangyw40
会员
注册时间: 2024-12-09
已发帖子: 9
积分: 4

Re: 各位大佬,boot如何添加魔术头

DDER 说:

弱弱问一句,魔术头的作用 是不是告诉boot。应用程序的代码起始地址和长度。还有校验之类的。
方便boot 把代码读取拷贝到ram ,并跳转运行?

我理解 boot 烧录到 spi flash ,需要添加一个头,片上 boot 需要靠这个来识别是不是合法的 bootloader

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn