ZHCAAM1B May 2018 – August 2021 MSP430FR2000 , MSP430FR2032 , MSP430FR2033 , MSP430FR2100 , MSP430FR2110 , MSP430FR2111 , MSP430FR2153 , MSP430FR2155 , MSP430FR2310 , MSP430FR2311 , MSP430FR2353 , MSP430FR2355 , MSP430FR2422 , MSP430FR2433 , MSP430FR2475 , MSP430FR2476 , MSP430FR2512 , MSP430FR2522 , MSP430FR2532 , MSP430FR2533 , MSP430FR2632 , MSP430FR2633 , MSP430FR2672 , MSP430FR2673 , MSP430FR2675 , MSP430FR2676 , MSP430FR4131 , MSP430FR4132 , MSP430FR4133 , MSP430FR5720 , MSP430FR5721 , MSP430FR5722 , MSP430FR5723 , MSP430FR5724 , MSP430FR5725 , MSP430FR5726 , MSP430FR5727 , MSP430FR5728 , MSP430FR5729 , MSP430FR5730 , MSP430FR5731 , MSP430FR5732 , MSP430FR5733 , MSP430FR5734 , MSP430FR5735 , MSP430FR5736 , MSP430FR5737 , MSP430FR5738 , MSP430FR5739 , MSP430FR5847 , MSP430FR58471 , MSP430FR5848 , MSP430FR5849 , MSP430FR5857 , MSP430FR5858 , MSP430FR5859 , MSP430FR5867 , MSP430FR58671 , MSP430FR5868 , MSP430FR5869 , MSP430FR5870 , MSP430FR5872 , MSP430FR58721 , MSP430FR5887 , MSP430FR5888 , MSP430FR5889 , MSP430FR58891 , MSP430FR5922 , MSP430FR59221 , MSP430FR5947 , MSP430FR59471 , MSP430FR5948 , MSP430FR5949 , MSP430FR5957 , MSP430FR5958 , MSP430FR5959 , MSP430FR5962 , MSP430FR5964 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR59691 , MSP430FR5970 , MSP430FR5972 , MSP430FR59721 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR59891 , MSP430FR5992 , MSP430FR5994 , MSP430FR59941
在 FR4xx 系列中,FRAM 非常易于重现编程,因此也使得错误的代码执行容易无意中覆盖应用代码,这与从 RAM 执行的情况是一样的。
为了防止对 FRAM 进行错误覆盖,器件提供了存储器写保护功能。FR4xx 提供两个独立的写保护位:
写入 SYSCFG0 寄存器时,将保护密码 (SYSCFG0.FRWPW = 0xA5) 与其他位一起写入一个字中。
表 3-1 总结了 MSP430FR4xx 和 MSP430FR2xx 系列典型器件中的 FRAM 保护功能。
特性 | FR2033 | FR4133 | FR2433 | FR2311 | FR2111 | FR2355 | FR2476 |
---|---|---|---|---|---|---|---|
保护密码 (SYSCFG0.FRWPPW) | 否 | 否 | 是 | 是 | 是 | 是 | 是 |
程序 FRAM 写保护 (SYSCFG0.PFWP) | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
数据 FRAM 保护 (SYSCFG0.DFWP) | 是 | 是 | 是 | 否 | 否 | 是 | 是 |
程序 FRAM 写保护偏移地址 (SYSCFG0.FRWPOA) | 否 | 否 | 否 | 否 | 否 | 是 | 是 |
在 FR59xx 系列中,提供了存储器保护单元 (MPU)。建议在代码和数据存储器之间设置边界,以提高代码安全性并防止意外写入或擦除。MPU 允许用户分离 FRAM 块,并根据应用的要求为每个块分配唯一的权限。例如,如果存储块被指定为只读状态,则会阻止对该块的任何写入访问并标记错误。这对于存储在器件生命周期内不会更改的常量数据或应用代码非常有用