Embedded 在(!C)中开发嵌入式平台

Embedded 在(!C)中开发嵌入式平台,embedded,development-environment,Embedded,Development Environment,我很好奇C的替代品在嵌入式开发者世界中有多流行,比如Ada 我只使用过C(带有一点汇编程序),但我的目标资源非常有限。在这个空间里还有别的地方要搬到别的地方吗?什么是赢得机顶盒产品 如果!C根本原因是什么 对目标的编译器支持 跟踪\静态分析工具 其他 谢谢。我自己还没用过,但AVR微控制器很受欢迎。它是一个基本的IDE,可以让您非常轻松地与外围设备交互。我见过成功使用它的硬件人员。是的。Java变得越来越流行——许多处理器添加了主要与Java和类似语言(.net)相关的指令。此外,uclin

我很好奇C的替代品在嵌入式开发者世界中有多流行,比如Ada

我只使用过C(带有一点汇编程序),但我的目标资源非常有限。在这个空间里还有别的地方要搬到别的地方吗?什么是赢得机顶盒产品

如果!C根本原因是什么

  • 对目标的编译器支持
  • 跟踪\静态分析工具
  • 其他

谢谢。

我自己还没用过,但AVR微控制器很受欢迎。它是一个基本的IDE,可以让您非常轻松地与外围设备交互。我见过成功使用它的硬件人员。

是的。Java变得越来越流行——许多处理器添加了主要与Java和类似语言(.net)相关的指令。此外,uclinux运行在微控制器上,因此对于一些较大的微控制器,您几乎可以使用任何语言

Basic和assembly仍然很常见

你会在某些政府项目中看到Ada

一些工程师甚至在他们的微型计算机上安装了Lua和其他解释器,以便他们的客户能够扩展功能

但C仍然占主导地位

-Adam在嵌入式开发中非常流行


也可能在嵌入式社区中不流行,在SimalTalk社区中肯定是流行的。

也许不是你要找的C的很大一步,但是C++也很受欢迎,对于嵌入式项目。

我使用得非常广泛。


而且,由于客户的需求,我已经在军用航空电子设备的嵌入式项目中使用了Ada。有很多用于嵌入式开发的Ada工具,但大多数都非常昂贵。就我个人而言,我只会使用C。

有一个8051编译器在90年代早期,我使用Intel PLM51和DCX51操作系统在8051上进行了大量嵌入式开发

PLM是一种非常简单的语言,但功能非常强大

我们现在使用C

有一种方法可以使Lua成为嵌入式工作的可行选项。他们的目标主要是具有256K闪存和64K RAM或更高内存的32位ARM,目前为止,他们似乎对自己的工作感到满意

他们的部分灵感来自经典,一个运行在中等功能PIC中的基本解释器,程序本身存储在串行EEPROM设备中


在工作中,我仍然在维护一个客户的嵌入式系统,该系统是用编译后的BASIC编写的,在Zilog Z180 CPU中运行。20世纪80年代的技术已经全面普及,大部分系统仍然是由24个插槽中的DIP封装构成的。编译器在运行在Z80模拟器中的CP/M-80下运行,Z80模拟器本身在Windows内置的MS-DOS模拟器中运行。除此之外,令人惊讶的是,任何有生产力的事情都可以通过这种方式完成(而且你仍然可以购买27C256 UV可擦除EPROM,而且我将近20岁的数据/IO PROM程序员仍然可以工作)我真的希望客户能够负担得起转向新的硬件设计,这样系统就可以用可维护的语言重写。

取决于微控制器,其中许多微控制器都有C,但编译器非常糟糕,汇编程序通常很简单,性能最好,效率最高,等等。比如msp、avr、,arm对于C编译器和那些我愿意使用C的编译器来说都是很好的(取决于问题)


我会坚持使用C或汇编语言,你在浪费内存、性能和其他资源。

Pascal,Modula2也可以正常工作。本质上,它们几乎等同于C,除了无法执行alloca(尽管有些人将其作为扩展)

但是,核心问题将是任何问题!C编译器:你更喜欢哪种,更好的编译器/工具链还是首选语言

尽管我最喜欢Wirthian语言,但我只是简单地使用C语言,并承受着后果,因为工具链更好


过去有过一些例子(Pascal,甚至是严格编译的基础),但C语言基本上是标准的。我一直不明白为什么。

我使用的设备运行的是非常旧的python版本(1.4或其他版本)。没有办法调试它(除了打印调试消息),所以当你的代码遇到异常时,一切都会停止,你会挠头一个小时。无论何时进行更改并升级正在运行的代码,都需要大约10分钟的时间来解释和编译它


不用说,我们放弃了它,用一个运行C的微控制器取代了它。

如果你在智能卡领域工作,你就可以使用它了。是的,Java,在8位微型计算机上。事实上,这很有趣。我开始在Eclipse中进行开发,在PC模拟器上进行测试和调试,并且可以确信它将在卡上运行相同的功能。很遗憾,Java对于嵌入式应用程序来说是一种糟糕的语言:)

请参见以下相关问题:

在回答您的“为什么”问题时,从政府/军事采购的角度来看,人们认为Java(语言、平台等)是当今的通用语言,语言的规模经济将降低采购和维护成本。还有一种希望是,与学习一门新语言相比,人们可以更快地有效地培训一名有能力的Java程序员成为一名合理的Java RT/嵌入式程序员。在我看来,这个理论是可疑的,但它确实回答了“为什么”的问题。

< P>当你说“嵌入式开发”时,请记住你必须考虑项目的规模。 当在微控制器或ASIC固件的规模上编程时,您往往会看到C和汇编占据主导地位。嵌入式开发人员倾向于“专门化”这些语言,因为几乎每个嵌入式目标平台都可以使用这些语言的编译器。如果您的项目从(比如)带有PowerPC内核的芯片迁移到