打印

2407怎样将字符串常量定义到flash中,并且调用时不会出错

[复制链接]
2713|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pangshen|  楼主 | 2009-9-28 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
pangshen|  楼主 | 2009-10-12 15:17 | 只看该作者
除了调用TI给的用汇编编写的程序,有没有用C编写解决的方法?请高手指点

使用特权

评论回复
板凳
snakeemail| | 2009-10-14 22:52 | 只看该作者
不行,你定义到flash中,还是要送到ram中。

使用特权

评论回复
地板
pangshen|  楼主 | 2009-10-15 16:34 | 只看该作者
3# snakeemail


这个我知道,但是这样的话,只需要将需要的字符串在需要的时刻送到ram中就可以,而不必浪费那么多的空间。

有没有什么方法将字符串定义到程序空间,然后在调用的时间不会出错,并且是采用C语言的方式?

使用特权

评论回复
5
pangshen|  楼主 | 2009-10-21 16:18 | 只看该作者
本帖最后由 pangshen 于 2009-10-21 16:23 编辑

我看资料发现有一种方法,首先将cmd文件改为如下:
.const        : > PROG        PAGE 0,        run=SARAM        PAGE1        
{                                
            __const_run =.;        
            *(.c_mark)               
            *(.const)               
              __const_length =.- __const_run;      
}
然后在dos环境下修改rts2xx.lib文件,步骤如下:
把 ti\c2400\cgtools\bin下的文件和 ti\c2400\cgtools\lib下的文件都复制后放到一个新的文件夹(不要破坏原来的文件,把文件拷贝出来,不要有中文目录),然后在DOS环境下,找到刚新建立的文件夹,然后执行操作。
    dspar -x rts.src boot.asm
   CONST_COPY  .set 1
   dspa -v2xx boot.asm
   dspar -r rts2xx.lib boot.obj
我按照这种方法修改了,编译通过,但是好像还存在问题,接着解决。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

55

帖子

0

粉丝