MM32-LINK使用教程——读写保护操作

demi的头像
demi 发布于:周五, 11/29/2019 - 09:15 ,关键词:

MM32-LINK编程器功能丰富,在上一讲我们为大家介绍了MM32-LINK Program的规则编程功能,最近小编被多次问到MM32-LINK Program是否有FLASH读写保护功能及如何使用等一系列问题。保护即大家通常说的“加密”,作用于整个Flash存储区域,一旦设置了Flash的读写保护,内置的Flash存储区不能进行读写。读写保护可以防范用户区 Flash 区的代码被不可信的代码读出,也可以防范在程序跑飞的时候对Flash 的意外擦除。本次小编就给大家介绍一下关于如何使用MM32-LINK Program设置保护功能。

在介绍使用MM32-LINK 读写保护设置之前给大家普及一下OptionByte选项字节数据区和Protect区块保护区域:

选项字节数据区对应于目标芯片地址 0x1FFFF800 起始的 Flash 空间数据,大小为16个字节。默认状态下,选项字节块始终是可以读且被写保护。要想对选项字节块进行写操作 (编程/擦除) 首先要在 OPTKEYR 中写入正确的键序列 (与上锁时一样),随后允许对选项字节块的写操作, FLASH_CR 寄存器的 OPTWRE 位标示允许写,清除这位将禁止写操作。

区块保护区域对应于目标芯片地址 0x1FFE0000起始的 Flash 空间数据,这项保护是通过设置 RDP, RDP2, RDP3 半字,然后在系统重新上电复位,加载了新的 RDPs 后起作用的。

操作步骤如下:

1.1新建一个读写保护的工程,新建工程的步骤如下:


图1 工程配置操作引导界面(1)

1.2操作上述的操作以后我们会进入下面的页面,下面我们进入Info选项卡来对我们新建的工程进行设置。


图2 工程配置操作引导界面(2)

1. 项目的名称;

2. 目标MCU的型号;

3. 选择修改用于批量编程时的编程计数器值;

4. 编程数据来源(即选择我们需要烧录的HEX文件);

5. 工程路径;

6. 用户的备注;

7. 创建工程的时间(自动生成的);

在以上的项目信息卡中填写对应序号的数据。

1.3进入Option选项卡进行设置


图3 工程配置操作引导界面(3)

1. 编程数据来源;

2. 默认编程操作以及二次编程操作,在此选项卡设置我们需要勾选Protect选项以及OPTByte选项,其中OPTByte为选项字节保护,Protect为区块读写保护选项;

3. 离线编程模式;

4. 复位方式;

5. Boot0电平设置;

6. 软件窗口操作锁;

1.4回到Info信息选项卡点击OK按钮我们的工程就创建完毕了,因此在工程窗口会出现我们的工程。我们新建的工程都是在激活的状态的,激活状态工程的名字是描黑加粗的。


图4 上位机主界面(1)

如果我们需要切换原来的工程我们选择原来的工程的名字右击鼠标,然后选择Active选项就OK了,或者在Project选项中Active。


图5 上位机主界面(2)


图6 工程激活操作向导

1.5写保护选项卡设置

打开Project\OPTByte Configure数据可视化编辑对话框,选择Fast settings快速设置方式。选中Address前面的选项按钮,将Flash配置成128空间全部写保护。


图7 选项字节保护配置选项卡

在写保护设置中Custom为用户编辑数据,Fast settings为快速设置,在进行设置的时候需要注意以下几点:

1、用户OPTByte数据已经存在,并且分段设置写保护区间数目大于4段,Write Protect功能将被定义为Custom方式;用户在WPR0..WPR3的编辑框中修改。

2、用户OPTByte数据不存在,可视化编辑对话框将定义为Fast settings方式:

a) 在快速设置方式下,Address前面的选项按钮仅第一个可修改。当选中(Check)时表示写保护,改变按钮状态,后续的选项按钮将依次自动改变为:下一个为当前的反选。

b) 改变写保护区域的Length,将影响下一个保护区间的地址或长度。最后一个保护区域的长度不可修改。

c) Write Protect All / Write UnProtect All按键功能定义为:全地址空间范围写保护允许或写保护禁止。

配置完成后,可以看到Memories\OPTByte对话框下的地址0x1ffff800被写入配置内容。


图8 选项字节保护地址数据

1.6读保护选项卡设置

在Protect选项页,可以点击存储器窗口右上角的工具按钮或右键菜单编辑Protect数据,如下图:


图9 区块保护配置选项卡(1)

对话框保护设置定义了四个保护区块。保护区块按程序要求用户可以自行定义。可视化编辑操作功能定义为:

1. 保护区块的地址必须从小到大。

2. 保护区块的地址范围不可重叠,但可不连续。

3. 是否保护取决于四个区块前的选择按钮;当选中(Check)时设定的地址范围被保护,否则保护无效。

4. 如果用户数据不合法,可视化对话框将改变原始数据。

5. 缺省按钮保护范围为单一区块全地址空间保护。

我们将128K全部配置为读保护。


图10 区块保护配置选项卡(2)

配置完成后,可以看到Memories\Protect对话框下的地址0x1ffe0000被写入配置内容。


图11 选项字节保护地址数据

我们关于读写保护的功能介绍到这里,欢迎大家使用MM32-LINK相关功能进行生产、烧录等。

来源: 灵动MM32MCU

围观 828