我需要知道是否可以编译任何高级编程语言以用于eeprom。我知道可以从已编译的二进制文件中删除标题,但我不确定地址将如何生效。
请不要将此标记为“不是问题”。我从这个网站上得到了很多人,他们无法区分一个愚蠢的问题和一个不是问题的东西。
我可以编译任何高级语言以用于eeprom吗?
(编辑)我的目标是 Winbond 27C512 EEPROM 。
答案 0 :(得分:0)
如果你有一个C编译器用于有问题的处理器,那么没有理由你不能编译C代码以便它可以放在EEPROM中(尽管如通常的嵌入式编程,你不能使用任何libc函数,所以你必须自己实现很多)。 C还可以与汇编代码进行良好的互操作,因此您可以在转换为使用C语言编写的更高级代码之前,先在汇编中编写引导程序。
典型的C链接器(例如GNU ldd)可以编写脚本,以便生成与EEPROM兼容的地址;这是嵌入式开发和其他“裸机”应用程序的常见要求。您可以使用objcopy
以多种不同格式格式化已编译的二进制文件。使用GNU工具链,您可以使用受限制的C ++子集来解决此问题。
但是,你很可能无法使用许多其他流行的高级语言,因为很少有语言支持嵌入式开发所需的低级构造(如直接指针寻址)