您尚未登录。

楼主 # 2021-06-23 18:02:02

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

全志 D1的裸机程序,将用户代码拷贝到DDR中后,却跳转不过去

参考 https://whycan.com/t_5060.html 以及xboot大佬的D1裸机程序,想自己实现一个裸机程序,功能是Boot0部分链接到了SRAM里,而其他程序链接到DDR里,在加载程序到DDR时只加载用户代码,初始化时钟,串口和DDR已经可以了,但是将用户代码拷贝到DDR中后,却跳转不过去,检查了半天,也不知道哪里出现了错误,望解答。


d1_spl.rar

离线

楼主 #1 2021-06-23 20:47:14

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

Re: 全志 D1的裸机程序,将用户代码拷贝到DDR中后,却跳转不过去

找到问题在哪了,在拷贝代码到DDR中时,地址弄错了,

这里的address应该等于__image_file_start - __spl_start,

而我之前address是__image_file_start

_20210623-2044.png


这里主要实现的是将Boot0部分链接到了SRAM里,

而其他程序链接到DDR里,在加载程序到DDR时只加载用户代码,

flash使用的是nor flash,使用xboot大佬的xfel工具进行烧写,这里附上代码。

d1_spl_20210623-2047.rar

离线

楼主 #2 2021-06-23 22:03:31

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

Re: 全志 D1的裸机程序,将用户代码拷贝到DDR中后,却跳转不过去

又有一个问题,当跳转失败是,DDR初始化的输出信息是

_20210623-2202.png

当跳转成功后,DDR的输出信息却是

_20210623-2159.png

为什么少了几句呢?

离线

页脚

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

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