ZHCA930B June   2014  – August 2021 MSP430FR2032 , MSP430FR2033 , MSP430FR2110 , MSP430FR2111 , MSP430FR2311 , MSP430FR2433 , MSP430FR2532 , MSP430FR2533 , MSP430FR2632 , MSP430FR2633 , 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 , MSP430FR5967 , MSP430FR5968 , MSP430FR5969 , MSP430FR5969-SP , MSP430FR59691 , MSP430FR5970 , MSP430FR5972 , MSP430FR59721 , MSP430FR5986 , MSP430FR5987 , MSP430FR5988 , MSP430FR5989 , MSP430FR5989-EP , MSP430FR59891 , MSP430FR5994 , MSP430FR6820 , MSP430FR6822 , MSP430FR68221 , MSP430FR6870 , MSP430FR6872 , MSP430FR68721 , MSP430FR6877 , MSP430FR6879 , MSP430FR68791 , MSP430FR6887 , MSP430FR6888 , MSP430FR6889 , MSP430FR68891 , MSP430FR6920 , MSP430FR6922 , MSP430FR69221 , MSP430FR6927 , MSP430FR69271 , MSP430FR6928 , MSP430FR6970 , MSP430FR6972 , MSP430FR69721 , MSP430FR6977 , MSP430FR6979 , MSP430FR69791 , MSP430FR6987 , MSP430FR6988 , MSP430FR6989 , MSP430FR69891

 

  1.   商标
  2. 1FRAM 和通用存储器
  3. 2可以将其视为 RAM
  4. 3存储器布局分区
    1. 3.1 程序代码和常量数据
    2. 3.2 变量
    3. 3.3 软件栈
    4. 3.4 支持在 MSP430 IDE 中进行存储器分区
      1. 3.4.1 TI Code Composer Studio
        1. 3.4.1.1 修改链接器文件示例 1
        2. 3.4.1.2 修改链接器文件示例 2
        3. 3.4.1.3 修改链接器文件示例 3
      2. 3.4.2 适用于 MSP430 的 IAR Embedded Workbench
        1. 3.4.2.1 修改链接器文件示例 1
        2. 3.4.2.2 修改链接器文件示例 2
        3. 3.4.2.3 修改链接器文件示例 3
  5. 4优化应用能耗和性能
    1. 4.1 缩短从 LPMx.5 唤醒的时间
  6. 5面向 FRAM 且易于使用的编译器扩展
    1. 5.1 TI Code Composer Studio
    2. 5.2 适用于 MSP430 的 IAR Embedded Workbench
  7. 6FRAM 保护和安全性
    1. 6.1 存储器保护
    2. 6.2 检查链接器映射文件
      1. 6.2.1 TI Code Composer Studio
      2. 6.2.2 适用于 MSP430 的 IAR Embedded Workbench
    3. 6.3 存储器保护设置
      1. 6.3.1 FR5xx 和 FR6xx 系列 MCU MPU 配置
        1. 6.3.1.1 CCS MPU 实现方式
          1. 6.3.1.1.1 手动配置 MPU
          2. 6.3.1.1.2 基于 IDE 向导的 MPU 配置
        2. 6.3.1.2 IAR MPU 实现方式
          1. 6.3.1.2.1 手动配置 MPU
          2. 6.3.1.2.2 基于 IDE 向导的 MPU 配置
      2. 6.3.2 FR2xx 和 FR4xx 系列 MCU FRAM 写保护配置
    4. 6.4 IP 封装
  8. 7参考文献
  9. 8修订历史记录

存储器布局分区

因为 FRAM 存储器可用作程序代码、变量、常量、栈等的通用存储器,所以必须针对应用对该存储器进行分区。Code Composer Studio™ 和适用于 MSP430 IDE 的 IAR Embedded Workbench® 都可用于设置应用的存储器布局,以便根据应用需求尽可能充分利用底层 FRAM。这些存储器分区方案通常位于特定于 IDE 的链接器命令文件内部。默认情况下,链接器命令文件通常会将变量和栈分配到 SRAM 中。此外,会将程序代码和常量分配到 FRAM 中。可以根据应用需求移动或按大小排列这些存储器分区。有关详细信息,请参阅Topic Link Label3.4

在 MSP430 MCU 中,可以根据所用数据的大小定义合理的数据类型。表 3-1 列出了常用的数据类型。更多详细信息,请参阅《MSP430 优化 C/C++ 编译器》

表 3-1 MSP430 C/C++ 数据类型
类型 大小 对齐 表示 范围
最小值 最大值
signed char 8 位 8 二进制 -128 127
char 8 位 8 ASCII 0 或 -128 255 或 127
unsigned char 8 位 8 二进制 0 255
bool(C99) 8 位 8 二进制 0(假) 1(真)
short、signed short 16 位 16 二进制 -3 2768 32 767
unsigned short 16 位 16 二进制 0 65 535
int、signed int 16 位 16 二进制 -3 2768 32 767
unsigned int 16 位 16 二进制 0 65 535
long、signed long 32 位 16 二进制 -2 147 483 648 2 147 483 647
unsigned long 32 位 16 二进制 0 4 294 967 295
long long、signed long long 64 位 16 二进制 -9 223 372 036 854 775 808 9 223 372 036 854 775 807
unsigned long long 64 位 16 二进制 0 18 446 744 073 709 551 615
float 32 位 16 IEEE 32 位 1.175 494e-38 3.40 282 346e+38
double 64 位 16 IEEE 64 位 2.22 507 385e-308 1.79 769 313e+308
long double 64 位 16 IEEE 64 位 2.22 507 385e-308 1.79 769 313e+308