TI论坛
直播中

黄登高

7年用户 188经验值
私信 关注
[问答]

找不到字符intcVectorTable和_intcVectorTable

现在对OMAPL138 LCDK板子上的button进行测试,将其设置为中断来控制打印,但是编译中提示找不到字符intcVectorTable和_intcVectorTable 。求大神们解答~
代码是:
/* 头文件 */
#include
#include "hw_types.h"
#include "hw_syscfg0_OMAPL138.h"
#include "soc_OMAPL138.h"
#include "gpio.h"
#include "interrupt.h"
#include "lcdkOMAPL138.h"
/* 函数声明 */
void GPIOBankPinInit(void);
void SetupInt(void);
void ConfigureIntGPIO(void);
void GPIO2_4_Isr(void);
/*
* main.c
*/
void main(void)
[
//int i;
GPIOBankPinInit();
SetupInt();
ConfigureIntGPIO();
while(1)
[
//for(i=0x00FFFFFF;i>0;i--);//延时
//GPIOPinWrite(SOC_GPIO_0_REGS,45,GPIO_PIN_LOW);
]
]
void GPIOBankPinInit(void)
[
//GPIOBank2Pin4PinMuxSetup();
GPIOBank2Pin5PinMuxSetup();
//GPIOBank2Pin12PinMuxSetup();
GPIODirModeSet(SOC_GPIO_0_REGS, 38, GPIO_DIR_INPUT);
//GPIODirModeSet(SOC_GPIO_0_REGS, 45, GPIO_DIR_OUTPUT);
GPIOIntTypeSet(SOC_GPIO_0_REGS, 38, GPIO_INT_TYPE_FALLEDGE);
//GPIOIntTypeSet(SOC_GPIO_0_REGS, 38, GPIO_INT_TYPE_FALLEDGE);
GPIOBankIntEnable(SOC_GPIO_0_REGS,2);
]
void SetupInt(void)
[
IntDSPINTCInit();
IntGlobalEnable();
]
void ConfigureIntGPIO(void)
[

IntRegister(C674X_MASK_INT4,GPIO2_4_Isr);
IntEventMap(C674X_MASK_INT4,SYS_INT_GPIO_B2INT);
IntEnable(C674X_MASK_INT4);
]
void GPIO2_4_Isr(void)
[
//int i;
//GPIOPinWrite(SOC_GPIO_0_REGS,45,GPIO_PIN_HIGH);
printf("SW Downn");
//GPIOPinWrite(SOC_GPIO_0_REGS,45,GPIO_PIN_HIGH);
//for(i=0x00FFFFFF;i>0;i--);//延时
]
编译之后的问题是:
**** Build of configuration Debug for project INTLED ****
"C:\ti\ccsv5\utils\bin\gmake" -k all
'Building file: ../include/c674x/omapl138/interrupt.c'
'Invoking: C6000 Compiler'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6740 --abi=eabi -g --include_path="C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --include_path="../include" --include_path="../include/hw" --include_path="../include/c674x/omapl138" --define=omapl138 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependency="include/c674x/omapl138/interrupt.pp" --obj_directory="include/c674x/omapl138" "../include/c674x/omapl138/interrupt.c"
'Finished building: ../include/c674x/omapl138/interrupt.c'
' '
'Building target: INTLED.out'
'Invoking: C6000 Linker'
"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x" -mv6740 --abi=eabi -g --define=omapl138 --display_error_number --diag_warning=225 --diag_wrap=off -z --stack_size=0x800 -m"INTLED.map" --heap_size=0x800 -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/lib" -i"C:/ti/ccsv5/tools/compiler/c6000_7.4.4/include" --reread_libs --define=DSP_CORE=1 --warn_sections --display_error_number --diag_wrap=off --xml_link_info="INTLED_linkInfo.xml" --rom_model -o "INTLED.out" "./include/c674x/omapl138/interrupt.obj" "./include/c674x/omapl138/gpio.obj" "./main.obj" "../OMAPL138.cmd" "../library/drivers.lib" -l"libc.a"

undefined first referenced
symbol in file
--------- ----------------
intcVectorTable ./include/c674x/omapl138/interrupt.obj
error #10234-D: unresolved symbols remain
error #10010: errors encountered during linking; "INTLED.out" not built
>> Compilation failure
gmake: *** [INTLED.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****

这是怎么回事??

回帖(5)

李波

2020-4-20 10:29:18
intcVectorTable定义在intves.asm,是在tiC6748_StarterWare_1_20_04_01binaryc674xcgt_ccsc6748system_config下的system_config.lib里,在上面的编译信息里没有看到有包含这个库。
你这个工程是自己写的,还是在starterware基础上改的?原工程一切都是正常的。
先了解一下starterware的结构吧。
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

黄登高

2020-4-20 10:35:59
引用: lifei639156 发表于 2020-4-20 17:52
intcVectorTable定义在intves.asm,是在tiC6748_StarterWare_1_20_04_01binaryc674xcgt_ccsc6748system_config下的system_config.lib里,在上面的编译信息里没有看到有包含这个库。
你这个工程是自己写的,还是在starterware基础上改的?原工程一切都是正常的。
先了解一下starterware的结构吧。

这个是照着别人给的程序自己写的~谢谢!
举报

黄登高

2020-4-20 10:55:55
引用: lifei639156 发表于 2020-4-20 17:52
intcVectorTable定义在intves.asm,是在tiC6748_StarterWare_1_20_04_01binaryc674xcgt_ccsc6748system_config下的system_config.lib里,在上面的编译信息里没有看到有包含这个库。
你这个工程是自己写的,还是在starterware基础上改的?原工程一切都是正常的。
先了解一下starterware的结构吧。

请问有什么资料来介绍starterware的结构吗?
举报

李波

2020-4-20 11:07:21
引用: 何必太在意 发表于 2020-4-20 18:18
请问有什么资料来介绍starterware的结构吗?

具体是还是打开一个starterware的例程静下心来研读一下比较好。
大体上分为:driver, platform, system
Driver就是各个外设的驱动。
Platform是针对板子的配置,比如你前面问到的GPIO复用的问题,是对应板子的设计该管脚是否配置成GPIO了,所以也没有对每个管脚的配置。如果是自己的板子,需要修改platform,如果仅仅是自己用,直接在代码里写也行,不是非要放到platform lib里的。
system是针对CPU架构的,比如中断,cache等。
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

更多回帖

发帖
×
20
完善资料,
赚取积分