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