打印
[AT32F403/403A]

STM32F103ZET6到AT32F403A工程移植时待机无法唤醒的问题的排查...

[复制链接]
1797|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kxsi|  楼主 | 2021-6-7 13:45 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
AT32F403A这款芯片据说和STM32是一毛一样的,最近在将项目代码直接移植到这款芯片是出现了两个问题,一个是字库芯片不能使用,另一个是PA0唤醒按键无法正常唤醒,这里记录下一自己的问题排查过程和思路,也是整理和归类,为自己以后遇到相同问题提供解决思路

首先解决的是字库芯片问题,表现出来的现象是无法显示和字库芯片相关的文字,所以怀疑是和字库芯片通信有问题,通信有问题一共有三种情况,①字库芯片已经损坏(只更换了主控芯片STM32->AT32F403A,字库芯片之前可以使用,排除),②字库芯片供电有问题(这个实际没有查,因为后面的选项解决了),③AT32和字库芯片通信有问题.因为更换了芯片,所有首先怀疑是通信,也就是和字库芯片通信的相关引脚可以虚焊了,将主板拿到放大镜下观察,有一个引脚翘起来了,查看原理图是与字库芯片通信的引脚,重新焊接,然后测试字库芯片正常.


使用特权

评论回复
沙发
kxsi|  楼主 | 2021-6-7 13:54 | 只看该作者
然后是第二个问题,PA0唤醒按键无法唤醒进入待机模式的AT32F403A主控芯片,现象是设备用按键关机后无法开机,需要等待一段时间后才能用按键开机.经过调试发现,在进入待机模式后,只有在看门狗复位后PA0的唤醒才会起作用,先将复位代码放到开机后立刻执行,发现可以正常唤醒,然后不停的注释和释放代码,锁定出现问题的地方,在请教高手时,高手说会不会是GPIOA的时钟的问题,所有尝试在进入待机模式前,关闭GPIOA的时钟,发现可以正常唤醒,也就是说问题是关于PA0在进入待机模式前管脚配置导致的无法唤醒,然后挨个注释配置管脚,发现单独配置GPIOA部分,可以正常唤醒,但是连续配置四个部分就无法工作了,所以怀疑这款芯片无法连续配置四个GPIO(只是猜想怀疑,没有深入验证).


使用特权

评论回复
板凳
hoop| | 2021-6-7 17:29 | 只看该作者
但是连续配置四个部分就无法工作了,所以怀疑这款芯片无法连续配置四个GPIO(只是猜想怀疑,没有深入验证).
实际上AT不存在此限制的。建议重点排查一下在复现问题时,代码是否有正常进了Standby,比较怀疑此时代码卡在某个中断里了。可以通过在复现问题的基础上debug看Jlink是否会断线(DBG_STANDBY这些位要写0),或者通过测试耗电情况来看。

使用特权

评论回复
地板
guijial511| | 2021-6-7 20:35 | 只看该作者
感谢分享出坑经验

使用特权

评论回复
5
呐咯密密| | 2021-6-10 15:26 | 只看该作者
这个分享真不错,解决了我的难题,之前也做过ST移植到雅特丽的项目,虽然没遇到这个问题,但是追个坑,以后遇到就方便了

使用特权

评论回复
6
别看我照片| | 2021-6-10 18:15 | 只看该作者
肯定不能直接拿来用的

使用特权

评论回复
7
勇者无惧你和我| | 2021-6-11 08:31 | 只看该作者
两者存在着联系,同时也存在着差异的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

3304

帖子

2

粉丝