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();
	}
}

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值