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.

[参考译文] TMDSCNCD28379D:USB 闪存编程器不支持更大的文件

Guru**** 2513185 points
Other Parts Discussed in Thread: TMDSCNCD28379D, C2000WARE, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1230406/tmdscncd28379d-usb-flash-programmer-does-not-work-with-larger-files

器件型号:TMDSCNCD28379D
主题中讨论的其他器件: C2000WAREUNIFLASH

您好!

我有一个 TMDSCNCD28379D、可以成功为闪存构建示例 led_ex1_blinky 工程、并使用 hex2000.exe 从 led ex1_blinky.out 中生成.dat 文件。 我还成功地使用 了 usb_flash_programr.exe 通过生成的.dat 文件对闪存进行编程、方法如下:

usb_flash_programr.exe F2837xD_usb_flash_kernels_cpu01.dat led_ex1_blinky.dat

然后、我通过 使用 asm (" NOP ")添加多个函数来增加示例程序的大小、以模拟我们要移植(并想使用 USB 闪存编程器)的程序的大小。 新大小为  led ex1_blinky.out - 448608字节和  led_ex1_blinky.dat - 182914字节

当我尝试用更大的文件再次运行 USB 闪存编程器时 、无法写入所有字节。 它始终以132928字节(已尝试多次)出现故障。

正在从文件 led_ex1_blinky.dat 发送182914字节的数据...
发送批量传输时出错:0x0079
发送了182914字节中的132928
USB 操作失败!

如果我使用 Code Composer、它将擦除、对闪存进行编程并运行新的更新后的大得多的文件。

我修改了链接器命令文件、将闪存的扇区整合到 FLASHB 中。 但它同样可以在具有较大文件的 Code Composer 中工作。 如果我删除其他代码以减小文件大小、恢复到原始代码、它也可以使用 USB 闪存编程器。

/*闪存扇区*/
FLASHA:origin = 0x080002,length = 0x001FFE /*片上闪存*/
FLASHB:origin = 0x082000,length = 0x026000 /*片上闪存*/
FLASHI : origin = 0x0A8000, length = 0x008000 /*片上闪存*/
FLASHJ:origin = 0x0B0000,length = 0x008000 /*片上闪存*/
FLASHK : origin = 0x0B8000,length = 0x002000 /*片上闪存*/
FLASHL:origin = 0x0BA000、length = 0x002000 /*片上闪存*/
FLASHM:origin = 0x0BC000,length = 0x002000 /*片上闪存*/
FLASHN:origin = 0x0BE000、length = 0x001FF0 /*片上闪存*/

USB_FLASH_programmer 是否存在可使用的文件大小限制?

有什么建议可以尝试?

感谢您的任何帮助。

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

    我目前有一个带有集线站的 F2837x controlCARD。

    请查看以下内容:

    C:\ti\c2000\c2000Ware_4_03_00_00\boards\controlCARDs\TMDSCNCD28379D\R1_3\TMDSCNCD28379D_180cCARD_pinout_R1_3.pdf

    我认为 XRSn 是引脚120?

    在 CC 中复位处理器以启动 USB 闪存编程后、此引脚当前为~350mV。 我设置了一个触发器(下降沿)。

    当运行 USB_FLASH_programmer 时、我不会触发(即线路保持在~350mV)。

    故障如上所述。

    您是否能够用我提供的 CC 项目、源和数据复制问题?

    谢谢。

    布伦特

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

    Brent、

    感谢您提供的信息。  此问题与闪存 API 无关。   

    我将请我们的 USB 闪存开发人员(让他尝试该项目、但看起来他没有可用)就该项目提交一个票证、以进一步调试该项目、以便他们可以在其中一个较新版本中发布固定版本。

    注意:我还将我们的开发人员引导至编译器团队、看看我们是否可以强制每个函数位于对齐的地址上。

    谢谢。此致、

    瓦姆西

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

    尊敬的 Vamsi:

    感谢您提供的信息。

    我只是想稍微澄清一下。

    您认为这是 USB 闪存内核代码的一个问题/错误吗?

    具体来说、您认为在将 application .dat 文件写入闪存时、闪存内核代码未正确对齐对齐地址上的函数、因此一个或多个函数未正确对齐、从而导致闪存错误?

    您已经打开了一个 TT、让 USB 闪存内核开发人员可以研究该问题、他们将在 C2000 SDK 的新版本更新中提供修复?

    何时可以解决此问题是否有任何时间框架?

    我是否有办法跟踪该工单或该工单是 TI 内部人员? 不确定如何获取有关该问题的状态?

    请告诉我、是否有办法强制每个函数都在对齐的地址上。

    谢谢。

    布伦特

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

    您好、Brent:

    关于此问题、我们计划首先关注的是找到一种方法、使每个函数都位于对齐的地址上。

    是的、我确实认为问题在于 USB 闪存内核代码在将程序数据传递到闪存 API 之前没有对齐程序数据。  因此、是闪存 API 产生的错误。

    是的、USB 闪存内核开发人员必须查看这一点-我还不知道时间范围-它可以与下一版 C2000Ware 一起发布(不是本季度的计划发布)。

    是的,有一种方法来跟踪票-我们的团队可以在下周向您提供该信息。

    谢谢。此致、

    瓦姆西

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

    您好、Brent:

    关于对齐所有函数、我们的编译器团队建议如下:

    最近的解决方案是将__attribute__(aligned (8)))应用于每个函数。   相关详细信息、请在 C28x 编译器手册 (https://www.ti.com/lit/pdf/spru514)中搜索标题为"函数属性"的子章节。  为了简化操作、请将其封装在宏中。

    如果您需要有关这方面的更多信息、请告诉我、我可以加入我们的编译器团队来为您提供帮助。

    谢谢。此致、

    瓦姆西

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

    感谢您提供的信息 Vamsi。  

    我会尝试这项建议、让您知道它是如何运作的。

    布伦特

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

    尊敬的 Vamsi:

    遗憾的是、这无法解决问题。

    它最终在同一个地方出现故障:

    请查看随附的更新文件、以验证我是否正确更新了代码。 对于每个函数(包括 main 在内的801个函数)、我都应用了以下带有新属性的声明:

    空 main ()
    __attribute__(aligned (8));
    void foo1()
    __attribute__(aligned (8));

         ...

    e2e.ti.com/.../7534.led_5F00_ex1_5F00_blinky.c

    您是否需要任何其他信息或我可以尝试其他信息?

    您是否还能够复制我看到的问题?

    谢谢。

    布伦特

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

    Brent、

    感谢您试用我们编译器团队的建议。   

    我们的 USB 专家(Siddharth)和内核专家(Charles)将对此进行调试、并尝试在今年第四季度发布更新。   

    当他们创建 TT 时、我们将告诉您有关如何跟踪它的详细信息。

    谢谢。此致、

    瓦姆西

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

    感谢您提供的信息。

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

    您好、Brent:

    目前正在提交 TT、下周早些时候将向您提供详细信息以进行跟踪。  

    谢谢。此致、

    查尔斯

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

    感谢您发送编修。

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

    已向您发送连接消息进行聊天。

    谢谢。

    查尔斯