完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在用STM32L071这个片子,做时钟配置的时候发现PLLVCO最大只能配置到16M,配成32M的话,系统就会在执行时钟切换时跑飞,于是我想到可能是FLASH的等待周期造成的,所以就写了下FLASH的ACR寄存器,将LATENCY位置1,烧录一次之后就再也无法烧录,IDE提示device could not powered up错误,,请问是啥原因?该怎么解决?
IDE:MDK5 调试工具:CMSIS DAP 芯片:STM32L071CBT |
|
相关推荐
2个回答
|
|
你尝试使用STM32Cubeprogrammer连接目标板看看option配置,看看你改动些什么,将其恢复到默认配置。另外,你开发时最好基于cubeMx进行初始化配置,
这样的话,时钟及相关flash latency都会自动帮你配置好。 |
|
|
|
有几个原因可能导致系统在执行时钟切换时出现问题:
1. PLLVCO的最大配置限制:根据 STM32L071 的数据手册,PLL VCO 的最大配置限制是 16 MHz。所以,将其配置为 32 MHz 可能导致系统不可靠或产生错误。 2. FLASH 等待周期:如果系统时钟频率增加,可能需要调整 FLASH 等待周期(LATENCY)以确保正确的访问时间。在 STM32L071 中,默认等待周期配置为 0,对应于最大频率为 16 MHz。如果将时钟配置为 32 MHz,则可能需要增加等待周期。在给 LATENCY 寄存器写入新的值之前,确保在 FLASH 访问期间禁止所有中断。 关于无法烧录的问题,可能是由于 LATENCY 配置错误导致的。尝试恢复芯片到默认状态,然后重新进行烧录和调试。 解决此问题的步骤: 1. 恢复芯片到默认状态:使用 STM32L071 的复位引脚将芯片复位到默认状态。 2. 确保时钟配置正确:根据 STM32L071 的数据手册,将系统时钟配置为可靠的频率,例如 16 MHz。确保时钟配置符合芯片的规格和限制。 3. 配置 FLASH 等待周期:根据新的时钟频率,使用合适的等待周期值配置 LATENCY 寄存器。 4. 确认烧录和调试工具正常工作:确保使用正确的 IDE(例如 MDK5)和调试工具(例如 CMSIS DAP),以便正确烧录和调试 STM32L071 芯片。 5. 重新烧录和调试:在确认以上步骤都正确执行后,尝试重新烧录和调试代码。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1618 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1545 浏览 1 评论
979 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
683 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1597 浏览 2 评论
1864浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
645浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
516浏览 3评论
532浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
505浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 19:53 , Processed in 1.374278 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号