0

我需要知道是否可以编译任何高级编程语言以用于 eeprom。我知道可以从已编译的二进制文件中删除标头,但我不确定地址将如何受到影响。

请不要将此标记为“不是问题”。我在这个网站上从那些无法区分愚蠢问题和非问题问题的人那里得到了很多废话。

我可以编译任何用于 eeprom 的高级语言吗?

(编辑)我的视线中有一个Winbond 27C512 EEPROM

4

1 回答 1

0

如果您有用于相关处理器的 C 编译器,那么您没有理由不能编译 C 代码以便将其放入 EEPROM 中(不过,与嵌入式编程一样,您不能使用任何 libc 函数,所以你必须自己实现很多)。C 还可以与汇编代码很好地互操作,因此您可以在转换到用 C 编写的更高级别代码之前在汇编中编写引导例程。

可以编写一个典型的 C 链接器(例如 GNU ldd),以便它生成与您的 EEPROM 兼容的地址;这是嵌入式开发和其他“裸机”应用程序的常见要求。您可以使用objcopy几种不同的格式来格式化编译的二进制文件。使用 GNU 工具链,您可能还可以使用受限的 C++ 子集来实现这一目标。

但是,您不太可能使用许多其他流行的高级语言来做到这一点,因为很少有语言支持嵌入式开发所需的低级构造(例如直接指针寻址)。

于 2013-02-14T04:29:58.533 回答