您尚未登录。

楼主 # 2021-06-22 21:02:51

March
会员
注册时间: 2021-05-28
已发帖子: 61
积分: 23

关于Xboot大佬的D1裸机程序的若干问题

看了xboot大佬的D1裸机程序,有几处看的很迷糊,由于学艺不精,所以来论坛提问,望解惑。
主要问题是在start.s文件中,有几处汇编代码不是很清楚,

1._20210622-2102.png

此处代码是为了判断当前运行地址是否是链接地址,根据代码:t0中存的是_start的地址,t1中存的是_image_start地址中的内容(8字节),请问是t0中存的链接地址,t1中存的是当前运行地址吗?为啥当前运行地址是存储在_image_start的地址中?


2._20210622-2058.png

此处拷贝ddr的bin文件,用到了函数memcpy,该函数的第三个参数是len,为什么a2是通过计算_ddr_bin_start和_ddr_bin_end地址中的内容的差来得到长度的呢?不应该是_ddr_bin_end的地址-_ddr_bin_start的地址吗?

离线

楼主 #3 2021-06-22 21:54:42

March
会员
注册时间: 2021-05-28
已发帖子: 61
积分: 23

Re: 关于Xboot大佬的D1裸机程序的若干问题

这里的la t1, _image_start不是已经取得_image_start的地址到t1寄存器中了吗?为什么后面还要加LREG t1, (t1)这一句呢?_20210622-2154.png

离线

页脚

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

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