您好!
我们在 电源管理项目中使用 MSP430F5419AIPZ。 它使用 IAR for MSP430 7.20.1。 使用 MCU 时一切都正常。 我们几乎完成了编码和验证工作。 但是、如今、我们被分配了一个有关该项目的新功能。 它需要计算几个电源在最近1分钟内的平均电压和电流。 因此、我们需要将 最近1分钟内的所有电压和电流样本值存储在 RAM 中。 它需要大约3.1KB 的额外 RAM。 因此、我们在全局数组中添加了以下值缓冲区、如下所示:
静态 U_word 主机电流[261];
静态 U_word ACVol[261];
静态字 BatCurrent [2][261];
静态 U_word BatVol[2][261];
在添加这些缓冲区后、我们编译了项目并将十六进制文件烧写到目标板中、就像以前一样。 它不起作用、甚至不起作用(在程序开始时、我们点亮 LED。 但在本例中 LED 未亮起。)。 当我们使用 IAR 来调试程序时,程序没有像以前那样在 main()的开头中断。
我们已查看 MSP430F5419的数据表、其中显示4个扇区中有16KB RAM (每个扇区为4KB)。 我们在程序的 Debug/List/文件夹中选中了.map。 映射文件中的数据存储器字节显示其当前为6649字节、在我们更改代码之前为3516字节。 因此、我们猜在使用扇区0以外的 RAM 扇区时可能会有一些技巧用途。
此外、我们还知道有一个 RCCTL0寄存器来控制每个 RAM 扇区的 RAM 功率。 它的复位值为0x6900、这意味着所有扇区都处于加电状态。 此外、我们从未更改过代码中的 RCCTL0值。
那么、有人对我们的问题有什么想法可以帮助我们吗? 谢谢!
此致、
Ricky