|
我是用的芯片是STM32F407,外设接口只用到了USART1,UART2,UART6。将BOOT0连接VCC,BOOT1连接GND,用示波器测过这两个管脚上的电压是稳定的,而且供电也是稳定的。 但是用STM32CubeProgrammer通过UART1烧录程序的时候,它显示"Activating device [KO]",但是它的UART1可以收到也可以发送数据。然后我通过UART1给STM32F4发送"0x7F",正常的ISP程序应该会开始检测UART1的波特率然后回复"0x79",但是这个芯片什么也没给我发。 然后我通过ST-LINK检测芯片运行ISP程序的情况,发现PC指针一直在0xFFFF_FFFE卡着,如果点击"Run"就会报错"Unable to run application"
这个芯片应该没有锁,因为可以通过ST-LINK烧录程序并且正常运行。 我可以确定PCB的电路没有问题,因为我后来买了一个新生产批次的STM32F407,在这个PCB焊上去之后(同pin替换),就可以进入ISP然后通过UART1烧录。 大家帮我看一下这个芯片为啥会出现这种情况,是ISP的问题还是什么问题呢? |
keil有什么调试方法可以追踪链表被破坏的地方吗
NUCLEOh753zi
STM32CubeIDE for Visual Studio Code无法使用
无法通过 SPI 读取 TCD1304数据
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
stm32H745 M4核不能调试和下载
F407的SDIO的硬件分流问题
STLINK V3SET 死機 USB無法連線
stm32h745 调试问题
workbench5.3.1生成代码问题
微信公众号
手机版
没太看明白是什么意思。如果在上述条件下能收发数据,那串口工作应该是正常的。
既然用了STM32CubeProgrammer, 那么直接读取芯片内容试试看看成不成?
就是说编写了一个USART1收发数据的程序,然后通过ST-LINK烧写进去,运行这个程序,发现USART1串口可以正常收发数据,这说明USART1硬件是好的。
但是在ISP程序里面我通过USART1给它发送0X7F,它就没有响应
Boot 模式下串口操作关键是接收脚,连接不上时可以将RX脚上拉一个电阻再试试。同时串口3的PB11,PC11不要有扰动电平。
好的,我去把这两个RX上拉试一试。不过我还是不明白,就算UART1或者3的RX信号受到扰动,ISP程序应该会去测量这两个端口的波特率,那么PC指针不应该卡在0xFFFF_FFFE,这个地址不在程序ROM的地址范围里
假如其他口的接收引脚有信号,那么代码就会处理那个接收口的应用,相当于跑偏了。
好像是和选项字节有关系,你查一下试试