【车载开发系列】Flash支持的安全功能

2024-03-01 1504阅读

温馨提示:这篇文章已超过405天没有更新,请注意相关的内容是否还可用!

【车载开发系列】Flash支持的安全功能

这里写目录标题

  • 【车载开发系列】Flash支持的安全功能
    • 一. FlashMemory概念
    • 二. Flash Memory特性
      • 1)包括代码闪存和数据闪存
      • 2)闪存编程方法
      • 3)支持BGO(后台地面操作)
      • 4)闪存数据安全
      • 5)选项字函数
      • 6)支持代码flash和数据flash中的ECC (error detection/ correcting)功能内存
      • 三. Flash支持的安全功能
        • 1)OPT(Once Time Program)
        • 2)认证ID
        • 3)禁止连接专用闪存程序
        • 4)禁止块擦除命令
        • 5)禁止编程命令
        • 6)禁止读命令
        • 四. Flash支持的保护功能
          • 1)块保护
          • 2)硬件保护
          • 3)变量重置矢量
          • 五. 选项字OPBT
            • 1)OPJTAG
            • 2)WDT1_3
            • 3)WDT1_1
            • 3)WDT1_0
            • 4)WDT0_3
            • 5)WDT0_1
            • 6)WDT0_0
            • 7)WDT_2
            • 8)WDT_1
            • 9)WDT_0
            • 10)CANFDCRC
            • 11)RESETOUTEN
            • 12)CVM_HD_EN
            • 13)CVM_LD_EN

              一. FlashMemory概念

              FLASH存储器的英文名称是Flash Memory,一般简称为Flash,它结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM 的优势)

              过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储设备,然而近年来Flash全面代替了ROM(EPROM)在嵌入式系统中的地位,用作存储Bootloader以及操作系统或者程序代码或者直接当硬盘使用(U盘)

              二. Flash Memory特性

              1)包括代码闪存和数据闪存

              1)代码闪存可以存储程序代码和数据,具有用户区和扩展用户区。

              2)数据闪存用于存储数据。

              2)闪存编程方法

              1)通过串行接口的闪存编程和用户对闪存的编程支持程序(自编程)。

              3)支持BGO(后台地面操作)

              1)BGO函数允许在数据闪烁时在代码闪存中执行程序正在编程/擦除内存

              4)闪存数据安全

              1)支持安全功能,防止非法篡改或读取数据闪存。

              2)支持保护功能,防止flash错误覆盖。

              5)选项字函数

              1)设置端口、WDTA、CVM和CAN FD CRC释放复位后的操作(支持)仅为溢价,和重置。

              6)支持代码flash和数据flash中的ECC (error detection/ correcting)功能内存

              1)内置ECC功能,可检测2位错误和检测/纠正1位错误。

              三. Flash支持的安全功能

              1)OPT(Once Time Program)

              它就是我们平时讲到的一次性编程。

              OTP可以为用户区和扩展区的每个块单独设置。

              用户区代码闪存。当对一个区域进行OTP设置时,禁止串行编程和自编程。

              一旦设置,OTP设置不能被释放。此外,自从执行禁止在OTP的任何区域使用清除配置命令已设置,则不可能将安全设置从“禁止”更改为“允许”。

              Lock-Bit和OTP(Once Time Program)不要Set,否则会导致芯片锁死

              2)认证ID

              身份验证的结果可用于控制专用闪存编程器的连接进行串行编程。身份验证的结果也可以用来控制自编程的启用。

              3)禁止连接专用闪存程序

              禁止连接专用的闪存程序进行串行编程。由于在禁止连接专用闪存编程程序时也禁止执行配置清除命令,因此不可能将安全设置从“禁止”更改为“允许”

              4)禁止块擦除命令

              禁止在串行编程时执行块擦除命令。当禁止块删除命令时,也禁止执行配置清除命令,因此不可能将安全设置从“禁止”更改为“允许”。

              5)禁止编程命令

              禁止在串行编程时使用块擦除命令和编程命令。只有执行配置清除命令才能解除禁止。

              6)禁止读命令

              禁止在串行编程时读命令。只有执行配置清除命令才能解除禁止。

              四. Flash支持的保护功能

              1)块保护

              锁位设置可以单独进行,以启用或禁用编程和擦除代码闪存的用户区和扩展用户区的每个块。禁止对已设置锁定位并使能锁定位功能的区域进行编程和自编程擦除。当锁位功能在启用后被禁用时,编程或擦除可以再次进行。当一个代码块被擦除时,该块的锁位也被擦除

              2)硬件保护

              FLMD0引脚上的级别可以设置为禁止编程和擦除代码闪存。

              FLMD0 = 0:禁止编程

              FLMD0 = 1:允许编程

              3)变量重置矢量

              保护设置包括对复位矢量的控制。在编程一个新的引导程序而保留现有的引导程序之后,更改重置向量是一种安全的方法,可以将其更改到包含新的引导程序的区域。

              可以使用重置向量指定的区域是用户区和扩展用户区

              五. 选项字OPBT

              【车载开发系列】Flash支持的安全功能

              闪存的选项字节是一个扩展区域,保存用户为各种目的指定的数据。由选项字节指定的外围模块等的初始设置在从重置状态释放时生效。

              如果OPBT不对,可能导致其他调试器无法刷写程序,时钟不对导致CAN收发异常,等一系列问题

              在写入OPBT之前,可以先读取下硬件目前的OPBT,如果新写入的有问题,还可以重新写入原来的,在将程序写入闪存之前,一定要设置与下面列出的可选函数相对应的选项字节区域。

              选项字OPTION配置是RH850的一项重点。

              闪存的选项字节是一个扩展区域,并保存用户为各种目的指定的数据。由选项字节指定的外围模块等的初始设置在从复位状态释放时生效

              1)OPJTAG

              bitPos30 -29。这些位控制端口组JP0的功能。00: JP0用于通用/替代功能端口。

              01: JP0用于LPD 4引脚模式

              10: JP0用于LPD 1引脚模式

              11: JP0用于Nexus

              2)WDT1_3

              指定WDTA1的激活码方法。

              0:固定激活码

              1:可变激活码

              3)WDT1_1

              指定WDTA1的启动模式。

              0:软件触发启动方式

              1:默认启动模式

              3)WDT1_0

              启用或禁用WDTA1。bitPos23位。

              0:禁用WDTA1

              1:启用WDTA1

              4)WDT0_3

              bitPos22位。指定WDTA0的激活码方法。

              0:固定激活码

              1:可变激活码

              5)WDT0_1

              bitPos20。指定WDTA0的启动模式。

              0:软件触发启动方式

              1:默认启动模式

              6)WDT0_0

              启用或禁用WDTA0。

              0:禁用WDTA0

              1:启用WDTA0

              7)WDT_2

              bitPos18。控制WDTA0和WDTA1的溢出间隔时间。这些位指定WDTAnMD.WDTAnOVF[2:0]的重置值。

              8)WDT_1

              bitPos17。控制WDTA0和WDTA1的溢出间隔时间。这些位指定WDTAnMD.WDTAnOVF[2:0]的重置值。

              9)WDT_0

              bitPos16。控制WDTA0和WDTA1的溢出间隔时间。这些位指定WDTAnMD.WDTAnOVF[2:0]的重置值

              10)CANFDCRC

              CAN FD CRC协议

              0:原始协议

              1:新协议

              11)RESETOUTEN

              RESETOUT控制

              0:关闭复位

              1:复位使能

              12)CVM_HD_EN

              bitPos5;高压监控器启用

              0:关闭高压检测

              1:开启高压检测

              13)CVM_LD_EN

              bitPos4;启用低压监控器

              0:关闭低压检测

              1:开启低压检测

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]