完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试通过 STM32L431RBT6 的 USART1 上的引导加载程序对 FLASH 进行编程。
我可以使用 boot0=1 和重置成功访问引导加载程序。 引导加载程序正确确认以下所有命令,并返回正确的信息: 0x7F 0x00(获取) 0x01(德语版) 0x02(获取 ID) 0x63(写保护) 0x73(写解除保护) 0x82(读出保护) 0x92(读出解除保护) 然而,当我尝试读取或擦除闪存时,处理器似乎在内部重置(NRST 变低)。 下面的序列就是一个例子: 发送:0x7F(连接) 接收:0x79 (ACK) 发送:0x73 0x8C(写解除保护) 接收:0x79(ACK) 发送:0x44 0xBB(扩展擦除) 接收:0x79(ACK) 发送:0xFF 0xFF 0x00(整体擦除) 接收:(无响应且处理器重置) 如果我尝试执行 bank 1 擦除 (0xFFFE) 或 bank 2 擦除 (0xFFFD) 等,问题是一样的…… 我也会注意到,如果我在闪存擦除之前不执行“write unprotect”命令,那么处理器会以 NAK 响应,即 发送:0x7F(连接) 接收:0x79 (ACK) 发送:0x44 0xBB(扩展擦除) 接收:0x79(ACK) 发送:0xFF 0xFF 0x00(整体擦除) 接收:0x1F (NACK)(无复位) 我不确定发生了什么或我做错了什么。这些重置似乎不是来自任何外部源,而是处理器的内部重置。 有什么建议吗?谢谢! 更多信息: 引导程序:3.1 处理器 ID:4.35 (53d) 选项: |
|
相关推荐
1个回答
|
|
我正在尝试通过 STM32L431RBT6 的 USART1 上的引导加载程序对 FLASH 进行编程。
我可以使用 boot0=1 和重置成功访问引导加载程序。 引导加载程序正确确认以下所有命令,并返回正确的信息: 0x7F 0x00(获取) 0x01(德语版) 0x02(获取 ID) 0x63(写保护) 0x73(写解除保护) 0x82(读出保护) 0x92(读出解除保护) 然而,当我尝试读取或擦除闪存时,处理器似乎在内部重置(NRST 变低)。 下面的序列就是一个例子: 发送:0x7F(连接) 接收:0x79 (ACK) 发送:0x73 0x8C(写解除保护) 接收:0x79(ACK) 发送:0x44 0xBB(扩展擦除) 接收:0x79(ACK) 发送:0xFF 0xFF 0x00(整体擦除) 接收:(无响应且处理器重置) 如果我尝试执行 bank 1 擦除 (0xFFFE) 或 bank 2 擦除 (0xFFFD) 等,问题是一样的…… 我也会注意到,如果我在闪存擦除之前不执行“write unprotect”命令,那么处理器会以 NAK 响应,即 发送:0x7F(连接) 接收:0x79 (ACK) 发送:0x44 0xBB(扩展擦除) 接收:0x79(ACK) 发送:0xFF 0xFF 0x00(整体擦除) 接收:0x1F (NACK)(无复位) 我不确定发生了什么或我做错了什么。这些重置似乎不是来自任何外部源,而是处理器的内部重置。 有什么建议吗?谢谢! 更多信息: 引导程序:3.1 处理器 ID:4.35 (53d) 选项: |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2634 浏览 1 评论
3208 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1783 浏览 1 评论
3609 浏览 6 评论
5987 浏览 21 评论
939浏览 4评论
1315浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
582浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1302浏览 3评论
1357浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 12:40 , Processed in 1.223617 second(s), Total 78, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号