This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CCS/LAUNCHXL-F28027F:#1966:无法打开源文件--- 在编译"../main.c"时检测到无效参数1灾难性错误。

Guru**** 2535150 points
Other Parts Discussed in Thread: CONTROLSUITE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/887596/ccs-launchxl-f28027f-1966-cannot-open-source-file--------------------invalid-argument-1-catastrophic-error-detected-in-the-compilation-of-main-c

器件型号:LAUNCHXL-F28027F
Thread 中讨论的其他器件:controlSUITE

工具/软件:Code Composer Studio

你(们)好  

我在网上看到一个代码、希望在我的 CCS 上运行、但是我很难让它运行、因为包含和链接路径存在错误、我希望能够为修复这些错误提供一些帮助。

在下面、您可以看到我在线复制的代码和问题的屏幕截图

/*
*

//器件头文件和示例包括文件
#include
#include "DSP28x_Project.h"
#include "F2802x_common/include/clk.h"
#include "F2802x_common/include/flash.h"
#include "F2802x_common/include/gpio.h"
#include "F2802x_common/include/PIE.h"
#include "F2802x_common/include/PLL.h"
#include "F2802x_common/include/adc.h"
#include "F2802x_common/include/PWM.h"
#include "F2802x_common/include/timer.h"
#include "F2802x_common/include/wdog.h"

//中断处理程序的函数原型
中断空 CPU_timer0_ISR (空);

//函数原型
void init_system (void);//初始化所有句柄、禁用看门狗、时钟、禁用 PIE 和所有中断
void init_gpio (void);//设置 GPIO 引脚
void init_Timer (void);//设置计时器
void init_pie (void);//启用 PIE 和寄存器 ISR 处理程序
void init_adc (void);//设置和初始化 ADC 模块
void Init_PWM (void);//设置和初始化 PWM 模块
void Data_Update (void);//更新 ADC 值
void Adj_PWM (void);//更新 PWM 占空比

//常量
const float ADC_12位= 0.0008056;// 12位 ADC 电压分辨率
const float IP_VOLT_CONST = 0.0314;//校准的恒定输入电压
const float IP_Amp_Const = 4.31;//校准的恒定输入电流
const float OP_VOLT_CONST = 0.085;//校准的恒定输出电压
const float OP_Amp_Const = 3.6;//校准的恒定输出电流

// MPPT 全局变量*大多数变量可以放置在函数内,但要在 CCS 中调试和查看状态,它们需要是全局变量
float IP_Amp;
float IP_Volt;
悬空 Old_ip_Volt;
浮点运算放大器;
浮点 OP_Volt;
float New_pw_in;
悬空 Old_pw_in;
float New_pw_out;
INT SysTick = 0;//用于控制 PWM 更新频率
int PWM_Temp_Temp;//用于绘制数据
int Duty_Cycle;//用于绘制数据

//系统句柄

clk_handle myClk;
Flash_handle myFlash;
GPIO_Handle myGpio;
adc_handle myAdc;
PIE_Handle myPie;
Timer_handle myTimer0、myTimer1;
cpu_handle myCpu;
pll_handle myPll;
WDOG_Handle myWDog;
PWM_Handle myPwm1、myPwm2;

void main (void)

init_system();
init_gpio();
init_Timer();
init_pie ();
init_adc();

//禁用 ePWM 模块时基时钟同步信号
clk_disableTbClockSync (myClk);
init_pwm ();
//启用 ePWM 模块时基时钟同步信号
CLK_enableTbClockSync (myClk);

DATA_Update ();//初始读取当前电源输入

while (1)

IF (SysTick ==1)

Data_Update();
ADJ_PWM ();
SysTick = 0;


中断处理程序的//函数声明
中断空 CPU_timer0_ISR (空)

SysTick = 1;
PI_clearInt (myPie、PI_GroupNumber_1);

//函数声明
void init_system (void)

//初始化此应用程序所需的所有句柄
myPwm1 = PWM_init ((void *) PWM_ePWM1_base_ADDR、sizeof (PWM_Obj));
myPwm2 = PWM_init (((void *) PWM_ePWM2_base_ADDR、sizeof (PWM_Obj));
myAdc = ADC_init ((void *) ADC_base_ADDR、sizeof (ADC_Obj));
myClk = CLK_init ((void *) CLK_base_ADDR、sizeof (CLK_Obj));
myCpu = cpu_init ((void *) NULL、sizeof (cpu_Obj));
myFlash = flash_init ((void *) flash_base_ADDR、sizeof (flash_Obj));
myGpio = GPIO_init ((void *) GPIO_base_ADDR、sizeof (GPIO_Obj));
myPie = PI_init ((void *) PIE_BASE_ADDR、sizeof (PIE_Obj));
myPll = PLL_init ((void *) PLL_base_ADDR、sizeof (PLL_Obj));
myTimer0 = timer_init (((void *) TIMER0_base_ADDR、sizeof (timer_Obj));
myTimer1 = timer_init (((void *) Timer1_base_ADDR、sizeof (timer_Obj));
myWdDog = WDOG_INIT ((void *) WDOG_BASE_ADDR、sizeof (WDOG_Obj));


//禁用看门狗(WDOG)计时器
WDOG_DISABLE (myWDog);
//启用 ADC 时钟
CLK_enableAdcClock (myClk);
//校准 ADC 和内部振荡器
(*Device_cal)();
//将内部振荡器1设置为时钟源
CLK_setOscSrc (myClk、CLK_OscSrc_Internal);
//将 PLL 设置为 x12/1、这样将产生60MHz = 10MHz * 12/2
PLL_setup (myPll、PLL_Multiplier_12、PLL_DivideSelect_CLKIN_BY_2);
//禁用外设中断扩展(PIE)
PIE_DISABLE (myPie);
//禁用所有中断
PI_DisableAllInts (myPie);
//禁用全局中断
CPU_disableGlobalInts (myCpu);
//清除所有中断标志
CPU_clearIntFlags (myCpu);
//启用全局实时中断 DBGM
CPU_enableDebugInt (myCpu);

空 init_gpio()

//初始化 EPWM1A 的 GPIO
GPIO_setPullUp (myGpio、GPIO_Number_0、GPIO_PULLUP_Disable);
//GPIO_setPullUp (myGpio、GPIO_Number_1、GPIO_PULLUP_Disable);//使用的注释
GPIO_setMode (myGpio、GPIO_Number_0、GPIO_0_Mode_EPWM1A);
//GPIO_setMode (myGpio、GPIO_Number_1、GPIO_1_Mode_EPWM1B);//使用的注释
//初始化 EPWM2A 的 GPIO
GPIO_setPullUp (myGpio、GPIO_Number_2、GPIO_PULLUP_Disable);
//GPIO_setPullUp (myGpio、GPIO_Number_3、GPIO_PULLUP_Disable);//使用的注释
GPIO_setMode (myGpio、GPIO_Number_2、GPIO_2_Mode_EPWM2A);
//GPIO_setMode (myGpio、GPIO_Number_3、GPIO_3_Mode_EPWM2B);//使用的注释

空 init_Timer()

//设置计时器(计时器)周期
Timer_setPeriod (myTimer0、6000000);
//设置计时器(计时器)预分频器
Timer_setPreScaler (myTimer0、0);
//重新加载计时器(计时器)值
Timer_reload (myTimer0);
//设置计时器(计时器)仿真模式
Timer_setEmulationMode (myTimer0、timer_EmulationMode_runfree);
//启用计时器(计时器)中断
Timer_enableInt (myTimer0);
//启动计时器(计时器)
Timer_start (myTimer0);

void init_pie (void)

//使用调试中断处理程序初始化矢量表
PI_setDebugIntVectorTable (myPie);
//启用外设中断扩展(PIE)
PIE_ENABLE (myPie);
//注册 PIE 中断的处理程序
PI_registerPieIntHandler (myPie、PI_GroupNumber_1、PI_SubGroupNumber_7、(intVec_t)&CPU_timer0_ISR);
//启用指定的中断编号
CPU_enableInt (myCpu、CPU_IntNumber_1);
//启用 CPU 定时器0中断
PIE_enableTimer0Int (myPie);
//启用全局中断
cpu_enableGlobalInts (myCpu);
//启用调试中断
CPU_enableDebugInt (myCpu);

void init_adc (void)

//启用 ADC 带隙电路
adc_enableBandGap (myAdc);
//启用 ADC 基准缓冲器电路
ADC_enableRefBuffers (myAdc);
//为 ADC 加电
ADC_POWERUP (myAdc);
//启用 ADC
ADC_ENABLE (myAdc);
// ADCCTL1 - ADC_ADCCTL1_ADCREFSEL_BITS
ADC_setVoltRefSrc (myAdc、ADC_VoltageRefSrc_Int);
//清除 ADCINT1标志为下一个 SOC 重新初始化
ADC_clearIntFlag (myAdc、ADC_IntNumber_1);
//启用指定的 ADC 中断
PIE_enableAdcInt (myPie、ADC_IntNumber_1);
//启用 ADC 中断
ADC_enableInt (myAdc、ADC_IntNumber_1);
//设置中断脉冲生成模式
ADC_setIntPulseGenMode (myAdc、ADC_IntPulseGenMode_Prior);
//启用 ADC 中断
ADC_enableInt (myAdc、ADC_IntNumber_1);
//设置中断模式
ADC_setIntMode (myAdc、ADC_IntNumber_1、ADC_IntMode_ClearFlag);
//设置中断源
ADC_setIntSrc (myAdc、ADC_IntNumber_1、ADC_IntSrc_EOC7);
//设置转换开始(SOC)通道编号
ADC_setSockChanNumber (myAdc、ADC_SockNumber_0、ADC_SockChanNumber_A0);
ADC_setSockChanNumber (myAdc、ADC_SockNumber_1、ADC_SockChanNumber_A1);
ADC_setSockChanNumber (myAdc、ADC_SockNumber_2、ADC_SockChanNumber_A2);
ADC_setSockChanNumber (myAdc、ADC_SockNumber_3、ADC_SockChanNumber_A3);
ADC_setSockChanNumber (myAdc、ADC_SockNumber_4、ADC_SockChanNumber_A0);
ADC_setSockChanNumber (myAdc、ADC_SockNumber_5、ADC_SockChanNumber_A1);
ADC_setSockChanNumber (myAdc、ADC_SockNumber_6、ADC_SockChanNumber_A2);
ADC_setSockChanNumber (myAdc、ADC_SockNumber_7、ADC_SockChanNumber_A3);
//设置转换开始(SOC)触发源
ADC_setSockTrigSrc (myAdc、ADC_SockNumber_0、ADC_SockTrigSrc_EPWM1_ADCSOCA);
ADC_setSockTrigSrc (myAdc、ADC_SockNumber_1、ADC_SockTrigSrc_EPWM1_ADCSOCA);
ADC_setSockTrigSrc (myAdc、ADC_SockNumber_2、ADC_SockTrigSrc_EPWM1_ADCSOCA);
ADC_setSockTrigSrc (myAdc、ADC_SockNumber_3、ADC_SockTrigSrc_EPWM1_ADCSOCA);
ADC_setSockTrigSrc (myAdc、ADC_SockNumber_4、ADC_SockTrigSrc_EPWM1_ADCSOCA);
ADC_setSockTrigSrc (myAdc、ADC_SockNumber_5、ADC_SockTrigSrc_EPWM1_ADCSOCA);
ADC_setSockTrigSrc (myAdc、ADC_SockNumber_6、ADC_SockTrigSrc_EPWM1_ADCSOCA);
ADC_setSockTrigSrc (myAdc、ADC_SockNumber_7、ADC_SockTrigSrc_EPWM1_ADCSOCA);
//设置转换开始(SOC)采样延迟
ADC_setSockSampleWindow (myAdc、ADC_SockNumber_0、ADC_SockSampleWindow_55_cycles);
ADC_setSockSampleWindow (myAdc、ADC_SockNumber_1、ADC_SockSampleWindow_55_cycles);
ADC_setSockSampleWindow (myAdc、ADC_SockNumber_2、ADC_SockSampleWindow_55_cycles);
ADC_setSockSampleWindow (myAdc、ADC_SockNumber_3、ADC_SockSampleWindow_55_cycles);
ADC_setSockSampleWindow (myAdc、ADC_SockNumber_4、ADC_SockSampleWindow_55_cycles);
ADC_setSockSampleWindow (myAdc、ADC_SockNumber_5、ADC_SockSampleWindow_55_cycles);
ADC_setSockSampleWindow (myAdc、ADC_SockNumber_6、ADC_SockSampleWindow_55_cycles);
ADC_setSockSampleWindow (myAdc、ADC_SockNumber_7、ADC_SockSampleWindow_55_cycles);

空 Init_PWM ()

//启用 PWM 时钟
CLK_enablePwmClock (myClk、PWM_NUMBER_1);
//启用脉宽调制(PWM)转换启动(SOC)脉冲生成
PWM_enableSockpulse (myPwm1);
//启用脉宽调制(PWM)转换启动(SOC)脉冲生成
PWM_setSockAPulseSrc (myPwm1、PWM_SockPulseSrc_CounterEqualCmpAcincr);
//设置脉宽调制(PWM)转换开始(SOC)中断周期
PWM_setSockAPeriod (myPwm1、PWM_SockPeriod_FirstEvent);
// TBCTL 时基控制寄存器- synctmode PWM_TBCTL_SYNCOSEL_BITS
PWM_setSyncMode (myPwm1、PWM_SyncMode_CounterEqualZero);
// TBPRD 时基周期寄存器
PWM_setPeriod (myPwm1、1000);// 60M /
//设置脉宽调制(PWM)阶段
PWM_setPhase (myPwm1、0x0000);
//设置脉宽调制(PWM)计数
PWM_setCount (myPwm1、0x0000);
//设置脉宽调制(PWM)计数器模式
PWM_setCounterMode (myPwm1、PWM_CounterMode_UpDown);
//禁用从相位寄存器加载的脉宽调制(PWM)计数器
PWM_DisableCounterLoad (myPwm1);
//设置脉宽调制(PWM)高速时钟分频值
PWM_setHighSpeedClkDiv (myPwm1、PWM_HspClkDiv_BY_2);
//设置脉宽调制(PWM)时钟分频值
PWM_setClkDiv (myPwm1、PWM_ClkDiv_BY_1);
//将脉宽调制(PWM)数据值写入计数器比较 A 硬件
PWM_setCmpA (myPwm1、500);
//设置当计数器等于 CMPA 且计数器递增时 PWM A 的脉宽调制(PWM)对象操作
PWM_setActionQual_CntUp_CmpA_PwmA (myPwm1、PWM_ActionQual_set);
//设置当计数器等于 CMPA 且计数器递减时 PWM A 的脉宽调制(PWM)对象操作
PWM_setActionQual_CntDown_CmpA_PwmA (myPwm1、PWM_ActionQual_clear);
//设置当计数器等于 CMPA 且计数器递增时 PWM B 的脉宽调制(PWM)对象操作
PWM_setActionQual_CntUp_CmpA_PwmB (myPwm1、PWM_ActionQual_clear);
//设置当计数器等于 CMPA 且计数器递减时 PWM B 的脉宽调制(PWM)对象操作
PWM_setActionQual_CntDown_CmpA_PwmB (myPwm1、PWM_ActionQual_set);

//启用 PWM 时钟
CLK_enablePwmClock (myClk、PWM_NUMBER_2);
//设置脉宽调制(PWM)同步模式
PWM_setSyncMode (myPwm2、PWM_SyncMode_EPWMxSYNC);
//设置脉宽调制(PWM)周期
PWM_setPeriod (myPwm2、1000);
//启用从相位寄存器加载的脉宽调制(PWM)计数器
PWM_enableCounterLoad (myPwm2);
//设置脉宽调制(PWM)阶段
PWM_setPhase (myPwm2、1000);//到计算相位2000 = 180deg、因此2000 /180 = 11.11、因此对于120deg = 120*11.11 = 1333.2
//设置脉宽调制(PWM)相位方向
PWM_setPhaseDir (myPwm2、PWM_PhaseDir_CountUp);
//设置脉宽调制(PWM)计数器模式
PWM_setCounterMode (myPwm2、PWM_CounterMode_UpDown);
//设置脉宽调制(PWM)高速时钟分频值
PWM_setHighSpeedClkDiv (myPwm2、PWM_HspClkDiv_BY_2);
//设置脉宽调制(PWM)时钟分频值
PWM_setClkDiv (myPwm2、PWM_ClkDiv_BY_1);
//将脉宽调制(PWM)数据值写入计数器比较 A 硬件
PWM_setCmpA (myPwm2、500);
//设置当计数器等于 CMPA 且计数器递增时 PWM A 的脉宽调制(PWM)对象操作
PWM_setActionQual_CntUp_CmpA_PwmA (myPwm2、PWM_ActionQual_set);
//设置当计数器等于 CMPA 且计数器递减时 PWM A 的脉宽调制(PWM)对象操作
PWM_setActionQual_CntDown_CmpA_PwmA (myPwm2、PWM_ActionQual_clear);
//设置当计数器等于 CMPA 且计数器递增时 PWM B 的脉宽调制(PWM)对象操作
PWM_setActionQual_CntUp_CmpA_PwmB (myPwm2、PWM_ActionQual_clear);
//设置当计数器等于 CMPA 且计数器递减时 PWM B 的脉宽调制(PWM)对象操作
PWM_setActionQual_CntDown_CmpA_PwmB (myPwm2、PWM_ActionQual_set);

空数据更新(空)

浮点 ADC_A0、ADC_A1、ADC_A2、ADC_A3;
int sum of _adc_samples_Array[4]={0};
Int NumberOfSamples = 64;
int i = 0;

对于(i = 0;i < NumberOfSamples;i++){
while (AdcRegs.ADCINTFlG.bit.ADCINT1 = 0){}
总和_for_adc_samples_Array[0]+= AdcResult.ADCRESULT0;
总和_for_adc_samples_Array[1]+= AdcResult.ADCRESULT1;
总和_for_adc_samples_Array[2]+= AdcResult.ADCRESULT2;
总和_for_adc_samples_Array[3]+= AdcResult.ADCRESULT3;

SUM_OD_ADC_SAMESS_Array[0]+= AdcResult.ADCRESULT4;
总和_for_adc_samples_Array[1]+= AdcResult.ADCRESULT5;
总和_for_adc_samples_Array[2]+= AdcResult.ADCRESULT6;
总和_for_adc_samples_Array[3]+= AdcResult.ADCRESULT7;
AdcRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;

//除以样本数以找到平均值
ADC_A0 = SUM_OW_ADC_SA采样_Array[0]/ 128;
ADC_A1 =总和_for_ADC_Samples_Array[1]/ 128;
ADC_A2 =总和_for_ADC_Samples_Array[2]/ 128;
ADC_A3 =总和_for_ADC_Samples_Array[3]/ 128;

//计算在 ADC GPIO 上读取的值
ADC_A0 =(ADC_12位* ADC_A0);
ADC_A1 =(ADC_12位* ADC_A1);
ADC_A2 =(ADC_12位* ADC_A2);
ADC_A3 =(ADC_12位* ADC_A3);

//计算正确的电路读数
IP_Volt =(ADC_A0 / IP_VolT_Const);
IP_Amp =(ADC_A1/IP_Amp_Const);
OP_Volt =(ADC_A2 / OP_VolT_Const);
OP_Amp =(ADC_A3/OP_Amp_Const);

//计算输入功率和输出功率
new_pw_in = IP_Volt * IP_Amp;
new_pw_out = OP_Volt * OP_Amp;

void 可调节 PWM (void)

int PWM_Temp;
PWM_Temp = EPwm1Regs.CMPA.half.CMPA;//将 PWM1 CMPA 的当前占空比值分配给 PWM_Temp
PWM_Temp_Temp = PWM_Temp;//用于绘制图形
Duty_Cycle = 100 -((PWM_Temp_Temp / 1000)* 100);//用于绘制图形

如果(New_pw_in > Old _pw_in){//新功率大于旧功率
如果(IP_Volt > Old_Volt)//新 PV 电压大于旧电压

PWM_Temp + 2;//增加占空比

否则//新 PV 电压低于旧值

PWM_Temp - 2;//减小占空比


否则{//新功耗小于旧功耗
如果(IP_Volt > Old_Volt)//新 PV 电压大于旧电压

PWM_Temp - 2;//减小占空比

否则//新 PV 电压低于旧值

PWM_Temp + 2;//增加占空比

如果(PWM_Temp < 100){
PWM_Temp = 100;//必须防止 PWM 值过小

如果(PWM_Temp > 900){
PWM_Temp = 900;//必须防止 PWM 值过大

EPwm1Regs.CMPA.half.CMPA = PWM_Temp;//调整 PWM1占空比
EPwm2Regs.CMPA.half.CMPA = PWM_Temp;//调整 PWM2占空比

OLD_IP_Volt = IP_Volt;//将新输入电压值分配给旧输入电压值
OLD_PW_IN = New_PW_IN;//将新的功率值分配给旧的功率值

误差  


****为项目 MPPT V2.0构建配置调试****

"C:\\ti\\ccs930\\ccs\\utils\bin\\gmake"-k -j 8 all -O

编译文件:"../main.c"
调用:C2000编译器
"c:/ti/ccs930/ccs/tools/compiler/ti-cgt-c2000_18.12.5.LTS/bin/cl2000 -v28 -ml -mt -include_path="C:/ti/Habib new C2000 Germany projects/MPPT v2.0"--include_path="C:/ti/controlSUITE/development_kits/C2000_LaunchPad/f2802x_headers/include --include_path="C:/ti/controlSUITE/device_support/f2802x/v210/F2802x_Device.h /ti/controlSUITE/device_support/f2802x/v210/DSP28x_Project.h /ti/controlSUITE/development_kits/C2000_LaunchPad/F2802x_Device.h --include_prefuse_path="C:/ti/ccs930/ccs/tools/compiler/ti-cgt-c2000_18.12.5.LTS/include /ti/Habib /ti/controlSUITE/device_support/f2802x/v210/F2802x_Device.h /ti/controlSUITE/development_kits/C2000_LaunchPad -prepremote_probe.come"--c2000-rebote-prepremote_ines=/ti/controlSUITE/development_kits/C2000_LaunchPad/f2802x_common/include /ti/controlSUITE/device_support/f2802x/v210/DSP28x_Project.h /ti/ccs930/ccs/tools/compiler/ti-cgt-c2000_18.12.5.LTS/include /ti/controlSUITE/development_kits/C2000_LaunchPad/DSP28x_Project.h -intrabout-come-probe-probe-combe-probe.combe-probe.combe-probe.combe-probe-probe.c:c:c:c:probe-probe.comprine-probe-d_probe-probe.combe-probe.combe-probe-probe-probe.c:c:c:c:c:c:

>>编译失败
subdir_rules.mk:9:目标'main.obj'的配方失败
命令行错误#1966:无法打开源文件"C:/ti/Habib 新建 C2000德国项目/MPPT V2.0":参数无效
1在编译"./main.c"时检测到灾难性错误。
编译已终止。
gmake:***[main.obj]错误1.
gmake:目标"全部"不会由于错误而重新生成。

****构建完成****

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ahmed、

    您的--preinclude 文件列表中有目录。 此选项需要文件。 这是您的错误来源。 请注意--preincludes 与头文件头文件 include 搜索路径不同(--include_path)。 一个常见的错误是将头文件包含搜索路径添加到--preincludes 文件列表。 请检查此项。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好  

    我已从 preinclude 中删除了 heder 和文件夹文件=,但这仍然不能解决问题,实际上,我通过删除这些文件得到了更多的错误

    屏幕快照已附加。

    感谢您的帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 user="Ahmed Habib"]我已从 preinclude 中删除了 heder 和文件夹文件=但这仍然不能解决问题,实际上我通过删除这些文件获得了更多错误

    实际上、这确实消除了您的第一组错误。 现在、它暴露了其他一些。 您现在的问题是缺少一些包含搜索路径。

    具体而言:

    C:\ti\controlSUITE\device_support\f2802x\V210

    您还可以直接在 include 搜索路径中引用头文件。 您只应将搜索路径放在此处。

    您可能缺少其他 include 搜索路径。

    请仔细确保您拥有项目所需的所有路径。

    另请参阅 C2000编译器用户指南以了解更多信息。

    http://dev.ti.com/tirex/explore/node?node=APrU60ITeJcy-f1L4BfYJA__FUz-xrs__LATEST

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、似乎我遇到的新错误最少  

    我不确定包含路径还有什么缺失、但这次我遇到了27个错误、我认为它与链接相关

    请看这里  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、它们都是链接器错误。 主要有两个错误。 第一个是一个常见的问题:

    https://software-dl.ti.com/ccs/esd/documents/sdto_ccs_build-errors.html#error-10234-d-unresolved-symbols-remain

    https://processors.wiki.ti.com/index.php/Compiler/diagnostic_messages/10234

    基本上、您需要确保包含定义缺失符号的库/源代码

    第二个可能是因为 项目中有两个彼此冲突的链接器命令文件。

    谢谢

    Ki

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Ki、

    我已经包含了28x 的每个库、现在我甚至遇到了内存不适用的新问题。

    这是我的代码和错误、再次考虑了您建议的链接器修改

    再次感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我想我最终能够运行代码而不会出现错误  

    这是一个屏幕截图

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、构建看起来很好!