英飞凌TC387复位后无法跳转到应用程序首地址

第一次基于英飞凌TC3XX系列芯片做控制器开发,之前用demo板加MCAL形式进行开发,没有出现问题,直到第一批板子打回来后,程序烧进去后,复位无法指向复位地址0xA0000000,而是随机指向不同地址,导致程序无法正常运行。通过阅读芯片手册,发现芯片有一段内部bootrom,启动后会到0XAF400000 UCB区域去寻找BMHD信息,找到成功后会跳转到BMHD信息中定义的程序运行首地址。

一、问题:

TC387复位后无法指向复位地址

二、原因:

新出厂芯片,UCB区域为空,不存在BMHD信息,芯片bootrom代码找不到BMHD内容无法跳转到启动代码首地址。
两方面原因导致复位无法跳转到启动地址:
1、MCAL工程默认不编译生成bmhd的Ifx_Cfg_SswBmhd.c,我们下载的程序不带bmhd内容。
2、调试器也没有设置下载UCB区域,不能将编译好的BMHD信息下载下去。

三、解决措施

1、编译Ifx_Cfg_SswBmhd.c:
找到TC38A_Config_Tasking.xml文件,设置 Ifx_Cfg_SswBmhd 编译进代码,

image.png
改为

image.png
2、设置调试器,选择下载UCB(包含BMHD):
执行以下步骤:
点击Hardware,然后点击Options

image.png

勾选下载UCB区域,然后点击确定

image.png

操作后,会显示下载UCB区域

image.png

再点击下载即可正常运行了。

四、注意事项

由于对UCB区域不是很理解,建议烧写一次后,没有修改就不再选择烧写

五、总结

嵌入式平台五花八门,问题千奇百怪,只要沉下心来,翻阅芯片手册,检查代码,耐心调试,必定能找到问题,解决问题。

  • 4
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值