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.

[参考译文] CCS/F28M35H52C:Uniflash CLI 使用帮助。 GUI 工作正常,但 CLI 不能 n't.

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/590462/ccs-f28m35h52c-uniflash-cli-usage-help-gui-works-but-cli-doesn-t

器件型号:F28M35H52C
主题中讨论的其他器件:UNIFLASH

工具/软件:Code Composer Studio

您好!

我正在尝试对基于 Concerto 的器件进行一些编程。 我能够使用 Uniflash GUI 成功地对器件进行一致的编程、但我无法确定使用命令行工具时出现了什么问题。

我的 Uniflash 版本为3.4 (4.0不适用于串行编程 Concerto 器件)、我将在 Ubuntu 16.04上运行它。

我通过 GUI 创建了一个.ccxml 和.uniflashsession 文件(两者都已附加)、并在我的命令行调用中使用它们、如下所示:

/opt/ti/uniflash_3.4/uniflash.sh -log flash.log -verbose 1 -ccxml refbeacon .ccxml -core "C28xx_0"-loadSettings refbeacon .uniflashsession -program /home/mcmdev/software/3.0/channel_programr/refbeacon3_channelboard_c28xx.out

我得到的结果如下。 我不确定为什么它不断说找不到文件。 如果我从 GUI 中选择相同的文件、则效果很好。

***** 德州仪器通用闪存编程器*****

>闪存管理器配置为以下部件:F28M35H52C1

>正在从给定的会话文件加载设置...



完全验证


0


/dev/ttyUSB1

>设置已加载。

>正在连接到目标以执行闪存操作...

严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

>已连接。

>加载程序:/home/mcmdev/software/3.0/channel_programr/refbeacon3_channelboard_c28xx.out
C28xx_0:写入 Flash @地址0x00100000、长度0x00003b7b (页0)

严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

C28xx_0:写入 Flash @地址0x0010572a、长度为0x00000941 (页0)

严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

C28xx_0:写入 Flash @地址0x001060a4、长度0x0000000a (页0)

严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

C28xx_0:写入 Flash @地址0x00103b7c、长度0x00001bae (第0页)

严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

C28xx_0:写入闪存@长度为0x0000001c 的地址0x00106086 (第0页)

严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

C28xx_0:写入闪存@长度为0x0000001A 的地址0x0010606c (第0页)

严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

C28xx_0:写入 Flash @地址0x0013fff0、长度0x00000002 (页0)

严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

>完成加载。

>断开与目标的连接。


我已经使用 uniflashCLI.sh 尝试过相同的命令、但这只是为我提供了:

***** 德州仪器通用闪存编程器*****

线程"main" java.lang.StringIndexOutOfBoundsException 中出现异常:字符串索引超出范围:1.
在 java.lang.String.substring(未知来源)
com.ti.uniflash.commandline.CommandLine.parseArgs(Unknown 来源)
com.ti.uniflash.commandline.CommandLine.main(Unknown 来源)

请提供建议。

谢谢、

Aditya

e2e.ti.com/.../uniflash_2D00_ccxml_2D00_and_2D00_log.zip

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

    我不是 Uniflash 的专家、但问题似乎只是查找文件。

    请尝试将.out 放入与 Uniflash 工具相同的文件夹、这样就无需指定路径。 只需将文件放在与 Uniflash 命令行脚本相同的文件夹中、不要使用包含文件夹名称的路径。

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

    Sal、

    感谢您的回复。 但将文件与 uniflash 工具放在同一目录中并不会有什么不同。 相同的误差。 在某种程度上、当 GUI 运行正常时、uniflash 命令行工具无法加载文件。

    -Aditya

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

    是否可以尝试生成 Debug Server 日志? 您可以通过转至"帮助->日志记录->开始日志记录"来启用日志。

    我不确定"open: no such file or directory"错误消息来自何处,但我想知道它是否在查找内核文件方面遇到问题。

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

    GUI 正常工作。 是否有方法可以通过命令行启动调试服务器日志? 命令行对我来说是失败的。

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

    哦、对了。 您能否在运行 UniFlash 命令之前在命令提示符中设置以下环境变量?

    设置 TI_DS_ENABLE_LOGIN=1
    设置 TI_DS_logging_output=c:/path/file.log

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

    我已附加日志。 看起来、无论出于什么原因、它都试图通过"COM1"进行编程。 我正在使用-loadSettings 加载设置、但它没有从.uniflashsession 文件(/dev/ttyUSB2)获取正确的串行端口。  

    我的会话文件位于此处:  

    e2e.ti.com/.../file.log

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在 COM 端口问题上、您能否尝试通过'-setOptions FlashSerialCOMPort=COM2'(或您的端口、我无法打开会话文件)手动设置 COM 端口属性、而不是使用-loadSettings? 我想知道加载设置是否有问题、或者通常写入属性是否有问题。

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

    似乎我在两个内核上都没有该选项。 这是 C28x 内核的输出。 M3内核为 viewOptions 提供了类似的列表。

    /opt/ti/uniflash_3.4/uniflash.sh -verbose 1 -ccxml refbeacon .ccxml -core "C28xx_0"-viewOptions

    ***** 德州仪器通用闪存编程器*****

    >闪存管理器配置为以下部件:F28M35H52C1

    >显示要配置的可用闪存选项:
    数字选项:
    ID:FlashOSCCLK
    名称:OSCCLK (MHz)
    值:20
    范围:2 - 100
    数字选项:
    ID:FlashSPLLIMULT
    名称:系统 PLLCR 整数乘法器(SPLLIMULT)
    值:12.
    范围:0 - 127
    下拉菜单选项:
    ID:FlashSYSDIVSEL
    名称:系统时钟分频选择(SYSDIVSEL)
    值:1[/2]
    选项:
    0 [/1]
    1 [/2]
    2 [/4]
    3 [/8]
    布尔选项:
    ID:FlashBackupClock
    名称:闪存操作期间的备份/恢复时钟寄存器设置
    值:true
    单选按钮选项:
    ID:FlashDownloadSetting
    姓名:
    值:擦除和编程
    选项:
    擦除和编程
    仅限程序
    仅加载 RAM
    仅验证
    布尔选项:
    ID:FlashBlankCheckToggle
    名称:在将数据加载到闪存存储器之前执行空白检查
    值:false
    布尔选项:
    ID:FlashVerifySetting
    名称:编程后验证闪存
    值:true
    布尔选项:
    ID:FlashAutoECCSeting
    名称:自动 ECC 生成
    值:true
    单选按钮选项:
    ID:FlashEraseSelection
    姓名:
    值:整个闪存
    选项:
    整个闪存
    仅限必要扇区(用于程序加载)
    仅限选定的扇区
    布尔选项:
    ID:FlashC28Bank0Sector13
    名称:扇区 A (0x13E000 - 0x13FFFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector12
    名称:扇区 B (0x13C000 - 0x13DFFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector11
    名称:扇区 C (0x13A000 - 0x13BFFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector10
    名称:扇区 D (0x138000 - 0x139FFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector9
    名称:扇区 E (0x130000 - 0x137FFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector8
    名称:扇区 F (0x128000 - 0x12FFFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector7
    名称:扇区 G (0x120000 - 0x127FFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector6
    名称:扇区 H (0x118000 - 0x11FFFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector5
    名称:扇区 I (0x110000 - 0x117FFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector4
    名称:扇区 J (0x108000 - 0x10FFFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector3
    名称:扇区 K (0x106000 - 0x107FFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector2
    名称:扇区 L (0x104000 - 0x105FFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector1
    名称:扇区 M (0x102000 - 0x103FFF)
    值:true
    布尔选项:
    ID:FlashC28Bank0Sector0
    名称:扇区 N (0x100000 - 0x101FFF)
    值:true
    字符串选项:
    ID:FlashC28Z1CSMKEY0
    名称:C28x-Z1-CSMPSWD0/KEY0 (32位)(0x13FFF8):0x
    值:FFFFFFFF
    字符串选项:
    ID:FlashC28Z1CSMKEY1
    名称:C28x-Z1-CSMPSWD1/key1 (32位)(0x13FFFA):0x
    值:FFFFFFFF
    字符串选项:
    ID:FlashC28Z1CSMKEY2
    名称:C28x-Z1-CSMPSWD2/key2 (32位)(0x13FFFC):0x
    值:FFFFFFFF
    字符串选项:
    ID:FlashC28Z1CSMKEY3
    名称:C28x-Z1-CSMPSWD3/key3 (32位)(0x13FFFE):0x
    值:FFFFFFFF
    字符串选项:
    ID:FlashC28Z1ECSLKEY0
    名称:C28x-Z1-ECSLPSWD0 (32位)(0x13FFF4):0x
    值:FFFFFFFF
    字符串选项:
    ID:FlashC28Z1ECSLKEY1
    名称:C28x-Z1-ECSLPSWD1 (32位)(0x13FFF6):0x
    值:FFFFFFFF
    字符串选项:
    ID:FlashC28Z1EXEONLY
    名称:C28x-Z1-EXEONLY (16位)(0x13FFF2):0x
    值:FFFF
    布尔选项:
    ID:FlashVersoseMode
    名称:启用详细输出
    值:true

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    即使未列出该选项、您仍应能够使用-setOptions 选项设置该设置。 可以试试吗?

    此外、您能否再次将会话文件附加到 E2E 而不是 Hastebin? 我似乎可以访问 hastebin。

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

    我一直尝试使用该选项、但它明确指出该选项不可用:

    /opt/ti/uniflash_3.4/uniflash.sh -verbose 1 -ccxml refbeed.ccxml -core "C28xx_0"-setOptions FlashSerialCOMPort=/dev/ttyUSB2 -program refbeacon3_channelboard_c28xx.out

    ***** 德州仪器通用闪存编程器*****

    >闪存管理器配置为以下部件:F28M35H52C1

    >设置用户闪存选项...

    >[警告]:未找到属性 FlashSerialCOMPort。

    >正在连接到目标以执行闪存操作...

    严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

    >已连接。

    >加载程序:refbeacon3_channelboard_c28xx.out
    C28xx_0:写入 Flash @地址0x00100000、长度0x00003b6e (页0)

    严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

    C28xx_0:写入闪存@地址0x0010571c、长度为0x00000945 (页0)

    严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

    C28xx_0:写入 Flash @地址0x00106098、长度0x0000000A (页0)

    严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

    C28xx_0:写入 Flash @地址0x00103b6e、长度为0x00001bae (第0页)

    严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

    C28xx_0:写入闪存@长度为0x0000001c 的地址0x0010607c (第0页)

    严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

    C28xx_0:写入闪存@长度为0x0000001A 的地址0x00106062 (第0页)

    严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

    C28xx_0:写入 Flash @地址0x0013fff0、长度0x00000002 (页0)

    严重:C28xx_0:在闪存操作期间发生错误:打开:无此类文件或目录

    >完成加载。

    >断开与目标的连接。


    我随函附上了下面的课程。

    e2e.ti.com/.../refbeacon.uniflashsession.txt

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

    这很奇怪。 该选项似乎在 Windows 上可用、但在 Linux 上不可用。

    解决方法是、您能否下载随附的 F28M35H52C1_FlashProperties.xml 并将其复制到此处的 UniFlash 安装目录(\ccs_base\DebugServer\propertyDB\)。 这会手动向 F28M35H52C1器件添加必要的选项。

    e2e.ti.com/.../F28M35H52C1_5F00_FlashProperties.xml

    谢谢、
    Ricky

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

    Ricky、

    谢谢! 这似乎已经达到了目的。 与 GUI 一样、在 Linux 中的串行端口上未正确设置波特率、但我可以在运行命令之前手动管理自己。

    对于任何其他人:

    我按照 Ricky 的建议复制了 Uniflash 安装所附带的文件。 我的命令如下所示:

    /opt/ti/uniflash_3.4/uniflash.sh -ccxml -core "C28xx_0"-setOptions FlashSerialCOMPort=/dev/ttyUSB2 -program <.out file>

    -Aditya

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

    感谢您的更新。 很高兴听到它现在对您有所帮助。

    我想知道您是否可以使用以下命令再次尝试设置波特率:-setOptions FlashSerialBaudRate=38400

    谢谢、
    Ricky