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/TM4C123GH6PM:TI RTOS 内核技术讲座实验6

Guru**** 2589300 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/582315/rtos-tm4c123gh6pm-ti-rtos-kernel-workshop-lab-6

器件型号:TM4C123GH6PM

工具/软件:TI-RTOS

您好!  

我正在参加 TI RTOS 内核技术讲座以了解 TIRTOS。 我已经成功完成实验5。  

在实验练习6中、我遇到了问题。 我还下载了解决方案部分、但由于 RTOS 和 XDC 工具的版本不同、.cfg 文件不会打开、因此我无法找到错误。  

为了完成实验、我启动了一个新项目、删除了所有 C 和 H 文件、并将主文件从实验6复制到了我的项目中。  

如实验课程 pdf 中所述、在单击 cfg 文件后。 在大纲中、我单击了 Swi、并插入了以下信息。

保存后、我在 主文件的底部添加了以下代码


空 Timer_ISR (空)

TimerIntClear (TIMER2_base、TIMER_TINA_TIMEOUT);//必须从计时器中清除计时器标志

Swi_post (LEDSwi);

如果我构建以下代码、它会显示错误

有人能告诉我哪里出错了吗?

此致

Praveen

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Praveen、
    您能否附加实验6项目? 此外、您使用的是什么版本的 XDCTOOLS 和 TI-RTOS? 我将看到我是否可以将其构建。
    此致、
    Janet
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Janet、您好!  

    请查找以下信息:

    XDCtool 版本:3.32.1.22_core

    TI RTOS:2.16.1.14

    我已附加项目。  e2e.ti.com/.../3264.RTOS_2D00_6.zip

    此致

    Praveen

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

    您好 Praveen、

    我能够重现此错误。  看起来、实验6缺少函数'swi_post。  此外、函数 Timer_ISR ()调用 swi_post ()。

    我想您可以执行以下操作来使其正常工作。

    1. 将 Timer_ISR ()中的'swi_post ()'更改为'swi_post ()':

    空 Timer_ISR (空)

       TimerIntClear (TIMER2_base、TIMER_TINA_TIMEOUT);         //必须从计时器中清除计时器标志
       Swi_post (LEDSwi);


    2.添加一个'swi_post ()'函数。  只要布置了 LEDSwii、就会运行此函数。  由于 Swi 的名称被称为'LEDSwi'、我猜它用于切换 LED。  以下是定义它的方法:

    void swi_post (uint32_t arg0、uint32_t arg1)

       ledToggle ();


    3. 在 main.c 顶部添加一个'swi_post '声明以避免编译器警告:

    void swi_post (uint32_t arg0、uint32_t arg1);

    然后、您应该能够构建.out 文件。  我还会将函数'swi_post '的名称更改为类似于'ledSwifxn'的名称、因为'swi_post '与'swi_post 太相似、这是令人困惑的。  您需要在配置 Swi 对象的 main.c 和 empty.cfg 中更改名称。

    此致、

    Janet

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

    Janet、您好!

    我已尝试上述代码、但仍出现错误。

    我还附加了解决方案主文件。 cfg 文件必须根据所附的主文件。

    e2e.ti.com/.../7103.main.c

    查看是否可以使用主文件删除错误。  

    此致

    Praveen  

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

    您好 Praveen、

    您所附的 main.c 没有我建议的修复程序。  我要从我构建的项目中附加 main.c 和 empty.cfg 文件。

    此致、

    Janet

    e2e.ti.com/.../6507.main.c

    e2e.ti.com/.../0143.empty.cfg