如何交叉编译ia188em芯片的C代码

问题描述 投票:0回答:2

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

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

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

10/8 更新:抱歉,我同时查看了这段代码以及与嵌入式板通信的 PC 端代码,结果混淆了。 ia188em(嵌入式板)的代码实际上是C(不是C++)。更新了标题以反映这一点。我不确定这是否会产生巨大的影响。

c embedded cross-compiling
2个回答
0
投票

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

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


0
投票

当我以前做这类事情时(1985 -> 1990),我使用了英特尔工具链,现在已经过时了,英特尔不再提供。 所需的工具是

  • iC-86 - 编译器
  • link-86 - 链接器
  • loc-86 - 图像定位器。

这里的一个非常旧的网站有一些关于这些工具的信息。

当时使用的另一种方法是将 Microsoft 标准实模式 PC 编译器(MS-Pascal 是该项目使用的语言)生成的 .exe 文件处理为可以吹入 EPROM 的绝对定位映像。 用于转换的工具是公司专有的,所以我不知道是否有等效的可用工具

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.