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.

[参考译文] TMS320F28388D:如何为 TMS320F28388x 创建 TI-RTOS (SYS/BIOS)工程

Guru**** 2529560 points
Other Parts Discussed in Thread: TMS320F28388D

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/981885/tms320f28388d-how-to-create-ti-rtos-sys-bios-project-for-tms320f28388x

器件型号:TMS320F28388D

大家好

因此、我将为  TMS320F28388x 创建 I-RTOS (DSP/BIOS)项目

我已安装  

1) CCS 10.0.0.00010

2) xdceools_3_61_01_25_core

3) BIOS_6_76_01_12

所有内容都安装在 C:/ti 目录中

我已经精简 了文档

1) 1)适用于 C2000的 TI-RTOS 2.16 (SPRUHU3D)

2) Huw 使用 TI SYS/BIOS 开发项目(SPRABW1–2014年4月)

没有什么帮助   

CCS 的项目窗口不包含 第二个文档中描述的项目模板 SYS/BIOS。

我的 Resource Explorer 具有其他外观(请参阅附件)、不包含   第一 个文档中所述的 F28M35x Concerto 的示例 RTOS (SYS/BIOS)、也不包含 我可以想象的 F2838x 示例。  

问题-我必须使用哪个文档来创建 TI RTOS (SYS/DSP)的项目、特别是用于 ARM 内核的 TMS320F28388D 的项目?  ,在哪里可以加载项目创建和 ARM 内核驱动程序创建示例?

我有一个名为 tcpEchoF2838X 的示例,但它有一些错误(或功能),但 它不会显示如何创建项目。

此致

Andrii

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

    在较新版本的 CCS 中、Resource Explorer 中没有 C2000的 SYS/BIOS 示例。 不过、仍可通过 New CCS Project 窗口访问它们。 请在此处查看此主题:

    tcpEchoF2838X 包含一个自述文件、介绍如何安装支持包。 您是否遵循了这些要求、并且仍然对该示例有疑问?

    惠特尼

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

    您好、Whitney  

    感谢您的回答。 在我的案例中、有必要单击"Refresh"按钮、并且项目窗口以正确的方式发生了更改。 现在我想 -我丢失了这些信息的地方。

    关于  tcpEchoF2838X。 是的、我遵循了本指南、它的工作原理如所述。 当我写下问题时、我意味 着下一个行为  

    1) 1)将固件上传到 Cortex_M4_0后、固件会进入无限循环、并在 main ()的断点停止。

    2) 仅在单击 "Restart"按钮后、它才会在堆栈初始化时停止。 它是    C:\ti\BIOS_6_76_01_12\packages/ti\targets\arm\rtsarm 目录中 boot.asm 文件的第192行。  

    3) 3)之后,可以单击“Resume”(恢复)按钮 以运行。 但我无法设置断点。  我遵循 有关隐藏断点的所有建议  

      (取消选中“Halt at program exit,Enable CIO function, Restore breakpoints from previous session” 选项)。 但它没有什么帮助。

    我认为这是上面提到的问题、但是现在我从针对320F28388D "hello"项目的 SYS/BIOS 项目示例和创建了  

    此项目有相同的问题。 我n`t 设置断点、尽管复选框 - start to the main "on the program load and restart"(在程序加载和重新启动时)已选中、但它不会在 main()停止。 所以只能在退出时暂停。   因此,我知道这是项目 SYS/BIOS for TMS320F28388x 的常见问题。 它可能使用禁止使用某些资源的某些模型吗? 至少  、对于 Cortex_M4_0、但不支持 SYS/BIOS 的项目在所有断点上都能按预期完美运行。  

    那么、我是否必须为此问题创建新主题(我看到 TI 认为它已解决。 但为什么?)或者我们可以在该主题中解决此问题?

    此致

    Andrii Shevchuk

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

    我在 CCS v10.1.1.00004中尝试了 F28388D M4版本的"hello"示例、无法重现问题。 只要我禁用了前面提到的"程序/存储器加载选项"、我仍然可以放置一个断点、并在点击"Restart"按钮时跳转到 main。

    当您尝试放置断点时、它是否在控制台中显示有关正在使用的所有资源的错误、或者它是否执行其他操作?

    也许可以尝试创建一个全新的清理工作区、看看导入和运行示例是否起作用? 您能不能尝试帮助->检查更新并查看是否有任何更新帮助(看起来我使用的是稍新版本的 CCS)

    惠特尼

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

    您好、Whitney

    我已经进行了所有更新,现在它是版本:10.2.0.00009 。 并创建新的工作区并从 SYS/BIOS 示例中导入示例"cm_common_config_C28x"和"hello"。 但没有任何变化。

    在 Cortex_M4固件重新启动后 、它会显示消息  

    无法在"/db/ztree/library/trees/xdctargets/xdctargets-t04/src/ti/targets/arm/rtsarm/boot.asm "中找到源文件  
    找到文件或编辑源查找路径以包括其位置。

    它们实际上 位于 C:\ti\BIOS_6_76_01_12\packages/ti\targets\arm\rtsarm 中

     当我指向该目录时、我可以单步执行汇编器指令、但无法设置断点  

    始终显示消息 _JobHardwareBreakpoint::arm_debug_V7M_fpb_add_breakpoint: FPB:所有资源都在使用中。[25062]

     当我尝试将它放在 main 的某个位置时、系统会显示相同的消息。

    我可以单步 执行汇编器指令、直到跳转至 RESET 函数、跳转后系统会显示上述有关正在使用的资源的消息。  汇编器代码  

    BEQ _NO_RESET_
    MOV R1、PC
    添加 R1、R1、#5
    MOV LR、R1
    BX r0

    在  同一 boot.asm 文件中声明为_XDC_runtime_Startup_reset__i 的复位函数  

    在 文件($project_location)\Debug\configPkg\package/cfg/hello_pem4.c 中将_xdc_runtime_Startup_reset__i 定义为空

    *
    * Startup_reset__i 是目标/平台引导调用的内部入口点
    *代码。 引导代码不会引入局部链接汇编。 那么、没有这个
    * pragma、否则整个程序优化器会优化此函数。
    *
    XDC_void XDC_runtime_Startup_reset__i (void)__attribute__((used));


    /*
    *==== xdc_runtime_Startup_reset__i ===
    *此函数最早由自举初始化代码调用
    *在启动过程中是可能的。 此函数调用中的所有函数
    * Reset.Fxns 数组_as 以及_ Startup.resetFxn (如果是非 NULL)
    *
    XDC_void XDC_runtime_Startup_reset__i (void)

    / /

    那么,它是如何运行 _c_int00的,以及如何运行 Rich main(),我不跟踪。  

    那么,在哪里可以读取到 main()之前的引导序列?

    什么是错误的?

    此致

    Andrii

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

    您好、Whitney

    我解决了这个问题。 到目前为止,我使用已连接 的28x 上传 M4固件。 但是在您发布帖子后、我尝试单独上传 C4  

    已选中相应 的选项 CPU2/CM 自动进行时钟配置、这与 TI 的指南相对应。  上载后、它会得到正确的行为、

    它在 main ()上停止、我也可以放置断点。 之后,使用连接的28x 上载 M4软件, 它也会获得正确的行为。 因此,有必要仅上传一次带有上述选项的 C4,以解决此类问题。

    感谢您的努力和支持、 您给了我一些想法。

    此致

    Andrii