在没有监督的情况下学习嵌入式系统开发[关闭]


10

我今年毕业,获得了第一份工作,涉及C编程,Linux管理和嵌入式系统开发。我对自己的工作感到很满意,但是我恐怕不会成为该领域的成功程序员。我现在是一个孤独的开发人员,我的团队成员是硬件专家,没有人可以指导我或不能以嵌入式编程的方式教我,我必须自己全部学习。

所以这是我的问题。是否可以从入门级职位开始成为高级嵌入式系统开发人员,而无需高级程序员的任何监督?我怎么能成为一个人(也许在论坛,IRC频道,好教科书的帮助下)?需要多长时间?

更新:到目前为止,我已经收到了一些有用的答案,但是我意识到我需要关于该主题的一些具体指示。

因此,这是我的特殊问题:

  1. 有哪些好的教科书可以用来学习嵌入式开发?
  2. 哪些专业的在线社区对有抱负的嵌入式开发人员会有所帮助(不计算诸如Stack Overflow,Reddit等常规内容)?
  3. 致力于嵌入式开发的最有趣的博客是什么?

Answers:


3

没错,在您的情况下会使事情变得更艰难。但是,有许多解决方案可以解决您的问题。

  1. 首先尝试加入像这样的社区,但是可能在您所在的领域更加专业。通过参与,您将增加自己的知识,更重要的是,会见其他人。

  2. 尝试参与代码训练营,或参加与您真正遇到的其他开发人员见面的任何计划。面对面的人更容易共享知识。

  3. 请老板预定一年至少10天的培训。这里不需要解释优势,如果他拒绝,他就是愚蠢的。

  4. 尝试参加与您的业务有关的1到2个会议或贸易展览

  5. 尝试每两个月阅读一本技术书。如果您可以阅读更多内容,请不要犹豫。

  6. 找一个导师。当然,这不是最简单的事情。

  7. 通过尝试在书本,社区,商业展览,培训等中阅读的东西的新技术,在一周中花点时间进行实验和进行研究与开发

  8. 今天,您是唯一的开发人员,但是由于您的辛勤工作,您所处的公司将不断壮大,并且可能需要雇用更多的此类人员


3

我现在是一个孤独的开发人员,我的队友是硬件专家

不要犹豫,将它们用作资源。对于不是EE的嵌入式程序员来说,最难的事情之一就是对硬件感到满意。能够读取原理图(即使您无法设计原理图),并了解如何使用示波器查看来自微控制器的信号,这非常有用。


0

自从您问了这个问题已经有一段时间了,所以我希望您一切顺利。这里有一些其他建议,希望对您有所帮助。

堆栈交换和博客

令人惊讶的是,Stack Exchange没有自己的嵌入式系统问答站点。其中一项是在大约两年前提出的,但现在仍处于承诺阶段,没有足够的人签署来支持它,这使它陷入困境。如果您想有所作为,请转到此处:

http://area51.stackexchange.com/proposals/15961/embedded-system-design-and-development

阅读提案,如果您同意,请单击“提交”以参与其中。

Linked In也有一个嵌入式系统小组,以及可能有兴趣的几个紧密相关的小组:

嵌入式系统

固件

网络资源

EETimes具有有关嵌入式系统的功能。

http://www.eetimes.com/design/embedded

Dobbs博士是各种类型程序员的长期朋友,并且在嵌入式方面有很多东西。

http://www.drdobbs.com/embedded-systems

Arduino社区规模庞大,热情高涨,消除了嵌入式编程入门的许多障碍,包括价格和先前的培训。

http://www.arduino.cc/

如果您是女性软件开发人员或不开明的男性开发人员,并且嵌入式系统主要是“ Good-Old-Boys”俱乐部,请访问此站点。作者是麻省理工学院的一名毕业生,开箱即用(有时甚至是装箱的东西,例如她的Altoids-box iPhone充电器)都非常前卫,并且在她的设计,写作和视频博客方面似乎非常多产。

http://www.youtube.com/watch?v=QkmtHqsYCbw&feature=player_embedded#

http://www.adafruit.com/tutorials

许多供应商将收集大量的数据手册,应用笔记,白皮书以及开发工具的免费或评估版。该领域的顶级公司包括ARM,Atmel,Freescale,intel,Microchip Technologies,NXP(以前称为Phillips),TI等。

图书

不确定是否可以找到它,但是我认为我有一本书讲述了嵌入式系统的许多故事,涉及工具(汇编器,链接器,加载器)以及微处理器中发生的基本情况(中断,I / O,简单)任务管理器和计划程序,简单的文件结构)。小型计算机的系统编程,Daniel Marcellus。

更现代的参考是《嵌入式Linux入门》。早期的章节讨论了在嵌入式系统上运行Linux的原理以及所涉及的一些机制。第3章对处理器+支持芯片组和SOC(片上系统)选项进行了很好的讨论,可以在当前设计中考虑使用这些选项。实际上,目标是不断变化的,因此它提供了一个起点,与本书出版时是当代的。第3章很棒,但应该在网络上进行进一步的研究并与供应商进行讨论,以作为补充。通常,项目中的电气工程师和首席软件工程师会选择处理器,因此,如果您在公司中学习嵌入式系统,请深入研究他们选择的硬件。

后面的章节包含有关将Linux瞄准硬件的许多实际方面的详尽描述,但是与供应商的伙伴关系以及使用标准的参考设计可能会大大减少工作量。


0

这主要取决于你自己。如果您愿意学习并知道如何收集有关该主题的足够信息,则可以自学任何东西。但是,并非所有人都能同样成功:

我是在一个类似的环境中开始的,如果我能看到与5年前相比现在的情况(以电子工程师的身份毕业,几乎没有编程背景),我会发现它使人的大脑感到惊讶。当我开始的时候,我从未听说过设计模式,TDD,...,也从未见过真实程序的代码。现在我非常了解这些东西,并且知道如何使用它们。我唯一要做的就是搜索网络,从其他人和一些书中读代码(我再次在网上找到这些书),最重要的是,编写大量的代码,进行调试,从错误中学习。从错误中学习是imo更好的学习方法,而不是仅仅阅读示例并复制行为。这很奇怪,但是我在现实生活中只说过几次我称之为好程序员的事情。

这里唯一的其他程序员就是您所说的大四(因为他已经工作了15年以上)。他的工作方式与我完全不同。而且他仍然用类编写残缺的C语言,从未使用过STL,也不知道设计模式是什么等等(我可能很快会对此问题提出疑问,我很难让他至少采用我的一些方法。)


-1可能是一个很好的意思,但毫无头绪的“如果您足够聪明...”开头。拜托,请不要质疑任何人的智慧,特别是如果没有明显的证据。我认为您的目标不是要变得不友好,但对奥尔加来说,似乎就是那样。她似乎已经发布了这个问题,然后在Stack Exchange上没有做任何进一步的事情。
DeveloperDon

@DeveloperDon我的目标确实不是不友好,但是您是对的,当我现在阅读这句话时,听起来好像我坐在一幢都很棒的塔上。可耻的事情,所以我删除了它。
stijn 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.