编辑: 枪械砖家 | 2019-10-06 |
我已安装 Code Composer Studio V4.0. 我如何获得调试 CLA 的支持? 除了下面的内容,还有一些对于 CCS 内使用 CLA C 语言编译器的要求. 请参考 C2000 CLA C 语言编译 器维基网页 以获得更多信息. ? CLA 调试从 CCS 4.02 上开始提供. 如果你有一个较早的版本,那么请下载最新版或者检查软件更新. 普通 Code Composer Studio v4 信息请参考以下维基网页: ? Code Composer Studio V4 ? 下载 CCS v4 2. 我有 Code Composer Studio V3.3 的完全版. 支持 CLA 的服务发布将在何 时提供? 除了下面的内容,还有一些对于 CCS 内使用 CLA C 语言编译器的要求. 强烈建议使用 CCS 5.2 或更新 版本. CCS 3.3 还未经测试,不建议用于 CLA C 语言代码调试. 请参考 C2000 CLA C 语言编译器维基 网页 以获得更多信息. ? 如果现在有 CCS 3.3 的完全版,那么请检查更新顾问(help ->
update advisor)以获得完全版的链 接,此版本支持 CLA 编译程序调试. 请注意: ? CCS V3.3 白金版 + SR12 不支持 CLA 编译程序调试. ? 没有发布将 CCS 3.3 + SR12 更新为支持 CLA 的服务补丁. ? 更新顾问中的链接是一个完全版,这个完全版将 SR12 和某些其他器件支持(其中包括 CLA,更新的 编译器和 DSP/BIOS)组合在一起. ? 还提供一个支持 CLA 的C2000 评估版(受限链接大小)供免费下载. 截至这篇文章成稿时,最新版本为这个链接中提供的构建http://software-dl.ti.com/dsps/dsps_registe red_sw/sdo_ccstudio/CCSv3/Free/C2000_Code_Composer_Studio_v3.3.83.19_limited.zip 3. 我需要从第三方获得新的驱动程序来调试 CLA 吗? CCS v4: 在CCS
4 中,你可以通过 Update Manager(更新管理器)来获得已更新的驱动程序. 它应该 自动检查更新,但是你始终可以手工搜索更新. CCS v3.3: 检查第三方的网页来获得更新. 对于 Blackhawk: Blackhawk 已经发布一个支持 CLA 的补丁: http://www.blackhawk-dsp.com/support/Drivers33.aspx 对于 Spectrum Digital: SD 已经发布更新的驱动程序http://support.spectrumdigital.com/. Signum 接至
2009 年9月1日,Signum 未将 CLA 支持集成在他们的驱动程序集中. 更多信息请向 Signum 查询. http://www.signum.com/ 4. 当我打开 CCS V3.3 时,并行调试管理器弹出. 我给如何使用它呢? 并行调试管理器将显示到主 CPU 的一个入口,以及一个到 CLA 的入口. 你可以通过 Open 菜单打开针对 其中任何一个的调试窗口. 使用针对主 CPU 的调试窗口来构建你的项目、加载代码并运行主 CPU. 如果你不是在调试 CLA 代码,你可以断开 CLA 调试窗口并将其关闭. 当CLA 调试窗口被断开时,所有 CLA 断点将被禁用,并且运行为 MNOP(无运算). 如果你正在调试 CLA 代码,那么打开和连接 CLA 调试窗口. 这个窗口将显示反汇编假定 (assuming) CL A 操作码. 这个窗口中的步骤和运行函数也与 CLA 单步执行和运行相对应. 还请参考 断点、步进、运行、查看符号 普通调试工具问题 5. 我需要第二个仿真器来调试 CLA 吗? 不需要.主CPU 和CLA 可同时由同一 JTAG 端口进行调试. 两者均可单独进行调试. 例如,你可以在 主CPU 被暂停时运行 CLA. 相似地,你可以在 CLA 被暂停时运行主 CPU. 6. 有用于 CLA 的仿真器吗? 没有,目前 CLA 仿真器还未在计划之内. 我们提供超低成本的工具,诸如试验人员套件和 controlSTICK, 这些工具使你能够使用真正的芯片. 真正的芯片要远远好于任何仿真器. Codegen 工具,构建 CLA 代码. 7. 我需要哪个版本的 codegen 工具来创建 CLA 代码? ? C2000 Codegen 工具 V5.2.0 或之后的版本只支持 CLA 汇编级编程. ? C2000 Codegen 工具 V6.1.0 或之后的版本支持 CLA C 语言编译器 以及汇编级编程. 此外,你需要指定 --cla_support=cla0 选项来启用对 CLA 指令的支持. 8. 我们编译器/汇编程序抱怨说 CLA 指令是未知量. 为什么呢? 请确保你正在使用 C2000 Codegen 工具 V5.2.0 或之后的版本. 此外,你需要指定 --cla_support=cla0 选项来启用对 CLA 指令的支持. 9. CLA 汇编程序参考指南在哪里? 汇编程序本身与 28x 一样. 对CLA 指令的支持最早被添加到 codegen V5.2.x 中-汇编程序能够通过 其记忆法来分辨 CLA 指令. 28x 汇编程序指南在以下链接中 www.ti.com/lit/spru513 10. CLA C 语言编译器参考指南在哪里? 编译器本身从与 28x 编译器一样的外壳程序中被调用. 对CLA C 语言代码的支持最早被添加到 codegen V6.1.x 中-编译器能够通过文件扩展名来分辨 CLA C 语言文件: .cla. 28x 编译器指南在以下链接 中www.ti.com/lit/spru514. 还请参考这个维基网页中的文章: CLA C 语言编译器. 11. Code Composer Studio 构建选项中的 --cla_support 标志在何处? CCS v5.2: 在CCS 5.2 中很容易找到这个选项. 请看 C2000_Compiler ->
Processor Options 下的内 容. 如果你将 CLA Support 设定为 cla0,此开关 --cla_support=cla0 将被添加到构建选项中. CCS v4: 这个选项在 project->
properties->
C/C++ Build, Tools Settings Tab, C2000 Compiler 下: 运行时间模型选项. 如果你将 CLA Support 设定为 cla0,此开关 --cla_support=cla0 将被添加到构 建选项中. CCS v3.3: 这个选项在编译器构建选项之下 (project->
build options->
compiler tab). 如果你将 C LA Support 设定为 cla0,此开关 --cla_support=cla0 将被添加到构建选项中. 注释 v5.2.2 和v5.2.3 codegen 工具的构建接口略去了 5.2.1 中提供的高级标签和 CLA Support 选项. 使 用安装目录中的卸载程序来卸载之前的 C2000 编译器版本,下载更新的 5.2.3b 版本,并重新安装. 12. 我的 CLA 和主 C28x 代码可以驻留在同一项目中吗? 可以! 可以驻留在一起,并且也应该如此! 二者处于同一项目中使得变量和常量共享更加简单. 汇编程 序将通过其独特的指令记忆法了解 CLA 代码,而编译器将通过其独特的扩展名 (.cla) 熟悉 CLA C 语言 文件. 唯一的限制就是 CLA 代码必须在其自己的汇编程序段内(使用 .sect 汇编命令). 没有其他方 面的限制. 13. 有针对 CLA 的编译器吗? 有. 编译器在 C28x codegen v6.1.0 中被引入. CLA 架构不支持完整的 C 语言编译器,所以 CLA C 语 言编译器具有某些如 CLA C 语言编译器维基网页 中所述和 C28x 编译器参考指南 www.ti.com/lit/spr u514 中描述的限制. CLA 寄存器 14. 我如何查看 CLA 寄存器? CCS v5: 单击 CLA 调试会话然后选择: View->
Registers. CLA 寄存器将显示在寄存器窗口中. CCS v4: 单击 CLA 调试会话然后选择: View->
Registers. CLA 寄存器将显示在寄存器窗口中. CCS v3.3: 在CLA 调试窗口中,你可以在 View->
Registers->
CLA 内查看 CLA 寄存器. 此外,由于它 们是存储器映射的,你可以将它们添加到主 CPU 调试器窗口中的观察窗口内. 15. 我不知道如何以浮点格式查看 CLA 结果寄存器? CCS v5: 右键单击寄存器窗口中的 value . 选择 number format ,然后选择 float CCS v4: 右键单击寄存器窗口中的 value . 选择 format ,然后选择 float CCS v3.3: 这一点已经被提交为改进请求. 目前,你可以用 CLA 开头的名称将结果寄存器添加到观察 窗口中. 例如: CLA_MR0 或CLA_MR3. 在观察窗口中,你可以将类型更改为
32 位浮点. 更新: 这已 经在评估工具的构建中修复. 16. 为什么所有 CLA 寄存器回读 0? CLA 寄存器受到代码安全模块 (CSM) 的保护. 请确保 CSM 未被锁定,以便查看寄存器. 17. 我为什么不能在调试器中编辑 CLA 执行寄存器 (MPC, MAR0, MAR1, MR0-MR 3...)? 这些寄存器只能由主 C28x CPU 读取. 由于所有调试访问由主 CPU 处理,所以你不能在调试器中编辑它 们. 18. MPC 和CLA 调试窗口中的 core PC 间的区别是什么? MPC 是寄存器本身;
它是 CLA 程序空间开始的一个偏移. MPC 指向当前处于 CLA 管线 D2 阶段的指令. Code Composer Studio 还需要一个 核心 PC ( core PC ) 寄存器来管理并且跟踪反汇编窗口和源代码 指令执行. 你将注意到 core PC 与实际存储器位置相对应. 例如,如果 CLA 程序空间从 0x9000 开始,而MPC 的开始位置为 0x0120,那么 core PC 将为 0x9000+0x0120 = 0x9120. 断点、步进、运行、检查符号 19. 我已经按下 CLA 调试窗口中的指令执行(或运行)按钮,而CCS 发出一个 错误. 这是怎么了? CLA 有可能空闲(也就是说,一个任务未被........