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.
工具/软件:Code Composer Studio
我们的其中一款产品使用2407A DSP。 我们必须提供一些支持和增强功能。 我正在尝试在 Windows 10下的 CCS3.3中构建此代码、因为这似乎是支持2407A 的最后一个 CCS 版本。 代码是现有的、使用旧工具原始构建的工作代码。 它应该会构建。 编译似乎很好。 但是,当它尝试链接它时,我收到一个错误“无法打开 config.obj 输入”,没有其他任何东西。 它似乎抱怨的文件存在、因此它应该能够找到它、尤其是因为 CCS3.3 .LKF 文件具有与文件位置正确的正确路径名。 我怀疑这是一个较一般的错误、缺少具体信息、因此我很难找到问题。
我在 XP 兼容模式 SP3中的 Windows 10 (64位)下运行 CCS3.3。 没有这一点、它将无法正常工作。
作为建立信任者、我正在尝试构建另一个使用 CCS3.3 (现在在 Windows 10下)的工作项目(2812)。 我也遇到了这方面的问题、因为我无法在组件管理器中选择 BIOS。 它显示为正确的版本、我选中该框、但在重新打开时不会显示为选中。 由于无法找到 BIOS 文件、代码将无法生成。
我的理论之一可能是权限问题、我曾尝试更改 CCS3.3文件夹和工作文件夹的权限。 行为无变化。
搜索网络和 TI E2E 表单未产生任何解决方案。 需要帮助。
尊敬的 Kevin:
Windows 64位版 CCSv3.3的故事很粗略。 正如您所怀疑的那样、Windows 10完全不支持此功能。 关于与组件管理器相关的第二个问题、问题是 CCSv3 (及更早版本)依赖于 Windows 注册表、并且它假定它是 Windows 32位版本。 有关更多详细信息、请参阅:
https://e2e.ti.com/support/tools/ccs/f/81/p/615134/2266381#2266381
这种不兼容性表现在其他问题中、例如项目服务器 dll 可能未正确注册、从而导致构建错误、如您的第一个问题。 但是、如果没有测试用例、我无法说这是否是实际的根本原因。
在任何情况下、如我在上面提到的论坛帖子中所述、强烈建议将 XP 与 CCSv3.3配合使用。 不必是本机 XP 计算机- XP VM 可以正常运行。 许多现有客户已成功使用 XP 虚拟机。
谢谢
Ki
我也会选择虚拟机。 如果您在获取 WinXP 映像时遇到问题,请考虑 XP 模式。 在 Internet 上有操作方法、如何在 VirtualBox 或类似情况下运行 XP 模式。
Windows 10 32位计算机是否支持/运行 CCS3.3?
[引用 user="Kevin Eschhofen"] Windows 10 32位计算机是否支持/运行 CCS3.3?
我认为32位版本会有所帮助。 它应减轻登记册不兼容的一些问题。 但是、在 Windows 10-64环境中、该环境比 CCSv3.3更不常见(我还不知道该环境的单个实例)、因此我不知道它如何工作(尽管我怀疑它会更好)
Ki
我使用 Windows XP 安装了虚拟机以支持 CCS3.3。 但是、我仍然会得到上面提到的相同链接错误。 我很有信心 VM 和 XP 环境良好(我成功地构建了一个单独的项目)。 但我仍在遇到有关项目的链接错误...[ “无法打开 config.obj 输入”,没有其他内容。] 在没有次要详细信息的情况下、链接器会发出此消息吗? 再说一次、这是2407a、并尝试在工具7.04下进行构建。 此项目没有 TI BIOS。
还有其他想法吗?
谢谢
Kevin
是否可以提供小型可重现测试案例? 我需要*。pjt 和源文件才能生成。 如果您想私下分享、请通过私人消息与我联系
附件是链路错误的图片。
状态复习:我在 XP 下的 VM 环境中。 我成功地在 CCS3.3中构建了一个单独的项目(2812)。 因此、我对环境充满信心。
但是、我仍然会得到相同的误差。 此时、我开始认为有问题的是 CCS3.3或构建工具。 注意:我从工程中删除了 config.c 文件并执行了清理和编译。 我收到相同的链接错误、表示它找不到用于输入的 config.obj 文件、即使该文件不在工程中、也不会出现在 debug.LKF 文件中。 由于构建和链接中没有 config.c 文件(debug.LKF)、我应该会收到一整组其他链接错误。
我们找到了 CCS v3.3的最新版本(版本3.3.83)。 我删除了令人推诿的 CCS3.3 (版本3.3.38)并安装了较新的 CCS3.3。 这方面的有趣之处在于 C2400构建工具主要缺失(CCSTUDIO_v3.3->c2400->cgtools)。 我复制了以前版本安装所需的文件。 然后、我再次构建了项目、并得到与所附图片相同的链接错误。
另一个问题:我了解 CCS v3.3是支持24xx 器件的最后一个 CCS 吗? 这是真的吗?
另一个问题:对于 CCS3.3、C2400的构建工具为版本7.04。 是否有更新或更旧版本的编译工具可用? 7.04是否存在任何已知问题?
您提到了未来的 PMM。 我看不到可以在哪里/如何做到这一点。
[引用 user="Kevin Eschhofen">我们找到了 CCS v3.3的最新版本(版本3.3.83)。 我删除了令人推诿的 CCS3.3 (版本3.3.38)并安装了较新的 CCS3.3。 这方面的有趣之处在于 C2400构建工具主要缺失(CCSTUDIO_v3.3->c2400->cgtools)。 我复制了以前版本安装所需的文件。 然后、我再次构建项目、并得到与所附图片相同的链接错误。
CCSv3.3的完整内部版本号是多少? 并非所有 CCSv3.3安装软件包都支持24x 编译。 您是否具有专为24x 支持而设计的特殊版本? 例如、最新的 CCSv3.3版本不支持24x (3.3.83.20)
[引用 user="Kevin Eschhofen">另一个问题:我知道 CCS v3.3是支持24xx 器件的最后一个 CCS 吗? 这是真的吗?
是的。 但如上所述、并非所有 CCSv3.3版本都支持24x。
[引用 user="Kevin Eschhofen">另一个问题:对于 CCS3.3、C2400的编译工具为版本7.04。 是否有更新或更旧版本的编译工具可用? 7.04是否存在任何已知问题?
7.04是最新版本。 查看中的发行说明 \C2400\c2400_cgt.txt 以了解有关该版本的更多详细信息。
谢谢
Ki
您好 Ki、
我修复了上面提到的问题、这是对 link.cmd 文件中的 config.c 文件的引用。 我必须输入文件的整个路径以解决 link.cmd 文件中的链接错误。
我不确定为什么需要整个路径!?
我已在另一个问题上取得了进展。 我要构建的代码具有".vectors"段。 这与 RTS (rts.src)中的"vectors"段冲突。 我得到链接错误"Cannot allocate vectors in vectors"(无法在向量中分配向量)。 看起来链接器会将".vectors"放入*。map 文件中、并且还会尝试将"向量"(来自 RTS)放入同一个段中、但它不适合。 如何使".vectors"替换或覆盖 RTS 库中的内容
[引用 user="Kevin Eschhofen">我修复了上述问题,该问题是对 link.cmd 文件中的 config.c 文件的引用。 我必须输入文件的整个路径以解决 link.cmd 文件中的链接错误。
我不确定为什么需要整个路径!?[/quot]
文件是如何引用的?
[引用 user="Kevin Eschhofen">我已转到另一个问题。 我要构建的代码具有".vectors"段。 这与 RTS (rts.src)中的"vectors"段冲突。 我得到链接错误"Cannot allocate vectors in vectors"(无法在向量中分配向量)。 看起来链接器会将".vectors"放入*。map 文件中、并且还会尝试将"向量"(来自 RTS)放入同一个段中、但它不适合。 如何使".vectors"替换或覆盖 RTS 库中的内容
这是一个最好由编译器专家回答的问题。 请为此问题开始新主题。
谢谢
Ki
链接命令文件包含在 CCS3.3项目下。 在链接命令中、config.obj 正在引用特定区域的位置。 请参阅以下内容:
任务 :
{
config.obj (.bss) /*这些文件.bss 段 *
event.obj (.bss) //此处添加了 temp vars 是 */
/*在 NOVRAM 操作期间可见! *
}> TASK_STK PAGE 1 //任务堆栈 */
它抱怨它可以在此参考中找到 config.obj。 我必须添加整个路径。
任务 :
{
w:\software\dev\ControlBoard\debug\config.obj (.bss) /*这些文件.bss 段 *
w:\software\dev\ControlBoard\debug\event.obj (.bss) //此处添加了 temp vars *
/*在 NOVRAM 操作期间可见! *
}> TASK_STK PAGE 1 //任务堆栈 */
不确定为何需要整个路径。
假设.cmd 文件位于 w:\software\dev\ControlBoard\中、而"Debug"是配置子文件夹、请尝试:
任务 :
{
..\debug\config.obj (.bss) /*这些文件.bss 段 */
此处添加了.\debug\event.obj (.bss)/*、因此 temp vars 为 *
/*在 NOVRAM 操作期间可见! *
}> TASK_STK PAGE 1 //任务堆栈 */
我曾尝试过此操作、但收到一条错误消息、显示乘法定义.\debug\Config.obj 和 w:\software\dev\ControlBoard\debug\Config.obj。 如果我有完整的路径、错误就会消失。
我明白了。 听起来像是链接器无法解析两个目标文件相同的限制。