完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-25 14:43 编辑
朋友们,我今天遇见了一个问题,希望大侠们能指点一二 开发环境:CCS3.3.82+xds560plus;芯片使用OMAPL138,目前只使用C6748单核,采用BIOS系统;采用CCS开发,完全不牵涉ARM部分; BIOS系统版本:bios_5.41.02.14,编译器V6.1.11,build顺利通过,linking过程程序报错如下: -------------------------------------------------------------------------------------------------------------------------------------------------------------- [Linking...] "C:Program FilesTexas InstrumentsC6000 Code Generation Tools 6.1.11bincl6x" -@"Debug.lkf" error: symbol "__stack" redefined: first defined in "C:/Program Files/Texas Instruments/C6000 Code Generation Tools 6.1.11/lib/rts67plus.lib redefined in "C:/CCStudio_v3.3/bios_5_41_02_14/packages/ti/bios/lib/bios.a674 error: symbol "_c_int00" redefined: first defined in "C:/Program Files/Texas Instruments/C6000 Code Generation Tools 6.1.11/lib/rts67plus.lib redefined in "C:/CCStudio_v3.3/bios_5_41_02_14/packages/ti/bios/lib/bios.a674 undefined first referenced symbol in file --------- ---------------- __STACK_SIZE C:/Program Files/Texas Instruments/C6000 Code Generation Tools 6.1.11/lib/rts67plus.lib error: unresolved symbols remain error: errors encountered during linking; "./Debug/138_dm9000RJ45.out" not built >> Compilation failure Build Complete, 1 Errors, 11 Warnings, 0 Remarks. ------------------------------------------------------------------------------------------------------------------------------------------------------------- 在dsplinker.cmd文件中的stack定义如下:—stack 0x00000800 在BIOS的TCF文件中对stack size定义 0x0400 以上部分如信息不够,还请指出。折腾了三天木有结果,诚盼指点,谢谢! |
|
相关推荐
9个回答
|
|
stack size重复定义了。把在dsplinker.cmd文件中的stack定义删掉,在BIOS的TCF文件中准确配置需要的size,再试试。
|
|
|
|
hkhwdz 发表于 2018-6-25 04:23 你好,我删掉了dsplinker.cmd文件中的stack文件定义,在TCF中配置size为0x0800,编译之后报错依然。 |
|
|
|
抱歉刚才没看仔细,我看你的出错信息是说rts67plus.lib和bios的重复定义了_c_int00和stack size。我觉得很奇怪因为按我的理解rts的库一般是不会包含c_int00或者stack size的信息的。感觉这个库有问题?你能不能再试试把这个rts的库去掉? |
|
|
|
把cmd文件里的定义去掉。
另外,BIOS的配置为C674x的,为什么RTS库是rts67plus.lib,是不是在什么地方手动添加了rts67plus.lib,对于现在编译器,尤其是用了BIOS的工程,不需要手动添加rts库的,CCS会根据配置自动为工程选择相应的rts库。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-25 04:57 @Tony Tang,@ Hong Lan 谢谢提醒, 在dsplinker.cmd文件里有这么一句 -l rts67plus.lib 我把这句注释掉了,然后前两个错误就没了,谢谢哦。 最后一个错误仍然存在,再粘贴如下: [Linking...] "C:Program FilesTexas InstrumentsC6000 Code Generation Tools 6.1.11bincl6x" -@"Debug.lkf" undefined first referenced symbol in file --------- ---------------- __STACK_SIZE C:/CCStudio_v3.3/bios_5_41_02_14/packages/ti/bios/lib/bios.a674 error: unresolved symbols remain error: errors encountered during linking; "./Debug/138_dm9000RJ45.out" not built bios.a674这个文件是不是需要替换? |
|
|
|
把cmd文件贴上来看一下。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-25 05:25 以下部分是dsplinker.cmd文件,还有个文件是BIOS生成的cmd文件,属于BIOS自动生成,不可更改,就不贴了 --------------------------------------------------------------------------------------- /* * Linker command file * */ //-l rts67plus.lib //-l ......bsllibevmomapl138_bsl.lib //-stack 0x00000800 -heap 0x00000800 //MEMORY //[ // IRAM: o = 0x80000000 l = 0x00020000 /* 128 kBytes L3RAM */ // DRAM: o = 0xC2000000 l = 0x02000000 /* 64 MBytes SDRAM */ // AEMIF: o = 0x62000000 l = 0x02000000 /* 32 MBytes CS3 EMIF */ //] SECTIONS [ .bss > L3_CBA_RAM .cinit > L3_CBA_RAM .cio > L3_CBA_RAM .const > L3_CBA_RAM .stack > L3_CBA_RAM .sysmem > L3_CBA_RAM .text > L3_CBA_RAM .DRAM > L3_CBA_RAM .far > DDR .switch > L3_CBA_RAM .aemif_mem > AEMIF .vecs > L3_CBA_RAM .buffer > DDR ] |
|
|
|
dsfsfsfs3 发表于 2018-6-25 05:40 在用了DSP BIOS的情况下,下面红色字体部分都不需要在自定义的cmd文件里出现。 -heap 0x00000800 //MEMORY //[ // IRAM: o = 0x80000000 l = 0x00020000 /* 128 kBytes L3RAM */ // DRAM: o = 0xC2000000 l = 0x02000000 /* 64 MBytes SDRAM */ // AEMIF: o = 0x62000000 l = 0x02000000 /* 32 MBytes CS3 EMIF */ //] SECTIONS [ .bss > L3_CBA_RAM .cinit > L3_CBA_RAM .cio > L3_CBA_RAM .const > L3_CBA_RAM .stack > L3_CBA_RAM .sysmem > L3_CBA_RAM .text > L3_CBA_RAM .DRAM > L3_CBA_RAM .far > DDR .switch > L3_CBA_RAM .aemif_mem > AEMIF .vecs > L3_CBA_RAM .buffer > DDR] http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
lifei639156 发表于 2018-6-25 05:53 @Tony Tang,谢谢你的提醒,我按照你的提示修改了CMD文件,结果还是出现了错误,错误如下 warning: creating output section ".vecs" without a SECTIONS specification "D:\workspace\MuPro\tests\138_dm9000RJ45_main\src\omapl138cfg.cmd", line 335: error: run placement fails for object ".far", size 0x10370b (page 0). Available ranges: IRAM size: 0x30000 unused: 0x1c593 max hole: 0x1c588 error: errors encountered during linking; "./Debug/138_dm9000RJ45.out" not built -------------------------------------------------------------------- 我取消了对以下两句的注释,问题就解决了 .far > DDR .vecs > IRAM 按照提示.far占用空间大,不能放在IRAM里,所以就指定在DDR里。 给.vecs 分配到IRAM里,警告和错误就没了。 谢谢各位DX指点,问题搞定,结贴。 |
|
|
|
只有小组成员才能发言,加入小组>>
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
577 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1028 浏览 1 评论
677 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
500 浏览 1 评论
1024 浏览 0 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
130浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
102浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
111浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
109浏览 12评论
TPA6304-Q1: TPA6304 两片公用一组I2C的话,其中一片配置不成功怎么办
137浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-10 13:51 , Processed in 0.890998 second(s), Total 61, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号