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/EK-TM4C1294XL:尝试在新工程中实现引导加载程序准备函数调用时出现链接器错误

Guru**** 2481985 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/706158/ccs-ek-tm4c1294xl-linker-errors-when-trying-to-implement-boot-loader-preparations-functions-calls-in-a-new-project

器件型号:EK-TM4C1294XL

工具/软件:Code Composer Studio


我正在尝试在 CCS 中创建一个新项目、并将其中的两个示例合并到其中- boot_serial 和 blinky。

因此、我创建了一个名为"lsxBootloader2"的项目、将主函数从 blinky 复制到 mine、添加了相关头文件和"arm compiler"->"includes"、并将其编译和工作方式与 blinky 类似。
接下来、我将"JumpToBootLoader"和"SetupForUART"函数从 boot_demo.c 复制到 main.c
我添加了所有 include 头(请参阅2.jpg)和所需的"arm compiler"->"includes"。 此时、我无法编译工程-对于在复制的函数中进行的调用、我会遇到错误"未解析的符号"(请参阅1.jpg)。

我已验证:

#include
#include
#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "inc/hw_NVIC.h"
#include "inc/hw_sysctl.h"
#include "inc/hw_gpio.h"
#include "driverlib/interrupt.h"
#include "driverlib/flash.h"
#include "driverlib/uart.h"
#include "driverlib/gpio.h"
#include "driverlib/rom.h"
#include "driverlib/sysctl.h"
#include "driverlib/pin_map.h"

在使用位于每个声明上的"开放声明"时、所有声明都打开良好(希望确保它们可访问)。
例如、"rom.h"中定义了"ROM_GPIOPinConfigure"、但我仍然会看到链接器错误。

我缺少什么?

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

    如果您从头开始创建一个全新的 CCS 工程、则会在工程属性中缺少数十个链接、这些链接是正确编译工程所必需的。 如果这是您所采用的方法、我建议您改为重要现有 TivaWare 工程、重命名它、从它中删除您不需要的文件、添加到您的 main.c 文件中、然后尝试编译它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我不确定这是不可能的。 我要创建的新项目只是为了了解将引导加载程序集成到另一个项目中所需的确切内容。 有了这些知识、我需要将其集成到我的团队正在进行的大型现有项目中。

    我正在逐步尝试-编译问题不应成为阻碍-是否有任何想法缺失?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Liran、

    老实说、我们缺少有关如何从头开始工程并避免编译错误(我希望在将来解决)的文档、但我可以提供典型位置列表、将您的新工程与正在运行的 TivaWare 应用进行比较。

    您需要检查:

    • 资源->链接的资源和资源筛选器
    • Build -> ARM Compiler -> Include Options
      • 此外、如果您要重新使用"sw_root"、您可以在构建菜单的"Variables"选项卡下找到它。
    • Build -> ARM Compiler -> Advanced Options -> Predefined Symbols
    • Build -> ARM 连接器->文件搜索路径

    确保您具有到 TivaWare 文件夹/文件的正确链接、并且根据工程属性中的这些位置定义的正确符号应该会解决构建错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、我将在下周初查看。 度过一个愉快的周末:)