GD32读保护

GD32可以通过选项字节来设置是否对Flash进行是否进行读写保护,FMC的保护状态有3种状态,一般使用的是低保护,低保护使能情况下,是不可以进行程序的下载和仿真调试,也不可以通过外部工具直接读取内部flash的程序。但是内部程序可以对flash进行操作,也可以通过内部程序进行选项字节的修改。

/* read protect configure */
#define FMC_NSPC                   ((uint16_t)0x5AA5U)      /*!< no security protection */
#define FMC_LSPC                   ((uint16_t)0x44BBU)      /*!< low security protection, any value except 0xA5 or 0xCC */
#define FMC_HSPC                   ((uint16_t)0x33CCU)      /*!< high security protection */

在库函数中如何进行都保护的设置呢,可以通过程序进行控制,也可以通过GD-Link Programmer软件进行设置也可以通过程序设置

1、用GD-Link Programmer设置

 这直接设置好然后reset芯片就可以了,设置的值可以参考

#define FMC_LSPC                   ((uint16_t)0x44BBU)      /*!< low security protection, any value except 0xA5 or 0xCC */

2、通过程序设置

都保护使能

void System_Read_Protection_Enable(void)
{
	if(ob_obstat_plevel_get() == OB_OBSTAT_PLEVEL_NO)
	{
		fmc_unlock();
		ob_unlock();
		ob_security_protection_config(FMC_LSPC);
		ob_lock();
		fmc_lock();
		ob_reset();
	}
}

都保护失能

void System_Read_Protection_Disable(void)
{
	if(ob_obstat_plevel_get() == OB_OBSTAT_PLEVEL_LOW)
	{
		fmc_unlock();
		ob_unlock();
		ob_security_protection_config(FMC_NSPC);
		ob_lock();
		fmc_lock();
		ob_reset();
	}
}

读写保护可以直接通过外部指令通过串口等通信外设直接操作上边两个函数就可以 。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于gd32f103去除保护失败的情况,可能出现以下几种原因和解决方法: 1. 操作错误:首先需要确认是否正确执行了去除保护的操作步骤。包括正确使用烧录工具和软件、选择正确的芯片型号和烧录模式等。如果有任何操作错误可能导致去除保护失败。 解决方法:仔细阅芯片厂商提供的技术文档和应用手册,严格按照操作步骤进行操作。可以尝试重新进行去除保护操作,确保每个步骤都正确执行。 2. 芯片损坏:出现解除保护失败的情况可能是因为芯片本身出现了损坏或故障。可能是由于静电放电、供电异常或其他原因导致芯片内部电路受到影响。 解决方法:更换芯片或联系芯片厂商进行维修和咨询。芯片损坏的情况无法通过软件手段解决,需要进行硬件替换或修复。 3. 芯片保护设置:某些情况下,芯片厂商提供的烧录工具和软件可能无法直接成功去除保护功能,这可能是由于芯片厂商设置了特殊的保护机制。 解决方法:可以尝试使用其他烧录工具和软件进行去除保护操作,或者联系芯片厂商获取专门的解锁工具和相关技术支持。 总之,gd32f103去除保护失败需要仔细检查操作步骤是否正确,排除操作错误的可能性。如果依然失败,就需要考虑芯片的损坏情况或相关保护机制的限制,并采取相应的解决措施。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值