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.

[参考译文] TMS320F28379D:CLI uniflash 软件包8.8.1无法识别 FlashEraseSelection 设置

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1432190/tms320f28379d-cli-uniflash-package-8-8-1-does-not-recognize-flasheraseselection-setting

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

工具与软件:

您好!

UniFlash 8.8.1中的 DSLite 不支持 与之前版本(8.2.0之前版本)相同的 FlashEraseSelection 设置。

从 DSLite 运行的日志:

Executing: /home/pi/uniflash_linux/ccs_base/DebugServer/bin/DSLite flash -c /home/pi/uniflash/f28379d.ccxml -l /home/pi/uniflash/generated.ufsettings -s VerifyAfterProgramLoad="No verification" -e -f -v "/mnt/programator/Bootloader_cpu01-part2.hex"
DSLite version 12.8.0.3522
Configuring Debugger (may take a few minutes on first launch)...
        Initializing Register Database...
        Initializing: IcePick_C_0
        Executing Startup Scripts: IcePick_C_0
        Initializing: C28xx_CPU1
        Executing Startup Scripts: C28xx_CPU1
        Initializing: CPU1_CLA1
        Executing Startup Scripts: CPU1_CLA1
        Initializing: C28xx_CPU2
        Executing Startup Scripts: C28xx_CPU2
        Initializing: CPU2_CLA1
        Executing Startup Scripts: CPU2_CLA1
Connecting...
C28xx_CPU1: GEL Output:
Memory Map Initialization Complete
GEL Expression: OnTargetConnect()
info: C28xx_CPU1: If erase/program (E/P) operation is being done on one core, the other core should not execute from shared-RAM (SR) as they are used for the E/P code. Also, CPU1 will be halted to determine SR ownership for the CPU which will run the Flash Plugin code, after which CPU1 will be set to run its application. User code execution from SR could commence after both flash banks are programmed.
Failed: Unknown Property: FlashEraseSelection

generated.settings 文件:

{"Texas Instruments XDS110 USB Debug Probe/C28xx_CPU1":{"FlashEraseSelection":"Necessary Sectors Only (for Program Load)"},"Texas Instruments XDS110 USB Debug Probe/C28xx_CPU2":{"FlashEraseSelection":"Necessary Sectors Only (for Program Load)"}}

f28379d.ccxml:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
        <instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe_0" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe_0" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
        <connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
            <instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds510c28x.xml" id="drivers" xml="tixds510c28x.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds510cla1.xml" id="drivers" xml="tixds510cla1.xml" xmlpath="drivers"/>
            <instance XML_version="1.2" href="drivers/tixds510cs_child.xml" id="drivers" xml="tixds510cs_child.xml" xmlpath="drivers"/>
            <property Type="choicelist" Value="1" id="Power Selection">
                <choice Name="Probe supplied power" value="1">
                    <property Type="stringfield" Value="3.3V" id="Voltage Level"/>
                    <property Type="choicelist" Value="1" id="Power Isolation"/>
                </choice>
            </property>
            <property Type="choicelist" Value="1" id="The JTAG TCLK Frequency (MHz)">
                <choice Name="Fixed with user specified value" value="SPECIFIC">
                    <property Type="stringfield" Value="3.0MHz" id="-- Enter a value from 100.0kHz to 2.5MHz"/>
                </choice>
            </property>
            <platform XML_version="1.2" id="platform_0">
                <instance XML_version="1.2" desc="TMS320F28379D_0" href="devices/f28379d.xml" id="TMS320F28379D_0" xml="f28379d.xml" xmlpath="devices"/>
                <device HW_revision="1" XML_version="1.2" description="" id="TMS320F28379D_0" partnum="TMS320F28379D" simulation="no">
                    <router HW_revision="1.0" XML_version="1.2" description="ICEPick_C router" id="IcePick_C_0" isa="ICEPICK_C">
                        <subpath id="Subpath_1">
                            <property Type="numericfield" Value="0x11" desc="Port Number_0" id="Port Number"/>
                        </subpath>
                    </router>
                </device>
            </platform>
        </connection>
    </configuration>
</configurations>

这一特性非常关键、因为它不允许在器件(闪存、OTP)中对存储器进行编程、因为它会擦除所有扇区。

我在 Linux 上安装了 uniflash 8.8.1 (Ubuntu 24.04)。
我选择了选项和 JTAG 仿真器类型、并使用命令行工具生成了软件包。
很遗憾、DSLite 无法正常工作。

此致、

Piotr Romaniuk

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

    尊敬的 Piotr:

    感谢您提供日志和文件。 我明天会来看看。

    谢谢

    Ki

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

    我已尝试在各种机器上复制此文件、包括 Windows 10、Ubuntu 22.04和 Ubuntu 24.04 (UniFlash 官方不支持)。 我生成的所有使用 FlashEraseSelection 的独立软件包都不会导致任何问题。 他们都取得了成功。

    是否可以共享您的独立包?

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

    尊敬的 Ki:

    我找到了问题。  

    我在 CCS 中生成了配置文件(我需要 JTAG 隔离适配器使用电源)。 使用 f28379d.ccxml 文件时、出现错误。  
    来自 uniflash 生成的包的 f28379d.ccxml 可以正常工作。

    我执行了以下命令行(f28379d.ccxml -是下面列出的两个版本之一):

    sudo ccs_base/DebugServer/bin/DSLite flash -c f28379d.ccxml -l user_files/settings/generated.ufsettings -s VerifyAfterProgramLoad=No verification -e -f -v user_files/images/Bootloader_cpu02-part2.hex -n 2
    

    来自 CCS 的我的 f28379d.ccxml:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
                        
    
    
    
        
        <configuration XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
                    
            <instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe_0" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe_0" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
                    
            <connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe_0">
                            
                <instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/>
                            
                <instance XML_version="1.2" href="drivers/tixds510c28x.xml" id="drivers" xml="tixds510c28x.xml" xmlpath="drivers"/>
                            
                <instance XML_version="1.2" href="drivers/tixds510cla1.xml" id="drivers" xml="tixds510cla1.xml" xmlpath="drivers"/>
                            
                <instance XML_version="1.2" href="drivers/tixds510cs_child.xml" id="drivers" xml="tixds510cs_child.xml" xmlpath="drivers"/>
                            
                <property Type="choicelist" Value="1" id="Power Selection">
                    <choice Name="Probe supplied power" value="1">
                        <property Type="stringfield" Value="3.3V" id="Voltage Level"/>
                        <property Type="choicelist" Value="1" id="Power Isolation"/>
                    </choice>
                </property>
                <property Type="choicelist" Value="1" id="The JTAG TCLK Frequency (MHz)">
                    <choice Name="Fixed with user specified value" value="SPECIFIC">
                        <property Type="stringfield" Value="3.0MHz" id="-- Enter a value from 100.0kHz to 2.5MHz"/>
                    </choice>
                </property>
                <platform XML_version="1.2" id="platform_0">
                                    
                    <instance XML_version="1.2" desc="TMS320F28379D_0" href="devices/f28379d.xml" id="TMS320F28379D_0" xml="f28379d.xml" xmlpath="devices"/>
                                    
                    <device HW_revision="1" XML_version="1.2" description="" id="TMS320F28379D_0" partnum="TMS320F28379D" simulation="no">
                                            
                        <router HW_revision="1.0" XML_version="1.2" description="ICEPick_C router" id="IcePick_C_0" isa="ICEPICK_C">
                                                    
                            <subpath id="Subpath_1">
                                                            
                                <property Type="numericfield" Value="0x11" desc="Port Number_0" id="Port Number"/>
                                                        
                            </subpath>
                                                
                        </router>
                                        
                    </device>
                                
                </platform>
                        
            </connection>
                
        </configuration>
        
    </configurations>
    

    Uniflash 中的 f28379d.ccxml:

    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <configurations XML_version="1.2" id="configurations_0">
    <configuration XML_version="1.2" id="configuration_0">
            <instance XML_version="1.2" desc="Texas Instruments XDS110 USB Debug Probe" href="connections/TIXDS110_Connection.xml" id="Texas Instruments XDS110 USB Debug Probe" xml="TIXDS110_Connection.xml" xmlpath="connections"/>
            <connection XML_version="1.2" id="Texas Instruments XDS110 USB Debug Probe">
            	
            		   <instance XML_version="1.2" href="drivers/tixds510icepick_c.xml" id="drivers" xml="tixds510icepick_c.xml" xmlpath="drivers"/>
            	
            		   <instance XML_version="1.2" href="drivers/tixds510c28x.xml" id="drivers" xml="tixds510c28x.xml" xmlpath="drivers"/>
            	
            		   <instance XML_version="1.2" href="drivers/tixds510cla1.xml" id="drivers" xml="tixds510cla1.xml" xmlpath="drivers"/>
            	
            		   <instance XML_version="1.2" href="drivers/tixds510cs_child.xml" id="drivers" xml="tixds510cs_child.xml" xmlpath="drivers"/>
            	
                
                <platform XML_version="1.2" id="platform_0">
                    <instance XML_version="1.2" desc="TMS320F28379D" href="devices/f28379d.xml" id="TMS320F28379D" xml="f28379d.xml" xmlpath="devices"/>
                </platform>
            </connection>
        </configuration>
    </configurations>

    错误消息具有误导性。

    我的 ccxml 文件有什么问题?

    此致、

    Piotr Romaniuk

    PS
    我使用了以下 generate.ufsettings:

    {"Texas Instruments XDS110 USB Debug Probe/C28xx_CPU1":{"FlashEraseSelection":"Necessary Sectors Only (for Program Load)"},"Texas Instruments XDS110 USB Debug Probe/C28xx_CPU2":{"FlashEraseSelection":"Necessary Sectors Only (for Program Load)"}}

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

    我目前使用带有板载 XDS100的 F28379D LaunchPad。 我必须使用 XDS110尝试 F2837xD 设置。 我明天会试一下。

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

    问题是设置文件中的调试探针名称与定制 ccxml 文件中的调试探针名称不匹配:

    设置:"Texas Instruments XDS110 USB Debug Probe"

    uniflash ccxml:"德州仪器(TI) XDS110 USB 调试探针"

    定制 CCXML: "德州仪器(TI) XDS110 USB 调试探针 _0 "

    我怀疑您使用 UniFlash 生成的默认 CCXML 文件生成了命令行包、然后在您的自定义文件中进行了交换? 假设是这种情况、您应该指定定制的 CCXML 文件以打开 UniFlash 会话、然后生成独立包。 这将确保调试探针名称在所有文件中匹配。

    谢谢

    Ki

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

    尊敬的 Ki:

    我怀疑您使用 UniFlash 生成的默认 CCXML 文件生成了命令行软件包、然后在自定义文件中替换?

    有。 Generated.ufsettings 文件来自 uniflash 生成的软件包、而.ccxml 文件来自 CCS。 我不知道创建正确(一致)设置需要此功能。  

    假设是这种情况、应指定自定义 ccxml 文件以打开 UniFlash 会话、然后生成独立包。 这样可确保调试探针名称在所有文件中都匹配

    谢谢您的建议。
    我对 GUI 闪存的控制有限、在之前的版本中、速度非常慢。 我看到新版本(8.8.1)运行良好-它可用且响应迅速。
    我将记得在会话开始时应将 ccxml 输入到 uniflash。

    感谢您提供解决方案。

    此致、

    Piotr Romaniuk



  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我看到新版本(8.8.1)运行良好-它可用且响应迅速。

    很高兴听到这个消息! 感谢您的反馈。