打印

帮忙找一下头文件的错误

[复制链接]
4008|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhangy029|  楼主 | 2007-8-19 16:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

各位高手,我最近刚开始接触2407A,用的是北航出的刘和平的《TMW320LF240xDSP结构、原理与应用》和
《TMW320LF240xDSP C语言开发应用》两本书,但是编程时使用
书中给出的用汇编编写的头文件和命令文件时老是出现下图中的
错误,总是提示:
"F2407REGS.H", ERROR!   at line 13: [E0003] Only labels 
and comments may begin in the first column. Make sure that        
the label name is not a reserved keyword.

IFR       .set    0006h        ;中断标志寄存器

"F2407REGS.H", ERROR!  at line 13: [E0002] Invalid mnemonic specification
IFR    .set    0006h        ;中断标志寄存器


我把图片拷了如下

相关帖子

沙发
computer00| | 2007-8-19 16:33 | 只看该作者

这错误报告说得不是很清楚吗?

只有标号和注释才可以顶格写...

使用特权

评论回复
板凳
zhangy029|  楼主 | 2007-8-19 16:53 | 只看该作者

先谢谢,但是空格后,也会出错

先谢谢,但是空格后,也会出错,下面是我把空格后的编译错误,空格后它提示助记符非法了,如下:


"F2407REGS.H", ERROR!   at line 13: [E0002] Invalid mnemonic specification
     IFR        .set    0006h        ;中断标志寄存器

使用特权

评论回复
地板
computer00| | 2007-8-19 17:33 | 只看该作者

那我就搞不清楚了,没用过这个DSP,不知道指令.

使用特权

评论回复
5
zhangy029|  楼主 | 2007-8-19 17:40 | 只看该作者

谢谢了,但是应该与指令无关

谢谢了,但是应该与指令无关,因为这只是头文件,即给dsp中的各个寄存器设置地址罢了。

使用特权

评论回复
6
xianggua| | 2007-8-21 00:05 | 只看该作者

重新写一次看看

你的头文件是不是拷贝别人的啊,
我碰到过,拷贝别人的头文件,编译时总不认,
最后发现头文件里有些不可见字符, 把那些字符去掉就可以了,
或者你把这一排删除, 你自己再写一遍看看。

我发现不可见字符的过程:我拖动鼠标选中一排, 反白后发现有个没见过的字符跟在后面。

使用特权

评论回复
7
zhangy029|  楼主 | 2007-8-21 10:17 | 只看该作者

谢谢楼上的

头文件我是拷别人的,我知道你的意思,汇编中不认中文输入状态中输进去的字母和标点符号,我也找过这个错误,上面是找完后还存在的问题。它提示只有标号和注释才能放在第一列,确保标号名不是关键字,但是IFR是中断标志寄存器,它也不是关键字呀,我就搞不明白了。继续接着等

使用特权

评论回复
8
wowow| | 2007-8-21 12:59 | 只看该作者

54一般用".mmregs"就可以加载ccs定义好的寄存器

很多寄存器不用定义

使用特权

评论回复
9
zhangy029|  楼主 | 2007-8-21 15:48 | 只看该作者

楼上的谢了

".mmregs"怎么加到ccs2.2中?

使用特权

评论回复
10
zhangy029|  楼主 | 2007-8-21 18:20 | 只看该作者

谢谢了

但是不行,是不是要加仿真器?我目前只是用软件模拟器sim28xx来调程序,未用仿真器,出现上述问题是不是与仿真器有关?

使用特权

评论回复
11
wowow| | 2007-8-21 20:28 | 只看该作者

会不是CCS for 28x内部已经把IFR之类的定义好了?

你直接使用IFR试试。我机子上现在没装ccs

使用特权

评论回复
12
zhangy029|  楼主 | 2007-8-21 20:47 | 只看该作者

问题解决了,谢谢各位的顶立帮助

问题解决了,谢谢各位几天的顶立帮助

问题出在建立工程时使用了默认的TMS320C28xx,改为TMS320C24xx就好了。

总结如下:
使用软件仿真器时,如用sim28xx仿真2407,在建立工程时要把类型选为24xx,不能用默认的28xx,否则头文件中IFR中断标志寄存器不能编译通过,这可能是由于2407与2812的内部结构不同导致,28不认IFR。

使用特权

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

本版积分规则

2

主题

9

帖子

0

粉丝