Nuoeriris · 2020年03月24日

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

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新建一个读写保护的工程,新建工程的步骤如下:
01.png
图1 工程配置操作引导界面(1)

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

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

  1. 项目的名称;
  2. 目标MCU的型号;
  3. 选择修改用于批量编程时的编程计数器值;
  4. 编程数据来源(即选择我们需要烧录的HEX文件);
  5. 工程路径;
  6. 用户的备注;
  7. 创建工程的时间(自动生成的);

在以上的项目信息卡中填写对应序号的数据。
1.3进入Option选项卡进行设置

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

  1. 编程数据来源;
  2. 默认编程操作以及二次编程操作,在此选项卡设置我们需要勾选Protect选项以及OPTByte选项,其中OPTByte为选项字节保护,Protect为区块读写保护选项;
  3. 离线编程模式;
  4. 复位方式;
  5. Boot0电平设置;
  6. 软件窗口操作锁;

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

04.png
图4 上位机主界面(1)

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

05.png
图5 上位机主界面(2)

06.png
图6 工程激活操作向导

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

07.png
图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被写入配置内容。

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

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

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

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

  1. 保护区块的地址必须从小到大。
  2. 保护区块的地址范围不可重叠,但可不连续。
  3. 是否保护取决于四个区块前的选择按钮;当选中(Check)时设定的地址范围被保护,否则保护无效。
  4. 如果用户数据不合法,可视化对话框将改变原始数据。
  5. 缺省按钮保护范围为单一区块全地址空间保护。

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

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

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

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

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

感谢大家持续关注灵动MM32 MCU专栏。详细文件请在末尾下载文件(含mm32_devkit_setup-2, MM32-Link Application Note和MM32-Link 固件升级包)。
文件名 大小 下载次数 操作
mm32_devkit_setup-2.exe 9.92MB 76 下载
MM32-Link Application Note.zip 13.35MB 38 下载
MM32-Link 固件升级包.zip 1005.13KB 34 下载
推荐阅读
关注数
6152
内容数
276
灵动MM32 MCU相关技术知识,欢迎关注~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息