首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教一个关于_c_int00和rts.lib的问题

请教一个关于_c_int00和rts.lib的问题

请问如何定义程序入口地址_c_int00 ?我的程序是用c写的,build的时候提示没定义_c_int00,我看书上说_c_int00是由rts.lib库定义的,例子上都是在vector.asm里面写.ref _c_int00 这句的。是不是所有工程都要自己也写一个vector.asm程序加进去,然后里面写上.ref _c_int00 这句才行呢?什么情况下才要写vector.asm程序呢?
还有,就是我用的是c64xc(simulator),添加rts.lib时发现有两个路径,一个是\ti\c6000\cgtools\lib\,但是里面有好多啊,如rts6200.lib,rts6200e.lib,rts6201.lib,rts6201e.lib,rts6400.lib,rts6400e.lib,等等,我加了rts6400.lib,但是rebuild的时候发现5个错误:
>>   error: linking files for incompatible targets (library
            'D:\ti\c6000\cgtools\lib\rts6400.lib', member 'boot.obj')
>>   error: linking files for incompatible targets (library
            'D:\ti\c6000\cgtools\lib\rts6400.lib', member 'exit.obj')
>>   error: linking files for incompatible targets (library
            'D:\ti\c6000\cgtools\lib\rts6400.lib', member '_lock.obj')
>>   error: linking files for incompatible targets (library
            'D:\ti\c6000\cgtools\lib\rts6400.lib', member 'autoinit.obj')
>>   error: linking files for incompatible targets (library
            'D:\ti\c6000\cgtools\lib\rts6400.lib', member 'memcpy64.obj')

Build Complete,
  5 Errors, 0 Warnings, 0 Remarks.
是不是加的头文件不匹配啊?
于是我又换了一个路径,\ti\6400\dsplib\lib\,这个下面只有一个文件dsp64x.lib,于是我把这个文件加进工程,没有以上错误,但有如下错误:
>> warning: entry point symbol _c_int00 undefined

undefined                        first referenced
symbol                              in file
---------                        ----------------
_c_int00                         d:\demo\Debug\vector.obj
>>   error: symbol referencing errors - 'port_connect.out' not built

Build Complete,
  1 Errors, 1 Warnings, 0 Remarks.
这究竟是怎么回事啊?rts6400.lib和dsp64x.lib又有什么区别呢?
这些问题最终目的都是关于如何正确地定义出_c_int00时延伸出来的,请高人一一指点啊!感激不尽:)
入口地址_c_int00是在rts.lib里定义了的,如果是用c语言对dsp进行编程,你的main函数就对应的是这个入口地址,但是需要在vector.asm里面声明这个入口地址,因为中断复位的时候要用到这个地址。
噢,是这样啊,明白了!多谢啦!
谢谢楼主发贴啊!学了不少东西
返回列表