如何使用MM32-LINK Program设置保护功能
eetrendMcu 2023-03-16

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相关功能进行生产、烧录等。 

声明: 本文转载自其它媒体或授权刊载,目的在于信息传递,并不代表本站赞同其观点和对其真实性负责,如有新闻稿件和图片作品的内容、版权以及其它问题的,请联系我们及时删除。(联系我们,邮箱:evan.li@aspencore.com )
0
评论
  • 【7.24 深圳】2025国际AI+IoT生态发展大会/2025全球 MCU及嵌入式技术论坛


  • 相关技术文库
  • 单片机
  • 嵌入式
  • MCU
  • STM
  • 3AT89C51单片机引脚说明及引脚图

    AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU...

    前天
  • 51单片机对LCD1602液晶的驱动设计

    51单片机——LCD1602 1、1602液晶读写时序 (1)、读状态 RS=L,R/W=H,E=H。(判断忙完毕后释放总线) (2)、读数据 RS=H,R/W=H,E=H。 (3)、写指令 RS=L,R/W=L,D0~D7=指令码,E=高脉冲 (4)、写数据 RS=H,R/W=L,D0~D...

    前天
  • 单片机串口如何接收不定长数据的?

    我们在使用其他STM32的单片机的时候,会发现有些困难,会发现常用的方法并不能用,在还没有接收完数据的时候,就解决不了。于是,只能用通用的方法来解决了。 这个通用的方法,其实原理和使用IDLE的原理一样:...

    前天
  • ARM处理器的选型原则

    鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,...

    07-10
  • 有哪些低功耗设计方法?单片机系统低功耗设计要点介绍

    功耗,已经是一个老生常谈的话题了。对于功耗,大家多多少少有所了解。目前,很多产品的宣传里便带有低功耗噱头。为增进大家对功耗的认识,本文将基于两点介绍功耗:1.低功耗主要设计方法,2.单片机系统低功耗设计...

    07-10
  • 8位32位MCU如何选择?如何选择合适的MCU?

    MCU,对于普通人而言,是一个高大上的存在。但是,在工业中,MCU确实常见产品。为增进大家对MCU的认识,本文将基于两点介绍MCU:1.8位MCU和32位MCU如何选择?2.如何选择合适的MCU。如果你对MCU具有兴趣,不妨继续往...

    07-09
  • ARM开发:一 ARM微处理器概述

    1.1ARM-Advanced RISC Machines ARM(Advanced RISC Machines),既可以认为是一个公司的名字,也可以认为是对一类微处理器的通称,还可以认为是一种技术的名字。 1991年ARM公司成立于英国剑桥,主要出售芯片设计技术...

    07-08
  • 分析C51单片机的一些误区和注意事项

    简介:常看见初学者要求使用_at_,这是一种谬误,把C当作ASM看待了。在C中变量的定位是编译器的事情,初学者只要定义变量和变量的作 用域,编译器就把一个固定地址给这个变量。怎么取得这个变量的地址?要用指针。 1) C...

    07-08
  • 51单片机几个延时程序

    简介:51单片机几个精确延时程序:在精确延时的计算当中,最容易让人忽略的是计算循环外的那部分延时,在对时间要求不高的场合,这部分对程序不会造成影响. 一. 500ms延时子程序(晶振12MHz,一个机器周期1us.) 程...

    07-08
  • 总结单片机软件抗干扰的几种办法

    简介:在提高硬件系统抗干扰能力的同时,软件抗干扰以其设计灵活、节省硬件资源、可靠性好越来越受到重视。下面以MCS-51单片机系统为例,对微机系统软件抗干扰方法进行研究。 1、软件抗干扰方法的研究 在工程实践中...

    07-08
  • 基于C51单片机实现汽车座椅自动控制系统的软硬件设计

    引言 随着人们生活水平的提高,对汽车座椅的舒适性要求也越来越高,要求对汽车座椅地调节能够更加简单、方便、快捷。目前,汽车座椅位置的调节多采用基于手动调节方式的机械和电动控制两种方式。汽车座椅位置的调节...

    07-02
  • MCS51单片机程序设计时堆栈的计算方法解析

    用C语言进行MCS51系列单片机程序设计是单片机开发和应用的必然趋势。Keil公司的C51编译器支持经典8051和8051派生产品的版本,通称为Cx51。应该说,Cx51是C语言在MCS51单片机上的扩展,既有C语言的共性,又有它自己...

    07-02
下载排行榜
更多
评测报告
更多
广告