代码之家  ›  专栏  ›  技术社区  ›  Jason

如何开始在飞机或潜艇行业使用嵌入式系统?[关闭]

  •  1
  • Jason  · 技术社区  · 14 年前

    不是100%确定如何界定这个问题,但这里是…

    我目前是一名Rails开发人员,但我想从事更实际/更“丰富”的项目,并且一直对嵌入式系统非常感兴趣,尤其是在飞机上运行的系统,尤其是潜艇上运行的系统……我知道这种奇怪的组合。

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

    然而,很少有关于在这些系统中使用什么软件的信息,它们使用的是什么OS,或者其他什么“技术”,假设有很多C/C++参与,但这只是猜测。所以很难知道从哪里开始学习这些领域的潜在工作需要什么。

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

    谢谢!

    5 回复  |  直到 12 年前
        1
  •  8
  •   uɐɪ    14 年前

    我曾经是一名声纳系统的硬件/DSP/软件工程师,该系统安装在许多不同的潜艇上(我工作的其中一个声纳套件在顶部的中央控制室图片中)。 here )但现在已经离开这个产品领域好几年了。

    我使用了各种语言,从PL/M,然后艾达和一些C开始,虽然最后一次听到,主要使用的语言是在商业处理板上运行的C++。在我研究声纳的最后,英特尔x86处理器没有被使用,因为它们运行太热,无法充分冷却。我说不出当前选择的处理器是什么。使用VxWorks或类似的操作系统。

    关于如何进入-阅读一些广告在这个领域的帖子,看看他们需要的技能。可能是嵌入式和C++,可能是艾达。通过获得一个处理器评估板(可能是某种ARM)来获得这方面的经验,构建一些小的家庭项目,使您能够理解中断功能以及如何使用处理器I/O,可能是一个嵌入式操作系统。( FreeRTOS 是个好的开始)。这将让您开始了解为非Windows/Linux/Desktop系统编写时所需的技能。

        2
  •  3
  •   Clifford    14 年前

    在这些环境中,期望看到内部或高端的商业RTOS,如VxWorks、完整性和QNX,以及C、C++或艾达中的代码。多核/并行处理变得越来越重要。

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

    由于经验有限,如果没有经验丰富的从业人员,你可能会发现很难进入,甚至进入底层取决于你的学历。对于军事/政府合同,已经获得安全许可将是一个优势,因为此类许可可能需要数月时间,因此具有经验和许可的人员处于最前面。

        3
  •  2
  •   myron-semack    14 年前

    作为一名嵌入式系统人员,我要警告您,您的Rails体验在嵌入式世界中几乎没有实际用途。如果你想把脚伸进门里,看下面的步骤:

    1. 熟悉C/C++
    2. 了解计算机体系结构。嵌入式设备需要了解寄存器、位屏蔽、总线结构、GPIO线路等。
    3. 了解操作系统如何在低级别、内核、任务调度程序、驱动程序开发、内存模型等工作。您现在所做的工作是从“真正的”操作系统中删除几个层。
    4. 购买微控制器参考设计并做一些基础项目。
    5. 在一个主要的国防承包商那里寻找软件工程工作。如果不能做到这一点,那就找一家“养活”那些精英的小公司工作吧。
        4
  •  0
  •   Jon Limjap    14 年前

    就传闻证据而言,此类系统的操作系统是专有的。 QNX 操作系统。

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

    老实说,我不知道如何进入这一专业领域,所以祝你好运。

        5
  •  0
  •   starblue    14 年前

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

    直接从Web编程到最安全关键的系统似乎是一个巨大的飞跃,您可以先在一些更普通的嵌入式系统上工作。

    有趣的旁注: 我首先将Rails作为铁路相关软件来阅读,根据应用程序的不同,它也或多或少地是安全关键的。