XMC4500仿真正常运行,去掉仿真器上电运行不正常,需要手动复位运行才正常

       这两天调试程序,发现了一个问题,程序用仿真器下载到XMC4500后Debug,程序运行正常。将板子安装到设备后,上电程序运行不正常,需要手动复位后运行才正常。

       仿真器用的Jlink 驱动程序为Jlink V6.30d。

       问题解决步骤:

       1、首先怀疑复位电路出现问题,即由于电容容值小(10nF)导致复位时间不够。分别将复位电容更改为100nF、10uF,问题仍然存在。期间用示波器测量了3.3V电源和复位引脚,并查看XMC4500手册,100nF复位时间足够。

       2、怀疑晶振没有起振,即复位结束后晶振才起振正常工作。同样用示波器观察3.3V电源、复位引脚、晶振输出,抓取上电时三者波形,发现有源晶振正常启动。

       3、查看XMC4500的boot模式设置引脚,Normal模式TMS上拉,TCK下拉。核对电路,发现TCK没有下拉,于是加上下拉电阻5.1K。结果反而导致程序下载不成功。

       

       结合自己的实际测试,下载接口TCK悬空,TMS接上拉电阻,程序下载运行正常。

      4、在网上查找资料,发现有人说是因为外设上电后初始化需要时间。于是尝试在进入main()函数后立即加延时,发现程序可以正常运行了。 然后结合自己的电路板分析,板子上有外设DP83848,上电后XMC4500很快进入工作状态对其进行初始化,但是此时DP83848还处在自己的上电初始化状态,导致XMC4500初始化不成功,造成整个程序运行不正常。

查看DP83848手册,其自身上电稳定需要167ms的时间,因此进入main函数后立即加延时大约200ms,程序运行正常。

 

     总结:遇到问题,一定要利用测试工具抓现象,然后结合现象分析问题。再就是要耐下性子多多尝试,问题一定会解决。

 

 

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值