关于msp430fr2000的内存FRAM的问题!!

2019-03-23 22:16发布

我在使用MSP430FR2000的时候,因为是内存小,价格便宜,引脚少。我们才选择了他,但是现在遇到了他的内存的问题。

我在写程序的时候,引入了ds1302的头文件,但是问题就随之而来了。因为这个单片机的fram只有0.5K.

    FRAM                    : origin = 0xFE00, length = 0x180

ds1302里面有2个地址数组:
static uchar  READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};
static uchar  WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};


只要有这2个数组在程序里面,编译就是不通过。提示:profram will not fit into available memory,placement with alignment fails for section
"ALL_FRAM" size 0x376.

我百度过,网上的解决方法好像是手动修改CMD文件里面的FRAM的长度。但是我真不知道该怎么该,有点懵。
我还试过把这个全局变量放到要用的函数里面。也不行,解决不了。

求求大佬帮忙看一下 编译软件是CCSV8.3


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
8条回答
yg776
2019-03-24 11:46
tiankai001 发表于 2019-3-2 07:22
这两个数组是常量吗,如果是,定义成常量,就不占RAM空间了

改成了
const uchar  READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};
const uchar  WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};

结果还是不通过

一周热门 更多>

相关问题

    相关文章