调试ZYNQ的u-boot 2017.3 不能正常启动,记录调试过程

17 篇文章 0 订阅
4 篇文章 0 订阅
  • 环境,在windows环境下调试该问题。
  • 首先建立正确的FSBL工程及helloword工程,并且能够正常跑通。
  • 编译u-boot生成u-boot(该文件是elf格式,并增加后缀elf,否则bootgen打包会有问题)
  • hello world 工程的调试选项设置为下面的配置,然后调试hello-world工程就可以调试该u-boot.elf文件了。都是反汇编的形式调试。配合寄存器,内存基本问题都能搞定。
    在这里插入图片描述
    在这里插入图片描述
    我的问题:
    因为我调试增加了下面配置的长度
CONFIG_SYS_MALLOC_F_LEN=0x2000//由0x400调整为0x2000,栈就溢出了

下面的宏,在b-boot建立c环境的时候会用该宏作为栈指针。并且会在栈顶预留CONFIG_SYS_MALLOC_F_LEN的空间,作为malloc使用。

#define CONFIG_SYS_INIT_RAM_ADDR	0xFFFF0000
#define CONFIG_SYS_INIT_RAM_SIZE	0x10000 //由0x1000改为0x10000
#define CONFIG_SYS_INIT_SP_ADDR		(CONFIG_SYS_INIT_RAM_ADDR + \
					CONFIG_SYS_INIT_RAM_SIZE - \
					GENERATED_GBL_DATA_SIZE)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值