我正在使用 Visual Studio 编写桌面应用程序,我发现它非常用户友好且易于使用。
如果可能的话,我还想在 Visual Studio 中编写嵌入式代码。例如,是否可以使用 C18 或任何其他类似的基于 C 的语言为 PIC18Fxxx 系列生成 .hex 文件?
我正在使用 Visual Studio 编写桌面应用程序,我发现它非常用户友好且易于使用。
如果可能的话,我还想在 Visual Studio 中编写嵌入式代码。例如,是否可以使用 C18 或任何其他类似的基于 C 的语言为 PIC18Fxxx 系列生成 .hex 文件?
我用包括 PIC 在内的嵌入式系统进行了很多开发,并且大多数情况下我使用 Visual Studio,主要是因为我喜欢 VIsual Assist for C 工作。
我所做的是多目标....所以我为 PC 编译代码并使用单元测试工具来测试代码 http://code.google.com/p/seatest/
这意味着为所有与 PIC 相关的硬件设置存根
然后,您可以通过“工具”菜单触发构建工具,或者切换到本地 IDE(如 MPLAB)以在设备上进行调试
不幸的是,Visual Studio 没有对 PIC 的官方支持。而且,我从未听说有人以“非官方”的方式制作了这个。一直有关于这样的功能的谣言和猜测,但从来没有机会实现。所以,答案是“不”,没有办法用标准的 Visual Studio IDE 编译 .hex 文件。
Visual Studio(特别是 Visual C++)可以用作任何目标的任何代码的代码编辑器,但作为完整的 IDE,它还不够。
MPLAB 能够为项目输出生成文件。然后,您可以通过创建“Makefile 项目”并输入构建命令在 Visual Studio 中使用它。MPLAB 生成的 makefile 与 GNU make 而不是 MS nmake 兼容,您也必须安装它。要充分利用 Visual Studio 的代码导航和智能感知功能,您必须将所有项目标头和源代码添加到您的 Visual Studio 项目中 - 这些不会影响构建,但它们将被解析以进行源代码浏览、自动完成等。您的项目使用的命令行或编译器预定义的宏也应该添加到构建设置中,并且任何编译器的路径和其他库头文件夹也应该添加到项目包含的内容中。
这很好用,允许您编辑和构建您的代码,但可能只值得为大型项目做。编译器输出可能需要一些按摩才能以 VS 理解的格式放置,以便例如单击错误消息将您带到适当的文件/行。我过去曾使用 GNU sed 实用程序来执行此操作。您仍然需要启动 MPLAB 来加载和调试您的代码;如果打开 Visual Studio 将自动获取您在 MPLAB 中所做的任何更改(请记住不要在两个环境中进行未保存的更改!)。
这种方法的问题是无法将 MPLAB 项目与 VS 文件集和设置同步 - 您必须手动执行此操作。
另一个问题是,由于某种原因,MPLAB 生成的 makefile 不包括项目设置中的 post/pre 生成步骤。您可以手动修改 makefile 或创建一个批处理文件来执行 pre/make/post 步骤并在项目中调用它而不是简单的 make。