我正在使用 CCS, Inc. PCWHD 版本 4
我被要求在 CCSC 编译器上编译和运行 C 文件,但问题与 GCC 和 turbo 不同,它在编译时没有给出“.exe”(应用程序文件)。我正在获取文件.cod, .err., .hex, .ESYM,
等。因此必须执行其中的 .hex(烧录到 IC);但我想在燃烧之前对其进行测试。
如何使用CCSC 编译器运行十六进制或其他测试代码的方式?
我正在使用 CCS, Inc. PCWHD 版本 4
我被要求在 CCSC 编译器上编译和运行 C 文件,但问题与 GCC 和 turbo 不同,它在编译时没有给出“.exe”(应用程序文件)。我正在获取文件.cod, .err., .hex, .ESYM,
等。因此必须执行其中的 .hex(烧录到 IC);但我想在燃烧之前对其进行测试。
如何使用CCSC 编译器运行十六进制或其他测试代码的方式?
我不知道您的自定义计算机服务编译器,但我对 TI CCS 很有经验。
.hex
- 基本上是英特尔十六进制格式,它以机器语言和格式存储您的代码Hex
。这是由您的编译器为您正在处理的特定硬件(uC)生成的。
.exe
- 包含为您的机器(主机)生成的机器代码(通常)(和资源)。
“我想在烧录之前测试它” -
1) 通常你的 IDE 会有一个模拟器选项,你可以通过它“模拟”uC。这通常在您的编译器选项中。这就是你要找的。如果您的 IDE 没有模拟器 ,请检查一下
2)您可以进行实时调试(您的 CCSC公司支持此功能,如Link所示)。这更灵活,因为您可以知道实际发生了什么。有时中断很难“模拟”,但如果您进行硬件调试,则更容易。
PIC 指令集和架构与开发主机完全不同,CCS 编译器无法针对 x86,因此无法生成可以在 PC 上运行的可执行文件——它是一个交叉编译器。但是,与硬件无关的应用程序部分可能是可移植的,并且可以通过在主机编译器中编译在 PC 上进行测试,但是您需要注意,由于它是 32 位架构,数据类型大小和数值范围会有所不同. 如果您仔细抽象您的硬件,这可能是一种非常有效的技术,因为您可以使用测试工具或模拟代码来存根硬件抽象层。
在 PIC 微控制器上,代码从片上 ROM 运行 - PIC 架构无法从 RAM 执行代码,因此您别无选择,只能将代码刻录到片上 ROM 以便在硬件上执行。大多数部件使用可擦除和可重写的闪存,因此测试您的代码应该不是问题。有一次性可编程部件,但出于显而易见的原因,您通常不会将它们用于开发!
理想情况下,对于测试和调试,您应该有一个在线调试器,允许您从连接到硬件的开发主机对代码进行编程、运行、步进和断点。
另一种方法(尽管通常不完全令人满意)是在模拟器中测试和执行您的代码。CCS 似乎没有集成仿真器,因此您必须改用Microchip 的 MPLAB SIM。
CCS C 编译器不构建 .exe 文件。它为 PIC、DSC 等构建程序。Windows 运行 .exe 文件,Microchip 处理器不运行。你的编译器生成正确的输出文件,前提是构建的东西没有错误。您必须将其加载到正确的处理器或模拟器上才能运行。它们不会在 Windows 中运行。