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.

[参考译文] 与组共享闪存擦除设置

Guru**** 2419530 points
Other Parts Discussed in Thread: CCSTUDIO

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1037091/share-flash-erase-settings-with-team

主题中讨论的其他器件:CCStudioTM4C129XNCZAD

我在闪存中处理两个映像:引导加载程序和应用程序。

当调试一个时、我不想擦除另一个、所以在每个项目的属性(调试、闪存设置、擦除)中、我将"整个闪存"更改为"按地址范围"。

这对我来说是可以的、但对团队中的其他人来说不是可以的、因为此设置存储在.launch 文件中、该文件被从版本控制中排除、因为它包含特定于开发人员的路径等

是否有人知道存储/指定此内容的不同方式?

我正在考虑编写脚本(作为预编译步骤运行)来检查.launch 文件、但这似乎是极端的...

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

    您好!

    由于不可移植性、我们通常不建议将.launch 文件添加到版本控制中。 但是、我们使用最新的 CCS 版本在这方面进行了改进。 如果您的启动配置文件没有任何绝对路径等、则可能可以共享该文件。 我将自行确认这一点。

    谢谢

    Ki

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

    谢谢 Ki。  我的.launch 文件确实包含绝对路径以及其他特定于开发人员的内容、例如存储器浏览器的显示选项。

    我将 CCS 8.3.1用于此项目、但对于另一个项目、我使用 CCS 10.4、我可以看到它生成的.launch 文件中仍然存在绝对路径。

    您是否知道.launch 文件中的设置是否可作为(或通过)变量访问、我可以从脚本访问这些变量?  启动文件中的相关节点具有以 "com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES."开头的值的"key"属性。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="495637" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1037091/share-flash-erase-settings-with-team/3835603 #3835603"]您是否知道.launch 文件中的设置是否可以作为(或通过)变量进行访问,我可以从脚本访问这些变量?

    有一些变量可在更新版的 CCS 中使用。 当这些 CCS 的后续版本自动生成工程.launch 文件时、应 使用它们。 您可以共享.launch 文件吗? 我想看一下。

    谢谢

    Ki

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

    谢谢 Ki。

    这是我的 CCS 8.3.1项目的.launch 文件。

    (拖放似乎不起作用、所以我只粘贴了下面的内容。)

    Malcolm

    --  




















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

    您也可以从10.4发送它吗?

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

    好的、这是10.4. launch 文件(用于不同的项目)。



































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

    谢谢。 我看到输出文件的一条绝对路径。 当您实际查看 IDE 中的启动属性时、是否还引用了具有绝对路径的输出文件?

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

    您好 Ki、当我执行 Project Properties、Build、Variables 并选择"Show System"时、我可以看到绝对路径和变量相关路径的混合。

    例如、在此屏幕截图中、输出文件名(BuildArtifactFileName)取决于${ProjName}、但输出文件(BuildArtifactFilePath)的完整路径已解析到我的系统。

    "查看启动属性"是指这种情况吗?

    顺便说一下、我们将 CCS 8项目移至 CCS 10.4。  我希望有一种方法可以使.launch 文件独立于用户、因为我的 CCS 8变通办法(如果启动文件没有正确的 FlashEraseEndAddr 等、预编译脚本会失败)不会停止 CCS 10中的编译。  (这可能是一种按设计的 Eclipse 行为、尽管它确实在 CCS 8中起作用...)

    Malcolm

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

    您能否查看项目的实际启动属性?

    转至:Run -> Debug Configurations

    然后在左侧面板和右面板中选择项目的配置、检查各种设置以查看是否在任何位置使用了绝对路径:

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

    感谢 Ki 的指导。  我想我以前没有使用过这种对话。

    我在这里没有看到任何绝对路径("源"选项卡中的 RTS 库除外)。

    Malcolm

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="495637" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1037091/share-flash-erase-settings-with-team/3840633 #3840633"]我在其中看不到任何绝对路径("源"选项卡中的 RTS 库除外)。

    这些是预期的。

    因此、我进行了一些实验、看起来像使用最新版本的 CCS、可以共享工程.launch 文件。 当我将项目从一台计算机导入到另一台计算机时、启动配置文件中的设置会在另一台计算机上被拾取。 我在启动文件中还有一个绝对路径、但当我启动调试会话时、该路径会自动更新以匹配新环境。  

    我认为、关键是在 CCS GUI 中查看调试启动配置时不使用任何绝对路径。 如果改用变量(如$(build_artifact)),则应该可以继续操作。

    有关在调试启动配置中使用此类变量的更多详细信息、请参阅以下链接:

    https://software-dl.ti.com/ccs/esd/documents/ccs_portable-projects.html#debug-configurations

    谢谢

    Ki

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

    谢谢 Ki。  感谢您花时间和精力对此进行调查。

    但是、.launch 文件似乎仍然不适合共享、因为它会经常显示为已更改的文件(例如、当您更改存储器浏览器的地址或格式时)、并且每个开发人员都必须记住不要提交这些更改(如果我们正在努力寻找干净的补丁)。

    我当前有一个低技术含量的权变措施、这是一个编译后步骤、用于检查.launch 文件中存在的特定设置。  我稍后将发布详细信息。

    Malcolm  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="495637" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1037091/share-flash-erase-settings-with-team/3847621 #3847621"]但是、.launch 文件仍然不适合共享、因为它会经常显示为已更改的文件(例如、当您更改存储器浏览器的地址或格式时)、 每个开发人员都必须记住不要提交这些更改(如果我们正在努力寻找干净的修补程序)。

    是的、您确实提出了有关版本控制的一个好问题

    [引用 userid="495637" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1037091/share-flash-erase-settings-with-team/3847621 #3847621"]我当前有一个低技术含量的权变措施、这是一个编译后步骤、用于检查.launch 文件中存在的特定设置。  我稍后将发布详细信息。

    很好。 期待了解详情

    Ki

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

    这是我的低端技术解决方案。  这不是一种欺骗、但对我自己和团队来说似乎是可以的。

    步骤1.  将脚本添加到项目文件夹。  我的团队专门使用 Windows、因此我使用了名为 check-flash-erase-range.bat 的批处理脚本。  内容包括:

    :: Check that the .launch file specifies the correct range of Flash to erase before programming.
    :: The .launch file is developer-specific so is not under version control.
    :: The default CCS behaviour is to erase the entire Flash before programming.
    :: The bootloader occupies the first page so we must not erase it.
    
    findstr "FlashEraseType" %1 | findstr /m /i "By Address Range" > nul
    IF %ERRORLEVEL% NEQ 0 GOTO :fail
    
    findstr "FlashEraseStartAddr" %1 | findstr /m /i 1234 > nul
    IF %ERRORLEVEL% NEQ 0 GOTO :fail
    
    :: Both checks succeeded.
    Echo     ----
    Echo     Flash erase range is correct.
    Echo     ----
    EXIT/B 0
    
    :fail
    Echo     ----
    Echo     Error: The Flash erase range is incorrect or not set.  In Project Properties, Debug, Flash Settings, Erase, select "By Address Range" (0x1234 to 0x5678).
    :: The line above is for the CCS "Problems" tab.  The following lines are for the "Console" tab, which is more readable.
    Echo     In Code Composer Studio, edit the Project Properties.
    Echo     Under Debug, go to Flash Settings, Erase and select "By Address Range".
    Echo     Set the Start Address to 0x1234, and the End Address to 0x5678.
    Echo     This ensures that the bootloader is not erased by programming the application.
    Echo     ----
    EXIT /B 1
    

    注:将"1234"和"5678"替换为项目的相关地址。

    步骤2.  将以下行添加到 Build Properties 中的编译后处理步骤。  (注意:它必须是编译后处理、因为预编译步骤失败不会停止编译。)

    call "${ProjDirPath}/check-flash-erase-range.bat" "..\\.launches\\${ProjName}.launch"

    请注意 Linux 和 Windows 路径分隔符的组合。  这对我来说很有用。

    注:以上步骤适用于应用程序项目。  您需要对引导加载程序项目执行类似的操作、但需要搜索"FlashEraseEndAddr"。