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.

[参考译文] 编译器/TMS320F28377D:如何在控制套件中测试示例"F2837xD_USB_FLASH_kernel&quot?

Guru**** 2611705 points
Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/688611/compiler-tms320f28377d-how-can-test-the-the-example-f2837xd_usb_flash_kernels-in-control-suite

器件型号:TMS320F28377D
Thread 中讨论的其他器件:controlSUITEC2000WARE

工具/软件:TI C/C++编译器

当我使用 TI serial_flash_programr.exe 进行测试 时,它显示无法打开文件,为什么? 我 该怎么做?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我确信 F2837xD_sci_flash_kernels_cpu01.txt 存在。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您需要在命令行中正确指向该文件。 它可以是绝对路径、也可以相对于执行.exe 的位置。

    SAL
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我让.txt 位于绝对路径中、或者相对于执行.exe 的位置。 但它是相同的、无法打开.txt
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、当我使用相对路径时。它可以打开它、请给您点赞! 但出现了一个新问题、请参阅上面的内容。  下载失败。 为什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我使用28335 FUSion Flash_Erase (a、b)和 Flash_Program (a、b、c、d)(位于 Flash2833x_API_Library.h)以实现在线下载。
    28377D 是否具有 Flash_Erase (a、b)和 Flash_Program (a、b、c、d)功能?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我有相同的问题
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请添加-v 命令行参数以进行更详细的打印。

    串行闪存编程器的第一件事是为器件上的自动波特锁发送'A'。 器件应返回'A'。 这似乎没有成功发生。

    1)您需要确保1)器件正确引导至 SCI 引导加载程序、2)主机 PC 将数据发送至引导加载程序使用的正确引脚。

    注意:在 F2837xD controlCARD 上、SCI 0引导加载程序(默认)引脚不会通过卡上的 FTDI 芯片复用到 micro-USB 连接器。 SCI 1引导加载程序的引脚多路复用至连接器。

    希望这对您有所帮助。

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

    请思考您的帮助。 现在、我可以成功地下载一个.txt。  但 donwload 两个.txt 失败。

    我的命令 likethis:serial_flash_programr.exe -d f2837xD -k application.txt -a crp_485DownLoad_V1.0_DSP1cpu1_Flash.txt -m F2837xD_sci_flash_kernels_cpu02.txt -n crp_485DownLoad_V1.0_DSP1cpu2_Flash.txt -p COM6 -b 9600

    然后将出现

    为了实现  donwload  两个.txt 成功... 您能告诉我这些设置步骤吗?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 SCI 闪存内核中有一行代码调用 SCI_boot()。 它有一个参数、用于指定要使用的 SCI 引脚。 您可能需要更改该代码行以使用备用 SCI 引脚选项。 因此、您需要更改参数并重新编译内核。

    重新编译内核后、获取新的 kernel.txt 文件并使用它。

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

    当我下载两个.txt、如下所示:

    serial_flash_programr.exe -d f2837xD -k F2837xD_sci_flash_kernels_cpu01.txt -a led_flash_cpu01.txt -m F2837xD_sci_flash_kernels_cpu02.txt -n led_flash_cpu02.txt -p COM10 -b 9600

    led_flash_cpu01.txt 和 led_flash_cpu02.txt 已成功下载。

    F2837xD_sci_flash_kernels_cpu01.txt 和 F2837xD_sci_flash_kernels_cpu02.txt 位于 ti\controlSUITE\device_support \~Utilities serial_flash_programmer\f2837xD_FW_upgrade_example。

    但是、当我使用 F2837xD_sci_flash_kernels_cpu02.txt flie 时、该 flie 通过 controlSUITE 中的示例 F2837xD_sci_flash_kernels_cpu02生成。

    类似如下的命令:serial_flash_programr.exe -d f2837xD -k F2837xD_sci_flash_kernels_cpu01.txt -a led_flash_cpu01.txt -m F2837xD_sci_flash_kernels_cpu02.txt -n led_flash_cpu02.txt -p COM10 -b 9600

    但失败了。 我可以看到该过程、下载 F2837xD_sci_flash_kernels_cpu01.txt 成功、然后我选择命令1-DFU CPU1、我可以看到下载 led_flash_cpu01.txt 成功。当我选择命令14-Reset CPU1和 Boot CPU2时、我可以看到下载日期、最后将显示如下所示、

    唯一的区别是 F2837xD_sci_flash_kernels_cpu02与项目示例 F2837xD_sci_flash_kernels_cpu02的区别。    

    这就是为什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    发布的是从示例构建的。 我不确定问题可能是什么。

    也许可以在 C2000Ware 中试用最新版本。

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

    您好 Sal、
    我发现该过程在下面停止:

       

    在此之前、它已经 让  Flash0EccRegs.ecc_enable.bit.enable = 0x0;  

    ,我们已  根据 17, processors.wiki.ti.com/.../C2000_Flash_FAQ 进行检查

    您的建议是什么?

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

    您可以尝试在 C2000Ware 中运行闪存编程示例吗? 它将调用闪存 API。 请先查看这是否起作用。

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

    是,我们已经在 c2000ware 中尝试过该示例,它也无法正常工作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    运行 Fapi_setActiveFlashBank (Fapi_FlashBank0)后、程序进入 ILLEGAL_ISR。
    我像这样进行测试
    中断空 ILLEGAL_ISR (空)

    //
    //在此处插入 ISR 代码
    //

    //
    //接下来的两行仅用于调试,以在此处停止处理器
    //插入 ISR 代码后删除
    //
    GpioDataRegs.GPDSET.bit.GPIO114=1;
    DELAY_US (10000);
    ASM (" ESTOP0");
    for (;;);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    由于您知道问题的位置、因此可以看到它尝试执行的操作码是什么、这会创建非法的操作码 ISR。

    我以前没有在内核中遇到过这种情况。 可能是某个东西没有正确加载。

    确保已正确编程正在提取执行的代码。

    希望这能有所帮助。

    您是否在 C2000Ware 中试用过内核?

    SAL