c - 如何为ia188em芯片交叉编译C代码

标签 c compiler-construction embedded

我继承了一个使用 Innovasic ia188em 处理器(以前是 AMD 的 AM188)的旧项目。我可能需要修改代码,因此需要重新编译。不幸的是,我不确定以前使用的是哪个编译器(它编译成 .hex 文件),并且搜索源代码(特别是头文件)似乎也没有表明这一点。

我确实看到了一个可以工作的程序,但我想知道是否有人知道任何可以做到这一点的免费程序。我看到一些论坛,人们说他们认为旧的 Borland 编译器或 Bruce 的 C 编译器可以与 80188 芯片一起工作(我认为我的芯片属于这种情况?),但没有具体的内容。当我尝试使用 Borland C++ 5 进行编译时,我失败了,尽管我承认我可能没有正确设置它。

这适用于嵌入式板(即无操作系统)。我不经常编程,所以我的编译器知识有限。我大多只是编写简单的C程序并在linux下用gcc编译。如有任何帮助,我们将不胜感激。

更新 10/8:抱歉,我正在查看此代码以及与嵌入式板通信的 PC 端代码,并且混淆了。 ia188em(嵌入式板)的代码实际上是C(不是C++)。更新了标题以反射(reflect)这一点。我不确定这是否会产生巨大的差异。

最佳答案

您需要一个 16 位“实模式”x86 编译器。如果您的编译器是 DOS 目标编译器,您将需要一些生成原始二进制文件的方法,而不是 MS-DOS 加载模块 (.exe),这可以通过链接器选项实现,也可能需要非 DOS 链接器。

项目代码中包含的任何构建脚本或 makefile 可能会帮助您识别所使用的工具链,但很可能它不再可用,并且您需要获取“古董软件”。

关于c - 如何为ia188em芯片交叉编译C代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19231990/

相关文章:

c - 跨平台库中内存管理函数的使用

c - 将多行文件读入 C89 中的结构

android - 使用NDK编译非本地文件,链接器错误

c++ - 嵌入式系统的独立于硬件的C++ HAL

C - 指针的初始化,星号位置

delphi - 为什么优化器不消除循环中的 High?

javascript - JSDB 如何从 Javascript 生成 .exe?

c++ - gcc 4.3.3 编译器选项默认启用

debugging - 嵌入式系统中的硬件断点与软件断点

c++ - RTOS 中第一个任务切换的代码