[求助] 如何将程序定向存在flash的信息存储器INFO

tanzhiying   2015-5-15 11:49 楼主
如何将MSP430程序定向存在flash的信息存储器INFO呢,因为我想把主存储器的空间留出来存放数据。

回复评论 (12)

官方有例程的,请去TI官方下载例程
科技改变生活
点赞  2015-5-15 13:09
固定数据很简单,在IAR里面只要这样定义就好了,主意地址
  1. #pragma location = 0x01080
  2. const u8 ARRAY[9+2][4+1]=
  3. {
  4.   {1,19,30,125,0},      //M - R
  5.   {0,85,0,85,5},        //M - F
  6.   {0,19,30,125,0},      //M - L
  7.   {0,60,0,60,5},        //F - F
  8.   {0,185,0,185,5},      //S - F  
  9.   {1,19,25,125,0},      //F - R
  10.   {0,77,10,255,0},      //S - L
  11.   {1,77,10,255,0},      //S - R
  12.   {0,19,25,125,0},      //F - L
  13.   {0,185,0,185,0},      //test data
  14.   {0,60,0,60,2}
  15. };
点赞  2015-5-15 13:30
引用: shower.xu 发表于 2015-5-15 13:30
固定数据很简单,在IAR里面只要这样定义就好了,主意地址

但是我要固定的是地址啊,也可以这么操作么?
点赞  2015-5-15 14:21
引用: tanzhiying 发表于 2015-5-15 14:21
但是我要固定的是地址啊,也可以这么操作么?

  • #pragma location = 0x01080
这就是固定地址啊,数组常量从0x1080开始。
点赞  2015-5-15 14:25
引用: shower.xu 发表于 2015-5-15 14:25
  • #pragma location = 0x01080
    这就是固定地址啊,数组常量从0x1080开始。

  • 不好意思打错了,要将程序固定在某个地址上,不是数组。
    点赞  2015-5-15 14:37
    引用: tanzhiying 发表于 2015-5-15 14:37 不好意思打错了,要将程序固定在某个地址上,不是数组。
    那我们再看看你的问题 “如何将MSP430程序定向存在flash的信息存储器INFO呢,因为我想把主存储器的空间留出来存放数据。” 信息存储器肯定是存数据而主存储器肯定是存程序和数据的,你这个出发点好像是错的。 另外,信息存储器空间很小放不下程序,即使放下了你也运行不起来。 以上基于我们对430内flash的信息存储区域认识一直的情况 另外,固定函数地址可以在函数后面加上@+地址 如:viod fun@0x50000() 你试试 本帖最后由 shower.xu 于 2015-5-15 14:47 编辑
    点赞  2015-5-15 14:42
    引用: shower.xu 发表于 2015-5-15 14:42
    那我们再看看你的问题 “如何将MSP430程序定向存在flash的信息存储器INFO呢,因为我想把主存储器的空间留出来存放数据。”
    信息存储器肯定是存数据而主存储器肯定是存程序和数据的,你这个出发点好像是错的。

    另外,信息存储器空间很小放不下程序,即使放下了你也运行不起来。

    以上基于我们对430内flash的信息存储区域认识一直的情况

    好像是这样的,我现在的问题是程序存在flash主存储器中,刚好占用了其中一段空间的一部分地址,由于擦除flash存数据只能一段一段地擦除,所以这一段剩下的地址我就不能用来存数据了,就浪费了,导致空间不够给我存数据了。
    点赞  2015-5-15 14:47
    引用: tanzhiying 发表于 2015-5-15 14:47
    好像是这样的,我现在的问题是程序存在flash主存储器中,刚好占用了其中一段空间的一部分地址,由于擦除flash存数据只能一段一段地擦除,所以这一段剩下的地址我就不能用来存数据了,就浪费了,导致空间不够给我存数据了。

    把一部分数据挪到Segment区,能挪多少看你用的型号,看看空间够不够。话说你啥数据呀那么占地方
    点赞  2015-5-15 15:10
    引用: shower.xu 发表于 2015-5-15 15:10
    把一部分数据挪到Segment区,能挪多少看你用的型号,看看空间够不够。话说你啥数据呀那么占地方

    重点是单片机用的是MSP430F122,只有4K的flash,我的数据有时long int,四个字节,要存几百个数就不够了。
    点赞  2015-5-15 15:24
    引用: tanzhiying 发表于 2015-5-15 15:24
    重点是单片机用的是MSP430F122,只有4K的flash,我的数据有时long int,四个字节,要存几百个数就不够了。

    存几百个数,遥控解码?
    点赞  2015-5-15 15:30
    引用: shower.xu 发表于 2015-5-15 15:30
    存几百个数,遥控解码?

    不是的,我现在打算看看能不能用串口把数据传到电脑上来存着。
    点赞  2015-5-15 15:42
    引用: shower.xu 发表于 2015-5-15 15:30
    存几百个数,遥控解码?

    你搞过msp430的bootloader嘛?
    淘宝:https://viiot.taobao.com/Q群243090717 多年专业物联网行业经验,个人承接各类物联网外包项目
    点赞  2015-6-3 21:43
    电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
      写回复