我在闪存中处理两个映像:引导加载程序和应用程序。
当调试一个时、我不想擦除另一个、所以在每个项目的属性(调试、闪存设置、擦除)中、我将"整个闪存"更改为"按地址范围"。
这对我来说是可以的、但对团队中的其他人来说不是可以的、因为此设置存储在.launch 文件中、该文件被从版本控制中排除、因为它包含特定于开发人员的路径等
是否有人知道存储/指定此内容的不同方式?
我正在考虑编写脚本(作为预编译步骤运行)来检查.launch 文件、但这似乎是极端的...
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.
我在闪存中处理两个映像:引导加载程序和应用程序。
当调试一个时、我不想擦除另一个、所以在每个项目的属性(调试、闪存设置、擦除)中、我将"整个闪存"更改为"按地址范围"。
这对我来说是可以的、但对团队中的其他人来说不是可以的、因为此设置存储在.launch 文件中、该文件被从版本控制中排除、因为它包含特定于开发人员的路径等
是否有人知道存储/指定此内容的不同方式?
我正在考虑编写脚本(作为预编译步骤运行)来检查.launch 文件、但这似乎是极端的...
谢谢 Ki。 我的.launch 文件确实包含绝对路径以及其他特定于开发人员的内容、例如存储器浏览器的显示选项。
我将 CCS 8.3.1用于此项目、但对于另一个项目、我使用 CCS 10.4、我可以看到它生成的.launch 文件中仍然存在绝对路径。
您是否知道.launch 文件中的设置是否可作为(或通过)变量访问、我可以从脚本访问这些变量? 启动文件中的相关节点具有以 "com.ti.ccstudio.debug.debugModel.ATTR_DEBUGGER_PROPERTIES."开头的值的"key"属性。
有一些变量可在更新版的 CCS 中使用。 当这些 CCS 的后续版本自动生成工程.launch 文件时、应 使用它们。 您可以共享.launch 文件吗? 我想看一下。
谢谢
Ki
您好 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
这些是预期的。
因此、我进行了一些实验、看起来像使用最新版本的 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 文件中存在的特定设置。 我稍后将发布详细信息。很好。 期待了解详情
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"。