为啥自己写的f1c100s boot0(rom代码的下一步,运行在sram) JLINK是不能设断点,不能单步调试的
每次上电输入regs,就说cpu not halt
然后我输入r,等cpu运行到一些死循环的地方,才能regs查看寄存器
用论坛的hack固件,进入dram阶段后,boot1(在dram运行),可以单步
1.是需要开启啥东西组件吗?
2.还是需要编译时加调试参数,-lgdb啥的?
3.还是boot0阶段不能够调试?
最近编辑记录 Jin劲 (2018-08-17 09:34:48)
离线
建议 boot0, boot1 都单独调试,
因为这两个东西本来就没有交集,
boot0 是用来加载 boot1(u-boot)的.
调试 boot1(u-boot)的方法 可以先通过jlink指令,或者boot0 把ddr相关寄存器初始化好就可以直接keil等软件调试了。
离线
建议 boot0, boot1 都单独调试,
因为这两个东西本来就没有交集,
boot0 是用来加载 boot1(u-boot)的.调试 boot1(u-boot)的方法 可以先通过jlink指令,或者boot0 把ddr相关寄存器初始化好就可以直接keil等软件调试了。
我的意思是我想单步调试boot0 然后不行 是不是我少做了一些工作?
离线
https://whycan.cn/t_1003.html
这个就是 IAR f1c100s jlink调试的程序, 就是boot0吧。
看下有没有参考价值.
离线
https://whycan.cn/t_1003.html
这个就是 IAR f1c100s jlink调试的程序, 就是boot0吧。
看下有没有参考价值.
这个不是boot0 这个是已经执行了boot0初始化之后的代码 运行在dram的代码:
define symbol __ICFEDIT_intvec_start__ = 0x80000000;
和uboot主体是同一级别的
离线
这个demo在main函数初始化了 ddr, 但是程序仍然是在 sram 跑吧?
离线
这个demo在main函数初始化了 ddr, 但是程序仍然是在 sram 跑吧?
这个demo没有初始化ddr,说明.txt说明了,需要自行利用固件初始化ddr再运行该demo:
===========说明.txt=============
此demo需要预先初始化dram
有三种方法初始化demo:
1. 用jlink工具依次初始化寄存器
2. 用唱戏机固件的boot0
3. 烧录xboot
=============================
而且*.icf文件表明该demo链接地址在0x80000000
离线
原来如此, 多谢提醒。
离线
俺的问题还没解决呀 别沉呀
最近编辑记录 Jin劲 (2018-08-17 15:32:48)
离线
仿真的问题。
离线