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:为什么 USB 序列号是硬编码常量?

Guru**** 2613775 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1011693/tms320f28388d-why-are-usb-serial-numbers-hardcoded-constants

器件型号:TMS320F28388D

您好!

USB 库创建的 USB 器件具有硬编码的恒定 USB 序列号字符串描述符。  我发现这是我们公司的产品制造实践中的一个问题、 其中产品序列号是 在将固件加载到产品后分配的。

尽管我甚至找到了一种解决此限制的方法、但我 想知道 TI 为何施加了此类限制?

是否旨在防止覆盖字符串描述符的编程错误? 如果是、则会产生副作用、即必须重新编译每个产品单元的固件、以确保每个单元具有不同的序列号。

幸运的是、我不必使用定制编译、但我必须使用 USB 库中的自定义文件版本。 当然、我更希望能够在运行时更改序列号、而无需改动库。

此致、

李孝华

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

    您好,  

    我不认为有任何特殊原因。 假设设备描述符(包含产品序列号)应存储在 RAM 中。 这将允许 客户在  运行时根据要求更改任何字段

    此致

    Siddharth

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

    tUSBDBulkDevice 结构中的许多字段标记为 const。  批量器件的 USB 库示例初始化 全局 tUSBDBulkDevice 变量。 这会阻止我在器件启动过程中调整字符串描述符值。

     是否应该在函数内初始化 USBDBulkDevice 变量、以便在 运行时可以设置某些字符串描述符?

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

    好的、明白了。 我认为、假设客户将初始化此结构以定义批量器件的运行参数、而不是在运行时更改它。  

    此致

    Siddharth

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

    我 认为这是一个有缺陷的假设。

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

    我们将在下一次 USB 库更新中尝试解决此问题。

    此致

    Siddharth