帮忙找一下头文件的错误

[复制链接]
5288|12
 楼主| zhangy029 发表于 2007-8-19 16:29 | 显示全部楼层 |阅读模式
<br />各位高手,我最近刚开始接触2407A,用的是北航出的刘和平的《TMW320LF240xDSP结构、原理与应用》和<br />《TMW320LF240xDSP&nbsp;C语言开发应用》两本书,但是编程时使用<br />书中给出的用汇编编写的头文件和命令文件时老是出现下图中的<br />错误,总是提示:<br />&quot;F2407REGS.H&quot;,&nbsp;ERROR!&nbsp;&nbsp;&nbsp;at&nbsp;line&nbsp;13:&nbsp;[E0003]&nbsp;Only&nbsp;labels&nbsp;<br />and&nbsp;comments&nbsp;may&nbsp;begin&nbsp;in&nbsp;the&nbsp;first&nbsp;column.&nbsp;Make&nbsp;sure&nbsp;that&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />the&nbsp;label&nbsp;name&nbsp;is&nbsp;not&nbsp;a&nbsp;reserved&nbsp;keyword.<br /><br />IFR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.set&nbsp;&nbsp;&nbsp;&nbsp;0006h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;中断标志寄存器<br /><br />&quot;F2407REGS.H&quot;,&nbsp;ERROR!&nbsp;&nbsp;at&nbsp;line&nbsp;13:&nbsp;[E0002]&nbsp;Invalid&nbsp;mnemonic&nbsp;specification<br />IFR&nbsp;&nbsp;&nbsp;&nbsp;.set&nbsp;&nbsp;&nbsp;&nbsp;0006h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;中断标志寄存器<br /><br /><br />我把图片拷了如下
computer00 发表于 2007-8-19 16:33 | 显示全部楼层

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

只有标号和注释才可以顶格写...
 楼主| zhangy029 发表于 2007-8-19 16:53 | 显示全部楼层

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

先谢谢,但是空格后,也会出错,下面是我把空格后的编译错误,空格后它提示助记符非法了,如下:<br /><br /><br />&quot;F2407REGS.H&quot;,&nbsp;ERROR!&nbsp;&nbsp;&nbsp;at&nbsp;line&nbsp;13:&nbsp;[E0002]&nbsp;Invalid&nbsp;mnemonic&nbsp;specification<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;IFR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.set&nbsp;&nbsp;&nbsp;&nbsp;0006h&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;中断标志寄存器<br />
computer00 发表于 2007-8-19 17:33 | 显示全部楼层

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

  
 楼主| zhangy029 发表于 2007-8-19 17:40 | 显示全部楼层

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

谢谢了,但是应该与指令无关,因为这只是头文件,即给dsp中的各个寄存器设置地址罢了。
xianggua 发表于 2007-8-21 00:05 | 显示全部楼层

重新写一次看看

你的头文件是不是拷贝别人的啊,<br />我碰到过,拷贝别人的头文件,编译时总不认,<br />最后发现头文件里有些不可见字符,&nbsp;把那些字符去掉就可以了,<br />或者你把这一排删除,&nbsp;你自己再写一遍看看。<br /><br />我发现不可见字符的过程:我拖动鼠标选中一排,&nbsp;反白后发现有个没见过的字符跟在后面。
 楼主| zhangy029 发表于 2007-8-21 10:17 | 显示全部楼层

谢谢楼上的

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

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

很多寄存器不用定义
 楼主| zhangy029 发表于 2007-8-21 15:48 | 显示全部楼层

楼上的谢了

&quot;.mmregs&quot;怎么加到ccs2.2中?
 楼主| zhangy029 发表于 2007-8-21 18:20 | 显示全部楼层

谢谢了

但是不行,是不是要加仿真器?我目前只是用软件模拟器sim28xx来调程序,未用仿真器,出现上述问题是不是与仿真器有关?
wowow 发表于 2007-8-21 20:28 | 显示全部楼层

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

你直接使用IFR试试。我机子上现在没装ccs
 楼主| zhangy029 发表于 2007-8-21 20:47 | 显示全部楼层

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

问题解决了,谢谢各位几天的顶立帮助<br /><br />问题出在建立工程时使用了默认的TMS320C28xx,改为TMS320C24xx就好了。<br /><br />总结如下:<br />使用软件仿真器时,如用sim28xx仿真2407,在建立工程时要把类型选为24xx,不能用默认的28xx,否则头文件中IFR中断标志寄存器不能编译通过,这可能是由于2407与2812的内部结构不同导致,28不认IFR。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

9

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部