主题中讨论的其他器件:HDC2010METER-EVM、 HDC2010、
工具/软件:Code Composer Studio
您好!
该器件具有2kB 的 RAM、但这还不足以满足我的需求。 我想使用64KB 的 FRAM。 然而,事实证明,这是一个相当大的挑战。
首先、我运行的是 CCS 版本:10.0.00010
我应该为 MSP 下载并安装 CCS 吗?
目标硬件是 HDC2010METER-EVM
我正在使用 MSP‑EXP430FR5994评估板的 eZ-FET 部分对目标进行编程。
HDC2010METER-EVM 运行演示程序、提供板载传感器(HDC2010)每2秒更新一次的温度和湿度测量(显示在 LCD 上)。
我将向提供的演示代码中添加一项功能、该功能可计算两次测量的5分钟移动平均值。
这需要一个2-D 数组:150个测量 x 每个测量8个字符字节。
两个阵列、一个用于温度、一个用于湿度:
char Stmp_arr[150][8];
char shm_arr[150][8];
学习了 slaa628、MSP430FRAM 技术–操作方法和最佳实践以及 MSP430FR5969的数据表后,我得出的结论是,我必须修改链接器命令文件(lnk_msp430fr5969.cmd):
//.bss :{}> RAM /*全局和静态变量*/
//.data :{}> RAM /*全局和静态变量*/
.bss :{}> FRAM /*全局和静态变量*/
.data :{}> FRAM /*全局和静态变量*/
.TI.noinit:{}>RAM /* for #pragma noinit */
.stack :{}> RAM (高)/*软件系统堆栈*/
.TI.persistent:{}> FRAM /* for #pragma PERSISTENT */
我将段.bss 和.data 重新分配到 FRAM (用蓝色突出显示)。 我还添加了以绿色突出显示的行。
我还进入了项目属性、启用了 MPU、并选中以手动指定内存段和权限-为自己提供了所有权限。
无论我做什么、阵列变量始终从0x001F26开始、该值仍然是 RAM。
有什么想法吗?