如何开始使用飞机或潜艇行业的嵌入式系统?

时间:2010-06-02 06:10:28

标签: operating-system embedded

不是100%肯定如何构建这个问题但是这里......

我目前担任Rails开发人员,但希望从事更多的金融/“多肉”项目,并且一直对嵌入式系统非常感兴趣,特别是在飞机上运行的系统,尤其是潜艇.....我知道奇怪的组合

我一直在做一些搜索&发现洛克希德·马丁为世界各地的各种海军生产了许多水下系统,例如: http://www.naval-technology.com/projects/nssn/

然而,关于这些系统中使用的软件,他们使用的操作系统或其他任何“技术”的信息很少,假设涉及很多C / C ++,但这只是猜测...所以很难知道在哪里开始学习这些领域潜在工作所需的内容。

只是想知道是否有人在航空公司(机载飞行系统)或特别是潜艇系统中有任何有关嵌入式系统的经验或更多信息?

谢谢!

5 个答案:

答案 0 :(得分:8)

我曾经在适用于许多不同潜艇的声纳系统上担任硬件/ DSP /软件工程师(我工作的其中一个声纳套件位于顶部中央控制室图片here但是已经离开了那个产品领域几年了。

我在他们的开发中使用了各种语言,从PL / M开始,然后是ADA和一些C,尽管我听说,最后使用的主要语言是在商业处理板上运行的C ++。在我使用声纳工作结束时,英特尔X86处理器没有被使用,因为它们太热而且不可能充分冷却它们。我不能说当前的处理器是什么。使用VxWorks或类似的操作系统。

关于如何进入 - 阅读该领域的一些帖子并查看他们需要的技能。可能是嵌入式和C ++,也许是ADA。通过获得处理器评估板(可能是某种形式的ARM)来构建一些小型家庭项目,以便了解中断函数以及如何使用处理器I / O(可能是嵌入式操作系统){{{ 3}}是一个好的开始)。这将为您开始编写非Windows / Linux /桌面系统所需的技能。

答案 1 :(得分:3)

在这些环境中,期望看到内部或高端商业RTOS,如VxWorks,Integrity和QNX,代码为C,C ++或Ada。多核/并行处理变得越来越重要。

这些领域的许多工作规范都强调安全/关键任务系统以及各种国家,国际和政府标准的知识和经验,这些标准可能因工作地点以及军队或民事而异。

由于经验有限,如果没有经验丰富的从业者,您可能会发现难以入侵,甚至进入底层也取决于您的学历。对于军事/政府合同,已经有安全许可将是一个优势,因为这样的许可可能需要几个月,所以那些有经验和许可的人都在前面。

答案 2 :(得分:2)

作为嵌入式系统的人,我要警告你,你的Rails体验在嵌入式世界中几乎没有实际应用。如果您想要踏上门,请查看以下内容:

  1. 熟悉C / C ++
  2. 了解计算机架构。嵌入式内容需要了解寄存器,位掩码,总线架构,GPIO线等。
  3. 了解操作系统如何在低级别,内核,任务调度程序,驱动程序开发,内存模型等方面工作。您现在所做的工作是从“真实”操作系统中删除了几个层。
  4. 购买微控制器参考设计并完成一些基本项目。
  5. 寻找主要国防承包商的软件工程工作。如果做不到这一点,那就看一家小公司的工作“喂养”素材。

答案 3 :(得分:0)

就轶事证据而言,此类系统的首选操作系统是专有的QNX操作系统。

证据还表明,在许多任务关键型系统中,选择的编程语言是Ada

老实说,我不知道如何进入这一系列的专业知识,所以很幸运能找到方法。

答案 4 :(得分:0)

飞机软件的安全标准称为DO-178B。您可以将其作为研究使用何种软件和软件工具的起点。

直接从网络编程到最安全的关键系统似乎是一个很大的跳跃,你可以先在一些更正常的嵌入式系统上工作。

有趣的旁注:我首先将Rails视为铁路相关软件,根据应用的不同,这也或多或少具有安全关键性。