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.

[参考译文] TMS320F280025:内核上传后串行固件更新不再继续

Guru**** 2572895 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1064871/tms320f280025-serial-firmware-update-not-proceeding-further-after-kernel-upload

器件型号:TMS320F280025

我正在使用适用于 Windows 的串行闪存编程器实用程序测试微控制器的串行固件更新。 该命令如下所示:

D:\C2000-F28002X-SINGLEBANK-LFU\serial_flash_programmer>serial_flash_programr.exe -d f28002x -k f28002x_sci_flash_kernel.txt -a f28002x_lfu_singlebankBANK0FLASH.txt -b 9600 -p COM5

内核上载开始执行、并在控制台上显示以下最后消息:

fe=fe
42==42
1E==1e
A9=A9
28==28
0==0
8==8
82==82
fe=fe
6==6
0==0
25==25
76==76
0==0
6F==6F
25==25
76==76
0==0
6F==6F
0==0
0==0
传输的比特率/s 为:301.588287

它不会继续进行应用程序上传。 通过查看 Visual Studio 源代码、我们希望它随后将显示以下菜单:

_tprintf(_T("\nWhat operation do you want to perform?\n"));
            _tprintf(_T("\t 1-DFU CPU1\n"));
            _tprintf(_T("\t 2-DFU CPU2\n"));
            _tprintf(_T("\t 3-Erase CPU1\n"));
            _tprintf(_T("\t 4-Erase CPU2\n"));
            _tprintf(_T("\t 5-Verify CPU1\n"));
            _tprintf(_T("\t 6-Verify CPU2\n"));
            _tprintf(_T("\t 7-Unlock CPU1 Zone 1\n"));
            _tprintf(_T("\t 8-Unlock CPU1 Zone 2\n"));
            _tprintf(_T("\t 9-Unlock CPU2 Zone 1\n"));
            _tprintf(_T("\t10-Unlock CPU2 Zone 2\n"));
            _tprintf(_T("\t11-Run CPU1\n"));
            _tprintf(_T("\t12-Reset CPU1\n"));
            _tprintf(_T("\t13-Run CPU1 and Boot CPU2\n"));
            _tprintf(_T("\t14-Reset CPU1 and Boot CPU2\n"));
            _tprintf(_T("\t15-Run CPU2\n"));
            _tprintf(_T("\t16-Reset CPU2\n"));
            _tprintf(_T("\t 0-DONE\n"));
请指导停止此菜单的原因、以便我们继续测试应用程序更新。  我们使用的是版本 1_00_00_00。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Asad、

    我们的闪存内核专家即将休假、将于1月7日返回办公室。  

    请届时回复。

    谢谢、此致、

    Vamsi

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

    尊敬的 Vamsi:  

    我已经解决了这个问题。 默认闪存内核配置为 GPIO28、29作为 SCI 引导引脚。 通过在闪存内核项目中进行以下更改、我已将此设置更改为 GPIO16、17:

    //
    // GPIO16、17的 SCI_BOOT_ALT1参数
    //请参阅 cpu1bootrom.h 以了解其他 SCI 引导引脚配置
    //
    EntryAddr = sciGetFunction (SCI_BOOT_ALT1);

    编译并使用这个新的闪存内核后、我现在可以进入应用程序更新菜单。