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/TMS320F28379D:SYS/BIOS UART/SCI API

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/755090/rtos-tms320f28379d-sys-bios-uart-sci-api

器件型号:TMS320F28379D
主题中讨论的其他器件:C2000WARE

工具/软件:TI-RTOS

您好!

我知道如何通过其中一个 SCI 接口通过寄存器位字段从 uC 输出 ASCII 格式的字节。 但是、现在我正在试验 SYS/BIOS、我想避免(如果可能的话)接触任何寄存器。 是否有任何 UART/SCI 模块 API 可用于实现此目的? 我已经看到 TI-RTOS 有一个 UART 模块、但我在 SYS/BIOS 中没有找到它。 有人可以帮帮我吗?

此致、

Adria

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

    F2837xD 上不支持 TI-RTOS 驱动程序-仅 SYS/BIOS 内核部分。 C2000Ware 中有一个 DriverLib、可提供与 SCI 寄存器交互的函数。 您可以在\driverlib\f2837xd\examples\cpu1\sci 下找到它的示例

    编辑:我应该补充的是、DriverLib 不包含任何 SYS/BIOS 集成、但是您可以创建自己的更高级别 API、来集成这两者。

    惠特尼

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

    尊敬的惠特尼:

    感谢您的回答。 我还有2个问题:

    没有 SYS/BIOS、要编译工程、必须有一个名为"F2837xD_CodeStartBranch.asm"的文件、其中定义了 codestart 段。 该段对 RTE 代码具有较长的分支。 当 RTE 代码被执行时、一个到 main 的长分支被完成。 好的、它现在如何与 SYS/BIOS 一起工作? 我看不到任何 codestart 段定义、但我看到它在 cmd 文件中链接(我想它在 SYS/BIOS 内、但我想确保)。

    2.回答后、我看了 C2000Ware driverlib 中的一些示例。 例如、SCI 回送。 我可以看到如何在开始时调用下一个函数:

    //
    //配置 PLL、禁用 WD、启用外设时钟。
    //
    Device_init ();
    
    //
    //禁用引脚锁定和启用内部上拉。
    //
    Device_initGPIO(); 

    如果我想使用 driverlib、是否必须在 SYS/BIOS 项目中调用它们? 我已经看到、在 SYS/BIOS 项目中、下一个函数被调用:

    BIOS_start();/*不返回*/ 

    此致、

    Adria

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

    在 SYS/BIOS 引导模块中使用"Enable boot from flash"选项时、SYS/BIOS 将提供等效于 CodeStartBranch.asm 的功能。 如果您看看 SYS/BIOS 生成的文件、您会看到它生成了一个额外的.cmd 文件(在"Debug/configPkg/中的示例中)、该文件在闪存入口点添加了一个段。

    2.您可以在 应用程序中调用 Device_init()和 Device_initGPIO()。 BIOS 不会为您设置外设时钟或 GPIO、因此它们仍然是必需的。 SYS/BIOS 引导模块中有一些功能可以初始化 PLL 和闪存、这些功能与 Device_init()中的某些配置重叠、因此您需要确保没有冲突的配置。 我建议在 cfg 文件中禁用它们并让 Device_init()执行它,但如果您愿意,也可以通过另一种方法来执行-在.cfg 文件中启用它们并从 Device_init()中删除相关代码。

    您可能会发现此页面对 您有所帮助:processors.wiki.ti.com/.../BIOS_for_the_28x

    惠特尼