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.

[参考译文] TMS320F280049C:DriverLib 示例-无法编译,链接时找不到符号 code_start

Guru**** 2536060 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1085594/tms320f280049c-driverlib-examples---cannot-compile-symbol-code_start-not-found-at-linking

部件号:TMS320F280049C
“线程:C2000WARE”中讨论的其它部件

您好,

我想使用第2.2章后面的 F280049C 的 DriverLib 创建项目
《F28004x 固件开发包用户指南》。 构建项目
导致链接器出错,无法找到符号 code_start。

Building target: "P1439_DrvLib_01.out"
Invoking: C2000 Linker
"C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/bin/cl2000" -v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu0 -g --diag_warning=225 --diag_wrap=off --display_error_number --abi=coffabi -z -m"P1439_DrvLib_01.map" --stack_size=0x3F8 --warn_sections -i"C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/lib" -i"C:/ti/ccs1110/ccs/tools/compiler/ti-cgt-c2000_21.6.0.LTS/include" -i"C:/ti/c2000/C2000Ware_MotorControl_SDK_3_03_00_00/c2000ware/device_support/f28004x/common/cmd" --reread_libs --diag_wrap=off --display_error_number --xml_link_info="P1439_DrvLib_01_linkInfo.xml" --entry_point=cold_start --rom_model -o "P1439_DrvLib_01.out" "./device.obj" "./f28004x_codestartbranch.obj" "./main.obj" "C:/ti/c2000/C2000Ware_MotorControl_SDK_3_03_00_00/c2000ware/driverlib/f28004x/driverlib/ccs/Debug/driverlib.lib"  -lrts2800_fpu32.lib -l28004x_generic_ram_lnk.cmd 
<Linking>
 
 undefined  first referenced
  symbol        in file     
 ---------  ----------------
 cold_start                 
 
error #10234-D: unresolved symbols remain
warning #10062-D: entry-point symbol "cold_start" undefined
error #10010: errors encountered during linking; "P1439_DrvLib_01.out" not built
 
>> Compilation failure
makefile:144: recipe for target 'P1439_DrvLib_01.out' failed
gmake[1]: *** [P1439_DrvLib_01.out] Error 1
makefile:140: recipe for target 'all' failed
gmake: *** [all] Error 2

根据我的理解,
它在-f28004x_codestartbranch.asm 中定义
我在这里错过了什么?

谢谢,

约翰

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

    约翰:

    f28004x_codestartbranch.asm 文件具有 code_start 函数。 您得到的链接器错误是 col_start。 你有这个功能吗?

    最好先从 C2000Ware DriverLib 示例中导入 empty_project 项目,然后重命名该项目。

    C:/ti/CC2000 /C2000Ware_4_01_00_00/driverlib/f28004x/examples/empty_projects

    它将正确设置编译器和链接器的 include 路径。

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

    你好,Santosh,

    你是对的! 我读得太快了,没有看到这种区别,因为 code_start 和 col_start 几乎是一样的。 (我会清洗我的眼镜:-)不,我没有这项功能,在代码中找不到它,在文档中找不到它的注释。 从警告来看,这似乎是一个入口符号。 我应该在哪里找到这种方法?

    感谢您建议从一个空项目开始。 我找到了这个项目“empty_bitfield_driverlib_project”,并想试一试。 这是您所建议的吗?

    我也很想知道我错过了什么。 由于我遵循了 F28004x 固件开发包用户指南第2.2章中的说明,我认为它可以正常工作。 您能支持我吗?

    您好,

    约翰

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

    约翰:

    是否可以转到步骤5,并确保键入了“code_start”作为项目的入口点?

    [引用 userid="128345" url="~/support/intrans/c2000微控制器-group/c2000 /f/c2000微控制器-forume/1085594/tms320f280049c-driverlib-examples--nonco-compile -symbol-code_start-not found-at-linking/4018299#4018299”开始您的一个空建议,感谢您的项目。] 我找到了这个项目“empty_bitfield_driverlib_project”,并想试一试。 这是您所建议的吗?

    如果要使用 DriverLib,则在以下位置有一个 empty_project。 如果您只是导入该项目,则所有内容都将自动设置,您只需要重命名项目名称和主 C 文件名。

    C:/ti/CC2000 /C2000Ware_4_01_00_00/driverlib/f28004x/examples/empty_projects

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

    你好,Santosh,

    是的,是的,是的,这就是问题所在。 越虎! 这就是我编写 col_start 而不是 code_start 的地方。 现在,项目编译没有任何问题,除了警告入口点符号不是“_c_int00”,但文档中说我可以忽略这一点。

    我还找到了您建议的项目。 我发现了我在设备支持下提到的另一个项目:
    C:\ti\c2000\C2000Ware_MotorControl_SDK_3_03_00_00\c2000ware\device_support\f28004x\examples\empty_projects

    您的建议似乎马上就能奏效。 好极了,感谢你们的帮助。

    此致,

    约翰