如何开始在飞机或潜艇行业使用嵌入式系统?
不是 100% 确定如何提出这个问题,但这里是......
我目前是一名 Rails 开发人员,但希望从事更实质性/“充实”的项目,并且一直对嵌入式系统非常感兴趣,尤其是在飞机上运行的系统尤其是潜艇……我知道奇怪的组合。
我一直在做一些搜索&发现洛克希德·马丁公司为世界各地的各个海军生产了大量水下系统,例如 http://www .naval-technology.com/projects/nssn/
然而,关于这些系统中使用什么软件、他们使用什么操作系统或其他任何“技术”的信息很少,假设有很多 C/涉及 C++,但这只是一个猜测......因此很难知道从哪里开始学习这些领域的潜在工作所需的内容。
只是想知道是否有人有使用航空公司(机载飞行系统)或特别是潜艇系统中的嵌入式系统的经验或更多信息?
谢谢!
Not 100% sure how to frame this question but here goes...
I currently work as a Rails developer but want to work on more substancial / "meaty" projects and have always been very interested in embedded systems, especially systems that run on aircraft and especially submarines.....I know strange combination.
I have been doing some searching & found lockheed martin produces a lot of underwater systems for various navys around the world e.g. http://www.naval-technology.com/projects/nssn/
However, there is very little information about what software is used within these systems, what OS's they use or anything else "technical", presume there is a lot of C / C++ involved but that is just a guess... so its hard to know where to even begin learning what is required to potential work in these areas.
Just wondering if anyone has any experiance working with or more information about embeddeed systems in either the airline (onboard flight systems) or especially submarine systems?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
我曾经担任声纳系统的硬件/DSP/软件工程师,这些系统安装在许多不同的潜艇上(我工作的声纳套件之一位于顶部中心控制室图片 此处),但已经离开该产品域几年了。
我在他们的开发中使用了多种语言,从 PL/M 开始,然后是 ADA 和一些 C,尽管我最后听说,使用的主要语言是在商业处理板上运行的 C++。在我从事声纳工作的最后阶段,英特尔 X86 处理器没有被使用,因为它们运行得太热并且无法充分冷却它们。我不能说当前选择的处理器是什么。使用VxWorks或类似的操作系统。
至于如何进入 - 阅读一些该领域职位的广告并查看他们所需的技能。可能是嵌入式和 C++,也可能是 ADA。通过获取处理器评估板(可能是某种形式的 ARM)构建一些小型家庭项目来获得该领域的一些经验,这些项目将允许您了解中断功能以及如何使用处理器 I/O,可能是嵌入式操作系统(FreeRTOS 是一个好的开始)。这将使您开始了解为非 Windows/Linux/桌面系统进行编写时所需的技能。
I used to work as a Hardware/DSP/Software Engineer on sonar systems that were fitted to a number of different submarines (one of the sonar suites that I worked on is in the top centre control room picture here) but have been away from that product domain for a few years now.
I have used a variety of languages in their developments starting with PL/M and then ADA and some C although, the last I heard, the main language used is C++ running on commercial processing boards. At the end of my time working on sonars, intel X86 processors were not being used because they ran too hot and it was impossible to cool them sufficiently. I can't say what the current processor of choice is. VxWorks or similar operating systems are used.
As to how to get in - read a few adverts for posts in this area and look at the skills that they require. Probably embedded and C++, maybe ADA. Get some experience in this area by getting a processor evaluation board (maybe some form of ARM) building a few little home projects that will allow you to understand interrupt functions and how to use the processor I/O, maybe an embedded OS (FreeRTOS is a good start). This will give you a start on the skills required when writing for a non windows/linux/desktop system.
在这些环境中,预计会看到带有 C、C++ 或 Ada 代码的内部或高端商业 RTOS,例如 VxWorks、Integrity 和 QNX。多核/并行处理变得越来越重要。
这些领域的许多工作规范强调安全/关键任务系统以及各种国家、国际和政府标准的知识和经验,这些标准可能会根据您的工作地点以及军事还是民用而有所不同。
经验有限,如果不缺已经有经验的从业者,你可能会发现很难闯入,甚至垫底也要看你的学历。对于军事/政府合同,已经获得安全许可将是一个优势,因为这种许可可能需要几个月的时间,因此那些拥有经验和许可的人处于领先地位。
In those environments, expect to see in-house or high-end commercial RTOS such as VxWorks, Integrity, and QNX, with code in C, C++ or Ada. Multi-core/parallel processing are becoming increasingly significant.
Many job specs in those domains emphasise knowledge and experience of safety/mission critical systems and various national, international, and governmental standards, which may vary depending on where you work and whether it is military or civil.
With limited experience, you may find difficulty in breaking in if there is no shortage of already experienced practitioners, and even getting in at the bottom will depend on your educational qualifications. For military/government contracts, already having security clearance will be an advantage since such clearance can take months, so those with the experience and clearance are at the front of the pile.
作为一名嵌入式系统人员,我要警告您,您的 Rails 经验在嵌入式世界中几乎没有什么实际用处。如果您想入门,请考虑执行以下操作:
As an embedded systems guy, I'm going to warn you that your Rails experience has little practical use in the embedded world. If you want to get your foot in the door, look at doing the following:
据传闻,此类系统选择的操作系统是专有的 QNX 操作系统。
还有证据表明,在许多关键任务系统中,选择的编程语言是 Ada。
老实说,我不知道如何进入这一专业领域,所以祝你好运,找到进入的方法。
As far as anecdotal evidence goes, the OS of choice for such systems is the proprietary QNX operating system.
Evidence also suggests that in many mission-critical systems the programming language of choice is Ada.
I honestly have no idea on getting into this line of expertise, so good luck in finding a way in.
飞机软件的安全标准称为 DO-178B。您可以以此为起点来研究使用了哪些类型的软件和软件工具。
直接从网络编程到最安全的系统似乎是一个很大的跳跃,您可以首先在一些更普通的嵌入式系统上工作。
有趣的旁注:我首先将 Rails 视为与铁路相关的软件,它或多或少也对安全至关重要,具体取决于应用程序。
The safety standard for software in aircraft is called DO-178B. You can use that as a starting point to research what kind of software and software tools are used.
Going directly from web programming to the most safety critical systems seems like a big jump, you could work on some more normal embedded systems first.
Amusing side note: I first read Rails as railway related software, which is also more or less safety critical, depending on the application.