参考 https://whycan.com/t_5060.html 以及xboot大佬的D1裸机程序,想自己实现一个裸机程序,功能是Boot0部分链接到了SRAM里,而其他程序链接到DDR里,在加载程序到DDR时只加载用户代码,初始化时钟,串口和DDR已经可以了,但是将用户代码拷贝到DDR中后,却跳转不过去,检查了半天,也不知道哪里出现了错误,望解答。
离线
找到问题在哪了,在拷贝代码到DDR中时,地址弄错了,
这里的address应该等于__image_file_start - __spl_start,
而我之前address是__image_file_start
这里主要实现的是将Boot0部分链接到了SRAM里,
而其他程序链接到DDR里,在加载程序到DDR时只加载用户代码,
flash使用的是nor flash,使用xboot大佬的xfel工具进行烧写,这里附上代码。
离线
又有一个问题,当跳转失败是,DDR初始化的输出信息是
,
当跳转成功后,DDR的输出信息却是
,
为什么少了几句呢?
离线