使用ubuntu编译OMAPL138的C6748(DSP端)程序,发现链接不能通过,如下所示:
undefined first referenced symbol in file ——— —————- intcVectorTable bin/debug/obj/interrupt.oe674
这个intcVectorTable 是在如下代码中运用的,这个intcVectorTable是在lib_intvecs.asm中定义的,此工程是在linux下编译的,网上说没有包含库文件:system_config.lib,现在不知道是不是这个问题,还有,如果是,我应该把这个文件放到我的工程的哪里呢?
void IntDSPINTCInit (void)
{
unsigned int step = 0;
/* Set ISRs to default "do-nothing" routine */
while(step != C674X_INT_COUNT)
c674xISRtbl[step++] = IntDefaultHandler;
/* Set interrupt service table pointer to the vector table */
//ISTP = (unsigned int)_intcVectorTable;
ISTP = (unsigned int)intcVectorTable;
/* Clear pending CPU maskable interrupts (if any) */
ICR = 0xFFF0;
/* Enable NMIE bit to allow CPU maskable interrupts */
IER = (1 << C674X_NMI);
}
以下是我的工程的结构:
├── config.cn
├── dsp
│ ├── bin
│ │ └── debug
│ ├── configuro
│ │ ├── compiler.opt
│ │ ├── config.bld
│ │ ├── custom.mak
│ │ ├── linker.cmd
│ │ ├── package
│ │ ├── package.bld
│ │ ├── package.mak
│ │ ├── package.xdc
│ │ └── package.xs
│ ├── Dsp.cfg
│ ├── dsp_io_ctl.c
│ ├── dsp_io_ctl.h
│ ├── dsp_Laser_GPS_Data_Proc.c
│ ├── dsp_Laser_GPS_Data_Proc.h
│ ├── dsp_notify.c
│ ├── dsp_notify.h
│ ├── global_dsp.c
│ ├── global_dsp.h
│ ├── hal_timer.c
│ ├── hal_timer.h
│ ├── hal_uart.c
│ ├── hal_uart.h
│ ├── include
│ │ ├── armv5
│ │ ├── ascii.h
│ │ ├── board.h
│ │ ├── c674x
│ │ ├── cmdline.h
│ │ ├── cppi41dma.h
│ │ ├── cpsw.h
│ │ ├── dcan.h
│ │ ├── debug.h
│ │ ├── delay.h
│ │ ├── dmtimer.h
│ │ ├── ecap.h
│ │ ├── edma.h
│ │ ├── ehrpwm.h
│ │ ├── elm.h
│ │ ├── emac.h
│ │ ├── emifa.h
│ │ ├── epwm.h
│ │ ├── gpio.h
│ │ ├── gpio_v2.h
│ │ ├── gpmc.h
│ │ ├── hsi2c.h
│ │ ├── hs_mmcsd.h
│ │ ├── hw
│ │ ├── i2c.h
│ │ ├── lan8710a.h
│ │ ├── lidd.h
│ │ ├── mailbox.h
│ │ ├── mcasp.h
│ │ ├── mcspi.h
│ │ ├── mdio.h
│ │ ├── misc.h
│ │ ├── nand.h
│ │ ├── perf.h
│ │ ├── phy.h
│ │ ├── pruss.h
│ │ ├── psc.h
│ │ ├── raster.h
│ │ ├── rtc.h
│ │ ├── spi.h
│ │ ├── systick.h
│ │ ├── timer.h
│ │ ├── tsc_adc.h
│ │ ├── uart.h
│ │ ├── uart_irda_cir.h
│ │ ├── uartStdio.h
│ │ ├── usb.h
│ │ ├── vpif.h
│ │ └── watchdog.h
│ ├── include_dsp.h
│ ├── interrupt.c
│ ├── interrupt.h
│ ├── lib_gpio.c
│ ├── lib_intvecs.asm
│ ├── lib_math.c
│ ├── lib_math.h
│ ├── lib_psc.c
│ ├── lib_psc.h
│ ├── lib_spi.c
│ ├── lib_spi.h
│ ├── lib_uart.c
│ ├── lib_uart.h
│ ├── line_process.c
│ ├── line_process.h
│ ├── main_dsp.c
│ ├── makefile
│ ├── mathlib
│ │ ├── cosdp_i.h
│ │ ├── divdp_i.h
│ │ ├── divsp_i.h
│ │ ├── sindp_i.h
│ │ ├── sinhdp_i.h
│ │ └── sinsp_i.h
│ ├── motor.c
│ ├── motor.h
│ ├── print_dsp.c
│ ├── print_dsp.h
│ ├── pso_dsp.c
│ ├── pso_dsp.h
│ ├── system_config.lib
│ ├── tmpl.c
│ └── tmpl.h
├── host
│ ├── app_notify.c
│ ├── app_notify.h
│ ├── bin
│ │ ├── debug
│ │ └── release
│ ├── com.c
│ ├── com.h
│ ├── commissioning.c
│ ├── commissioning.h
│ ├── comPLC.c
│ ├── comPLC.corg
│ ├── comPLC.h
│ ├── CraneStateMachine.c
│ ├── CraneStateMachine.h
│ ├── file.c
│ ├── file.h
│ ├── GetLaser.c
│ ├── GetLaser.h
│ ├── global.c
│ ├── global.h
│ ├── interfacePLC.c
│ ├── laserGPSdatasend.c
│ ├── laserGPSdatasend.h
│ ├── -lm
│ ├── Lms100Scan.c
│ ├── Lms100Scan.h
│ ├── lms511control.c
│ ├── lms511control.h
│ ├── main.c
│ ├── makefile
│ ├── MCT.c
│ ├── MotorControl.c
│ ├── MotorControl.h
│ ├── MotorControl_lfy.c
│ ├── MotorControl_lfy.h
│ ├── mytype.h
│ ├── pc_damen.c
│ ├── pc_damen.h
│ ├── pc_datasave.c
│ ├── pc_datasave.h
│ ├── PCDdatasave.c
│ ├── PCDdatasave.h
│ ├── PlcModbusTcp.c
│ ├── PlcModbusTcp.h
│ ├── ReadConfig.c
│ ├── ReadConfig.h
│ ├── readGGAAVR.c
│ ├── readGGAAVR.h
│ ├── ReadGPS.c
│ ├── ReadGPS.h
│ ├── ReadMap.c
│ ├── ReadMap.h
│ ├── StackProfiling.h
│ ├── syslink_init.c
│ ├── syslink_init.h
│ └── timetool.c
├── makefile
├── map.cn
├── products.mak
├── run
├── run.sh
├── shared
│ ├── AppCommon.h
│ ├── config.bld
│ └── SystemCfg.h
├── si
│ ├── 3Dlaser.IAB
│ ├── 3Dlaser.IAD
│ ├── 3Dlaser.IMB
│ ├── 3Dlaser.IMD
│ ├── 3Dlaser.PFI
│ ├── 3Dlaser.PO
│ ├── 3Dlaser.PR
│ ├── 3Dlaser.PRI
│ ├── 3Dlaser.PS
│ ├── 3Dlaser.SearchResults
│ └── 3Dlaser.WK3
├── \345\214\227\344\272\254
│ └── config.cn
├── \346\240\207\345\256\2321
│ └── config.cn
├── \346\240\207\345\256\2322
│ └── config.cn
└── \346\240\207\351\233\266
└── config.cn
Shine:
右键工程->Show build settings->C6000 Linker->File Search Path添加库文件。
user3787733:
回复 Shine:
您好,您说的这个是CCS环境下配置吧?我想知道在ubuntu的工程下我怎么添加呢?我这个别人自己建立的工程,现在因为功能需要出现了上面的问题,或者说您知道缺少那个库文件吗?我可不可以把库直接添加到ubuntu下的环境中。
user3787733:
回复 Shine:
或者说,我通过CTRL+C 将程序kill掉,然后通过什么方式可以软件复位DSP,将DSP相关内存恢复成初始状态(重新上电初始化的那种状态)。