lock.c

来自「Cygnal C8051f系列单片机的flash存储器加密程序」· C语言 代码 · 共 20 行

C
20
字号
#include <c8051F320.h>
#include <absacc.h>					//调用绝对定位的宏定义

#define lock_byte XBYTE[0x3DFF]
/*
在外部数据存储器内定义一个绝对地址为0x3DFF的字节变量lock_byte。
因为,尽管锁定和访问限制字节在FLASH程序存储器内,但要往里写数据时,
MCU必须将FLASH程序存储器影射为外部数据存储器,并保持绝对地址不变。
*/

void lock (void);
void lock (void)
{
	FLKEY=0xA5;						//规定的操作步骤
	FLKEY=0xF1;
	PSCTL=1;						//写允许
	lock_byte=0;					//对整个FLASH存储器进行加密
	PSCTL=0;						//禁止写
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?