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/EK-TM4C129EXL:请告诉我如何添加第二个 UART 驱动程序而不重新编译 TI-RTOS

Guru**** 2449980 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/623923/rtos-ek-tm4c129exl-please-advise-me-how-to-add-second-uart-driver-without-recompiling-ti-rtos

器件型号:EK-TM4C129EXL

工具/软件:TI-RTOS

大家好、同事、

我需要有关如何在 TI RTOS 中使用2个 UART 的建议。

我可以使用基于 UART.c (TI-RTOS 的一部分)的调试器进行跟踪  

我在数组中添加了元素  

const UART_Config UART_config[]={
{
.fxnTablePtr =&UARTTiva_fxnTable、
.object = uartTivaObjects[0]、
.hwAttrs =&uartTivaHWAttrs[0]
}、
{//我添加了这个!!!
.fxnTablePtr =&UARTTiva_fxnTable、
.object = uartTivaObjects[1]、
.hwAttrs = uartTivaHWAttrs [1]
}、
{NULL、NULL、NULL}
}; 

但它没有帮助

此数组上的循环在 UART.C 中迭代。调试器看不到我的添加项。

我是否必须重新编译 TI-RTOS?

还有其他方法吗?

谢谢

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

    您好 Yuliy、

    我对这种情况有点不清楚。 让我提出几个问题来澄清:

    1) 1)添加这些行后、您是否正在构建和重新加载项目?
    2a)如果是、从您的角度来看、编译和编译之间有何区别?
    2B)如果不是、您是否在调试模式下添加了这些行?

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

    >1)添加这些行后是否正在构建和重新加载项目?

    是的、我是

    >如果是,从您的角度来看,编译和编译之间有何区别?

    Build =编译+链接

    >如果不是,您是否在调试模式下添加这些行?

    否、在代码中添加行而不使用重新编译+链接。

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

    您好 Yuliy、

    好的、只需确保我们在第一个关于调试和构建的同一页上。

    [引用用户="Yuliy Poluyanov"]

    我是否必须重新编译 TI-RTOS

    [/报价]

    不需要、应该不需要这样做。 您要更改哪个 UART.c 文件? 您是否有一个示例项目将此更改作为基础?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    >不,不需要这样做。
    我希望你是对的。。。

    >您要更改哪个 UART.c 文件?
    我不更改 UART.c 我更改 UART_CONFIG Array。
    第一种是 TI-RTOS、第二种属于应用。

    我希望更改阵列(在应用程序方面)就足够了。
    似乎,不……

    此数组(应用端)用于 UART.c (TI-RTOS)中。
    我希望链接器(在我构建应用程序时)将解析外部变量数组 UART_CONFIG。
    有点奇怪 似乎没有发生这种情况。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    作为基础、我采用了 UARTDMA 回波
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Yuliy、

    就我的理解而言、您无需更改 TI-RTOS 中的任何内容即可添加第二个 UART 通道、所有更改都应在应用端进行。

    我已将此帖子标记给 TI-RTOS 团队、他们将能够帮助您比自己更快地完成该帖子。

    为了让他们了解在查看此帖子时的情况、您使用的是最新 TI-RTOS for Tiva-C 版本中的 UART DMA Echo 示例、并且您正在尝试通过修改您的第一个帖子中显示的示例代码来向其中添加第二个 UART 通道、对吧?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    >为了让他们了解查看此帖子时,您正在使用最新 TI-RTOS for Tiva-C 版本中的 UART DMA Echo 示例,并且您正在尝试通过修改第一个帖子中显示的示例代码向其中添加第二个 UART 通道,对吧?

    是的、完全...
    感谢您的帮助、祝您周末愉快。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我得到了解决方案。

    我的错误:更改了非 DMA 版本的 UART_CONFIG 数组。 当然没有效果,这根本没有被汇编。

    谢谢大家