完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你好,
的 我正在尝试使用 STM32G071 上的 ROM 引导加载程序来更改特定闪存部分的内容。我能够很好地进入引导加载程序,至少我是这样认为的,因为我可以在调试器中看到 1fff0000 以上地址空间中的不同点是如何被访问的。 我在另一个STM32上使用这个库作为主控: https://github.com/glegrain/STM32-SPI-Bootloader-host 的 由于它是由 STM 员工编写的,并且命令与 AN2606 中的完全一样,我相信这是正确的。但是我什至无法通过第一个同步序列。引导加载程序只响应看似随机的数据。 的 波特率8MHz以下视需要而定。是否有一些我必须遵守的额外时间,或者我遗漏的任何其他内容? 我在 STM32F446 Nucleo 上重新检查了这个并且遇到了同样的问题。 我在主控端使用 CubeMX 配置 SPI,CPOL 低,CPHA 边缘 1,MSB 优先 8 位。 |
|
相关推荐
1个回答
|
|
对于可能面临相同问题的任何人:
我的印象是,在进入 ROM 引导加载程序之前需要禁用所有中断。这在 AN2606 中提到 除了上述模式之外,用户还可以通过从用户代码跳转到系统内存来执行引导加载程序。在跳转到引导加载程序之前,用户必须: • 禁用所有外设时钟 • 禁用使用的 PLL • 禁用中断 • 清除挂起的中断 然而,禁用中断和重新定位向量表似乎导致了这个问题。 这就是我进入 BL 的函数现在看起来像没有禁用 irqs 和在应用程序入口处留下向量表:
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2604 浏览 1 评论
3200 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1774 浏览 1 评论
3598 浏览 6 评论
5978 浏览 21 评论
928浏览 4评论
1305浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
573浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1292浏览 3评论
1347浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-15 16:21 , Processed in 1.118004 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号