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.

[参考译文] LAUNCHXL-F280039C:串行闪存编程器冻结

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1513985/launchxl-f280039c-serial-flash-programmer-freezing

器件型号:LAUNCHXL-F280039C
主题:C2000WARE 中讨论的其他器件

工具/软件:

好的一天、  

我正尝试使用串行闪存编程器将代码编程到组0和组1。 我  从 f28004x 示例中修改了"flashapi_ex5_lfu_no_reset"、以便在 f28003x LAUNCHXL 板上工作。 我在 BANK0_LDFU 和 BANK1_LDFU 构建配置中构建并加载"flash_ex3_sci_flash_kernel.projectspec""。  

然后、我将 Bank0的"flash_ex3_sci_flash_kernel"文本文件和 Bank0的应用固件(例如名为"flashapi_ex5_lfu_no_reset_f200839C")复制到串行闪存编程器文件夹(位于"C:\ti\C2000Ware_5_04_00_00\utilities\flash_programmer\serial_flash_programmers")中。 然后、我打开一个 cmd 窗口、并在"serial_flash_programr.exe -d f28003xD -k flash_kernel_ex3_sci_flash_kernel.txt flashapi_ex5_lfu_no_reset_F200839C.txt -b 9600 -p COM8"中输入、得到以下结果:

我得到41 = A5。 根据其他例子,我看到在线的选项菜单应该出现。 有人能帮助我如何使用 SCI 刷写该电路板吗? GPIO 24的引导0开关(S3)为0、GPIO 32为1。 开关 S2设置为两个0。 SEL1为0且 SEL2为0。

编辑:A5是 NAK 响应、因为我有 autobaud 注释。 当我取消注释时、编程器会冻结、如下所示:

编辑:当我添加-v 时,我得到以下内容:

谢谢、

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

    您好、Scott:

    您能否确认使用的是正确的 COM 端口? 您可以在设备管理器中检查它。

    此外、在 serial_flash_programr.exe 命令中、-d f28003xD 应该是-d f28003x。

    此致、

    Alex

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

    您好 Alex、  

    COM 端口设置正确。

      

    当我从 f28003xD 中删除"D"时、可以得到相同的结果。  

    但是、当对 LAUNCHXL 开发板进行下电上电并重试串行闪存编程器时、会得到以下结果:

    看起来它发送字母"A"、然后可能回显。 这 将在开发板每次下电上电后发生。

    谢谢、  

    Scott

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

    您好、Scott:

    您能否尝试擦除器件上的闪存、然后进行下电上电并尝试加载内核?

    如果不起作用、在下电上电之后、发送内核命令之前、您能否从 CCS 检查自动波特寄存器的内容?

    此致、

    Alex

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

    您好 Alex、  

    我仅加载了 flash_kernel_ex3_sci_flash_kernel (CPU1_RAM 构建配置)、并将 "Erase Settings"更改为"Erase Entire (Properties -> Debug -> Flash Settings->Erase Settings->Erase Entire)、然后得到相同的响应"aa"。 我在调试模式下运行开发板、并注意到、如果我运行程序、它将被自动波特率(SCI_readCharBlockingNonFIFO 函数)阻止。 但是、如果我使用串行编程器并发送"serial_flash_programr.exe -d f28003x -k flash_kernel_ex3_sci_flash_kernel.txt -a flashapi_ex5_lfu_no_reset_F200839C.txt -b 9600 -p COM8 -v "、它将继续传递自动波特率并等待 SCI 消息。

    在哪里可以找到自动波特寄存器?

    谢谢、  

    Scott

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

    您好、Scott:

    您是否使用 GPIO 28/29进行 SCI 连接? 调试模式意味着什么(您是否通过 JTAG 加载内核)?

    可在 SciaRegs 下找到自动波特寄存器:

    此致、

    Alex

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

    您好 Alex、  

    自动波特寄存器为0x0000、与图像相同。  

    否、我使用的是 USB-C 端口、如下图所示:

    开关3 (S3) GPIO 24设置为"0"、GPIO 32设置为"1"。 我是否必须使用电路板上的引脚来发送数据? IO.24和 IO.32。 并使用 USB 转串行适配器、以便连接到计算机?

    谢谢、  

    Scott

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

    Scott、

    您的电路板看起来正常。

    我在调试模式下运行开发板并注意到、如果我运行程序、自动波特率
    会阻止开发板。

    您是否说您通过 CCS 加载了内核并且成功连接了主机并看到了菜单选项? 内核将等待与主机自动波特、然后再继续。

    此致、

    Alex

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

    您好 Alex、

    我使用 JTAG 调试通过 CCS 加载内核(使用 RAM 编译配置进行构建)以查看停止运行的代码行。 当我在 CCS 中按下暂停键时、它在 SCI_readCharBlockingNonFIFO 函数上停止、指示它正在等待接收自动波特率的字符(字母"A");这是预期结果。  

    我看不到菜单选项。  

    然后点击"Play"打开一个终端并输入 "serial_flash_programr.exe -d f28003x -k flash_kernel_ex3_sci_flash_kernel.txt -a flashapi_ex5_lfu_no_reset_F200839C.txt -b 9600 -p COM8 -v "。 终端发回值"aa"而不发送其他值。

    当我再次暂停 CCS 中的代码时、自动波特率 已完成(移动了  SCI_readCharBlockingNonFIFO 函数)、现在正在等待数据通过 SCI。  

    谢谢、

    Scott

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

    您好、Scott:

    您是否可以尝试在调试模式下加载、然后使用 serial_flash_programr_appln.exe 运行相同的命令并查看是否显示了菜单?

    此致、

    Alex

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

    您好 Alex、  

    我不在办公室、但5月26日返回时会尝试这样做。

    谢谢、

    Scott