YTM32的flash应用答疑-详解写保护功能

YTM32的flash写保护功能详解

YTM32的flash应用答疑-详解写保护功能

Introduction

客户提出了一种应用场景:在使用某些授权软件(算法)的场景中,软件(算法)供应商向MCU的一些预留的存储区中写入专用的授权凭证,该凭证一机一码,各不相同,从而确保软件(算法)不会被非法复制。但对于MCU的应用开发者来说,经常需要刷写片内存储空间,更新程序或者数据,此时希望小心保存位于MCU内部存储器上的凭证,在开发和后期正常使用的过程中,不要被意外擦除,否则重新授权需要又需要额外的费用、时间和流程等。

绝大多数MCU的片内flash存储器管理模块都提供了写保护功能,当对已经设置保护功能的存储区进行擦写操作时,擦写的实际效果将失效,被保护存储区中的数据得以幸免留存,已达到防止误擦除的效果。

Principle

YTM32B1MD14微控制器为例,其中片内flash控制器模块EFM,对应有EFM_ADDR_PROT[0]EFM_ADDR_PROT[1]寄存器,其中每个比特可以保护8KB的存储区,按序分布,覆盖全部的片内flash的地址区域。

EFM_ADDR_PROT寄存器位的值为0时,写保护发生作用,对应位的值为1时,写保护不起作用,可以正常擦写。

有两种方式可以配置EFM_ADDR_PROT寄存器的值:

  • CUS_NVR0x100x18地址写数,这里的配置值将作为EFM_ADDR_PROT寄存器的初值,在硬件复位后自动生效(由boot rom复制到EFM_ADDR_PROT寄存器中)。但写入每个寄存器初值时要注意,高32位数必须为0x5A5A5A5A ,然后才是32位的有效配置值。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值