STM32之option bytes踩坑记录

最近在做一个stm32项目,用的盗版jlink调试,突然某次下完程序,stm32竟然开始无限重启了,量了一下复位脚,发现有周期性的重启脉冲输出,一开始我以为是硬件坏了,重新焊了一套硬件,发现新焊的是好的,但是原来那块板子,检查来检查去感觉也不像是硬件和程序的问题。

后来我查了一些资料,想到去检查复位后的RCC_CSR寄存器,这里会标识系统是由哪个信号引发的reset,看了以后才发现是由于看门狗引起的,但是看门狗我软件上都一直没开过,感觉非常奇怪。

后来查了些资料才发现:

STM32的独立看门狗可以是硬件使能或软件使能,硬件使能是通过option bytes配置,软件使能是通过软件设置寄存器位配置。

 

硬件使能的看门狗,在系统上电之后就开始工作,一旦开始工作就没有办法让它停止工作;而软件使能的看门狗,只有在设置了相应的寄存器位后才能开始工作,一旦开始工作,只有系统复位才能让它停止工作。

如果启用了硬件使能,必须通过擦除相应的选择字节位关闭硬件看门狗功能,这时看门狗的功能可以通过软件使能。

原来那么高端的,竟然还有option bytes这种东西,再查阅了一些关于option bytes资料:

STM32 的 Flash information block 部分,包含有特殊的选项字节,可以用于系统配置等信息, 其中还有两个有效字节(实际四个字节,两个是校验字节)的用户自定义数据字节。用ST-LINK可以直接配置这些特殊的配置位。

原来如此,STM32也有类似51/AVR之类的熔丝位,但是一般来说平时手动设置会比较少,所以不太注意这一点,用ST-LINK Utility可以直接使用ST-LINK来配置熔丝位:

打开以后界面如下:

可以看到WDG_SW位被清零了,这个位如果清零,看门狗上电就会由硬件使能,且关不掉,而另一块板子,这个配置位是置1的。我这里把WDG_SW位勾选上,然后写入,无限自动重启问题就解决了。看来盗版jlink确实容易用出问题来,能用正版还是尽量用正版吧。

  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在学习STM32F103期间,我记录了以下内容: 1. 在使用库建立一个完整的工程时,需要添加STM32F10x_StdPeriph_Template目录下的stm32f10x_it.c、stm32f10x_it.h和stm32f10x_conf.h这三个文件\[1\]。 2. GPIO端口配置可以通过32bit配置寄存器GPIOx_CRL和GPIOx_CRH来实现\[2\]。 3. 在复用功能模式中,可以配置输出使能和输出速度,同时可以选择开漏或推挽模式。在该模式下,输出信号源于其他外设,因此输出数据寄存器GPIOx_ODR无效。输入功能可用,可以通过输入数据寄存器获取I/O实际状态,但一般直接使用外设的寄存器来获取该数据信号\[3\]。 这些是我在学习STM32F103期间记录的一些内容。希望对你有所帮助! #### 引用[.reference_title] - *1* [stm32小白学习记录(一)](https://blog.csdn.net/qq_37894034/article/details/81009092)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [STM32F103学习记录-----GPIO篇](https://blog.csdn.net/uyouth_my/article/details/54428410)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值