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.

[参考译文] TM4C123GE6PM:启用 FPU 和 USB 问题

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/634598/tm4c123ge6pm-enable-fpu-and-usb-issues

器件型号:TM4C123GE6PM
主题中讨论的其他器件:TM4C129DNCPDT

大家好、

在同事的帖子中、器件型号可能不完全正确、但它是具有 USB 的 TM4C 器件。  

  1. 是否有在 Tiva 处理器上启用浮点单元的明确方法? 我的理解是、默认情况下它是禁用的。 我已经尝试过 FPUEnable(),但这似乎不会提高浮点运算的速度。
  2. 我发现某些 USB 器件在 TivaWare CSeries 库的某些版本中工作、而其他器件在不同版本中工作。 例如、在 TivaWare 的2.1.1.71版中使用 USB 通道作为串行端口、但 DFU 将不起作用。 但是、DFU 在版本2.1.3.156和2.1.4.178中确实起作用、但串行端口将不起作用。 是否需要某种修补程序、或者是否可能还有其他事情发生?

谢谢、

不需要

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Nathaniel、
    您是否在调用 FPUEnable 后还调用了 FPULazyStackingEnable?

    我不知道 TivaWare 版本2.1.4.178在串行模式下无法与 USB 配合使用。 请详细说明一下吗? 您可以尝试从2.1.4.178中获取 USB_DEV_cserial 示例吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、谢谢您、Charles、

    这是 Tom Jacobson。 我是最初问上述两个问题的人。 为了澄清这一点、我使用的器件是 TM4C129DNCPDT。

    当我使用2.1.4.178时、我没有在器件管理器下列出 COM 端口、但在使用 TivaWare 的版本2.1.1.71时、我会这样做。 我不会更改我编写的任何代码、我只需将引用的库切换到不同版本的 TivaWare。 我正在使用的评估板(1294XL)不合作、因此我还无法在该板上运行示例。 但我会继续尝试。

    我也调用了 FPULazyStackingEnable。 我的一位同事正在设置一些基准来比较无 FPUEnable+FPULazyStackingEnable 调用与调用 FPUEnable+FPULazyStackingEnable 之间的浮点运算时间。

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

    您好、Tom、

     我刚刚尝试使用 LaunchPad、下面是我在运行 USB_DEV_cserial 示例的 COM 端口上从器件管理器中看到的内容。 我使用的是 Windows 7计算机、Tivaware 为2.1.4.178。 请在 LaunchPad 上尝试、看看您是否可以获得与我相同的结果。  

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

    您使用的是什么 Windows 操作系统?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Ralph 和 Charles、

    我使用的是 Windows 8.1。

    Charles、我在使用2.1.4.178时没有得到与您相同的结果。 我没有获得 USB 串行命令端口和 USB 串行端口、而是在通用串行总线控制器的 USB 复合设备下、在 USB 符号上添加黄色警告符号。 因此、我没有得到我期望得到的 COM 端口。 我本来以为2.1.1.71会有所不同,但结果是一样的。

    几个月前、我实际上发布了大致相同的问题(Ralph、你当时在帮助我)。 我并没有真正到达那里。

    -Tom

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

    是的、我记得。 我们在 Windows 8.1中没有看到任何其他问题报告、Windows 10问题目前仍未解决、但我确信这是描述符问题。 尽管如此、比较从2.1.1.71到2.1.4.178的 USBLib 固件并未显示任何会影响您所看到的行为的更改。

    遗憾的是、Windows 10调查进展缓慢、现在这是优先事项、 因此、我只能建议您跟踪 E2E 主题中的 Windows 10复合问题、并查看是否有任何更新来自我自己、或者可能来自另一个具有 Win 10建议解决方案的富有进取心的个人、然后我们就可以查看同一解决方案是否可以解决 Win 8.1问题。 最新帖子: e2e.ti.com/.../2322335
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、没有更快响应。 我使用2.1.1.71版本的代码解决了这个问题。 在对采用 USB DFU 的示例项目的不同版本进行直接文本比较后、我发现一些初始化函数的参数发生了一些变化。 在我实施这些更改后、DFU 开始在2.1.71下工作。

    我还发现、无论出于什么原因、FPU 似乎是自行启动的、可能是从汇编启动或类似的启动过程中启动的。 如果我在不首先调用 FPUEnable()的情况下发出 FPUDisable()命令,则在我的第一个浮点运算中会出现程序崩溃。 所以我觉得 FPU 正在初始化给我的地方

    感谢大家帮助解决此问题。

    -Tom