STM32F401VCT6在软件程序中配置选项字节(option byte)熔断下载和调试功能

选项字节是什么

请添加图片描述
选项字节用于配置 FLASH 的读写保护、电源管理中的 BOR 级别、软件/硬件看门狗等功能,这部分共 32 字节。可以通过修改 FLASH 的选项控制寄存器修改。
请添加图片描述
因业务需要,将RDP配置为级别2,从而禁止调试和从RAM启动
注意:RDP一旦设置为级别2,不可降级,相当于熔断下载和调试,芯片将无法通过硬件方式下载,使用该功能之前,一定要实现远程升级功能,否则该芯片将报废。

实现步骤,使用cubemx生成一个hal库文件,在用户代码中添加如下代码

  FLASH_OBProgramInitTypeDef obData;
	HAL_FLASH_Unlock();
	HAL_FLASH_OB_Unlock();
	HAL_FLASHEx_OBGetConfig(&obData);
  printf("***pOBInit->RDPLevel=%02x\r\n",obData.RDPLevel);

	if(obData.RDPLevel<OB_RDP_LEVEL_2)
	{
		obData.OptionType=OPTIONBYTE_RDP;
		obData.RDPLevel=OB_RDP_LEVEL_2;	
		
		if(HAL_FLASHEx_OBProgram(&obData)!=HAL_OK)
		{
			printf("写入失败 \r\n");
		}else
		{
			printf("写入成功 \r\n");
		  HAL_FLASH_OB_Launch();
		
		}			
	}
	
	HAL_FLASH_OB_Lock();
	HAL_FLASH_Lock();
	printf("********pOBInit->RDPLevel=%02x\r\n",obData.RDPLevel);
	printf("HAL_FLASHEx_OBProgram=%d \r\n",HAL_FLASHEx_OBProgram(&obData));

串口监听数据:
请添加图片描述
下载失败,下载和调试功能被熔断
在这里插入图片描述

ok!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值