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.

[参考译文] RTOS/TM4C129ENCPDT:在 Linux 中从 CCS 迁移到 GCC

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/597857/rtos-tm4c129encpdt-migrating-from-ccs-to-gcc-in-linux

器件型号:TM4C129ENCPDT

工具/软件:TI-RTOS

您好!

我正在一个项目中工作、用于在 Linux 中将项目编译从 CCS 迁移到 GCC。 因此、我必须使用 GCC 编译器在 Linux 中编译工程、而无需使用 CCS。

我已经安装了 GCC 编译器、但现在开始将 TI RTOS 作为独立项目进行安装。

我已下载 tirtos_tivac_setuplinux_2_16_01_14.bin 文件、但无法安装。

我尝试了以下通信

sudo chmod +x tirtos_tivac_setuplinux_2_16_01_14.bin

tirtos_tivac_setuplinux_2_16_01_14.bin

但我在终端中看不到任何东西。 我找不到需要在 Linux GCC 中构建该项目的 ti/tirtos_tivac_2_16_01_14、ti/xdctools_3_32_01_22_core。

请尽快帮助我。  此外、如果我在将该项目迁移到 GCC Linux 时遇到任何问题、也请说明

谢谢、

Sudhantiradasan

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您需要执行点选确认。 你是这样吗?

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

    [引用 user="sudhantiradasan R"]

    我尝试了以下通信

    sudo chmod +x tirtos_tivac_setuplinux_2_16_01_14.bin

    tirtos_tivac_setuplinux_2_16_01_14.bin

    但我在终端中看不到任何东西。

    tirtos_tivac_setuplinux_2_16_01_14.bin 安装程序是 一个32位应用程序、如果在64位 Linux 安装上运行而未安装所需的32位 libc、则可能会静默退出-例如、请参阅 在 Linux 上解压 C5000编译器。

    用于安装32位 libc 的命令因 Linux 发行版而异;  有关一些示例、请参阅 processors.wiki.ti.com/.../Linux_Host_Support_CCSv7。

    如果 缺少32位 libc 不是安装程序静默退出的原因、则在 strace 下运行安装程序可能会发现问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢切斯特、我现在能够运行这些 bin 文件。

    还在 GCC 中开始编译

    现在,我看到对许多函数的引用未定义。 我刚才将这些函数命名为下面的函数

    `GPIOPinWrite'`SSysCtlReset'`GPIO_READ'`I2C_OPEN'`I2C_PARAMS_INIT'`I2C_TRANSF"
    `UART_Params_init'`UART_open'`GPIO_write'`UART_write'
    `UART_READ'`SSysCtlDelay'`GPIOPinTypeGPIOOutput'
    `GPIOPinWrite'`GPIO_setCallback'`GPIO_enableInt'`GPIO_write'
    `GPIO_READ'`UART_PARAMS_INIT'`uDMAErrorStatusGet `SSysCtlPeripheralEnable'
    `EMAC_init'`GPIOPinTypeI2CSCL'`UARTTiva_fxnTable'`I2CTiva_fxnTable'
    `stutomax'`_ctype_ptr__'`RingBuf_peek'`RingBuf_Put '
    `USBBufferDataAvailable'`uDMAErrorStatusGet '`GPIOPinWrite'`EMAPPHYWrite'
    `sSysCtlDelay'

    看起来这些是库函数。

    即使在添加-lgr -lusb -ldriver 库及其包含路径后、我也会遇到这些错误。

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

    [引用 user="sudhantiradasan R">即使在添加了-lgr -lusb -ldriver 库及其包含路径后,我也会遇到这些错误。您能否显示完整的编译输出,包括命令行和错误?

    在 Ubuntu 中安装了 tirtos_tivac_2_16_01_14后、我能够成功导入、构建和运行 使用 GCC 编译器的 tcpEcho_EK_TM4C1294XL_GNU_TivaTM4C1294NCPDT 示例。

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

    e2e.ti.com/.../6685.build.logattachedbuild.log

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    几乎所有未定义的引用都是通过在目标文件之后添加库来解决的。 但是、现在我看到的未定义错误仅为"sttrtomax"。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否编辑 tirtos.mak 以删除额外的"/"。 请注意、在构建日志的第二行、有两个"/"。 我对 Linux 的使用不是很好。

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

    [引用 user="sudhantiradasan R">但现在我看到的未定义错误仅为'stertomax'。[/quot]使用 TI v16.9.3.LTS 编译 器时、测试程序可以链接 strtoMax、但使用 GCC v4.9.0编译器时 strtomax 会出现未定义的符号错误。

    使用 GCC v4.9.0编译器时 、中有 strtomax 的函数原型 ,但 在 GCC 编译器提供的库中没有 strtoummax 函数的声明。 作为变通方法,请尝试使用 strtoull ()而不是 strtoull ()。 对于 GCC v4.9.0编译    器,uintmax_t typedef 是 unsigned long long,这意味着 strtoull ()函数接受与 strtoumemax()相同的参数。

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