网志

所以你想成为一个嵌入式系统开发商

史蒂夫·布拉南2020年2月5日1条评论
然后听我说。
刚拿电吉他
并花一些时间学习如何玩。

Oh, wait, that's 伯德的一首歌。但是策略是一样的。获取一些信息和工具,并学习如何使用它们。无需将您的灵魂出售给公司。

(此文章包含Amazon会员链接和供应商网站的链接。)

我下面列出的项目足以让您开始从事嵌入式系统开发人员的职业。当然还有很多其他资源。但是这些将为您提供足够的知识来开始。

我拥有或看过此页面上列出的所有资源和硬件。我或者已经完全研究了它们,或者正在这样做。我可以保证它们对使您快速入门的有用性。这是学习的重头戏。

我的个人学习方法是在进行中的多本书和视频之间跳动,同时花一些时间动手操作硬件。这类似于一个大学生在实验室中进行多个课程(没有测试,学期论文或截止日期!)。

您的方法可能有所不同。随意以不同的顺序处理事物。我本着 索多托.

什么是嵌入式系统?

它是一台嵌入到其他产品中的计算机,例如汽车,微波炉,机器人,飞机或工厂中的大型工业机器。或IoT设备(例如Amazon Echo,Sonos扬声器或SimpliSafe家庭安全系统)。您将事物视为最终产品,而不是计算机。计算机恰好是使计算机运行的原因之一。

嵌入式系统的迷人之处在于,您可以一臂之力。您编写的代码使物理对象与现实世界互动。这是直接控制反馈回路。对它们进行处理非常诱人。

嵌入式系统是一项多学科的工作。至少他们需要电子和软件知识的结合。根据特定的应用程序(您要构建的最终产品),它们可能还需要机械,材料科学,物理,化学,生物,医学或高级数学知识的某种组合。

业余爱好者与专业硬件

有许多可供选择的硬件,价格非常合理。大多数微控制器和开发板最初都是针对专业社区的,但是技术的进步和价格的下降使爱好者和教育社区都可以使用它们。

同时,这些相同的进步使硬件直接针对业余爱好者和教育社区。某些硬件已经发展到可以在专业社区中使用的程度。所以线条已经模糊了。

此处介绍的所有电路板均具有各种硬件接口和连接器,可用于连接其他硬件设备。这些是允许嵌入式系统与现实世界交互的各种传感器,指示器和执行器。

两个爱好者/教育平台是 Arduino的树莓派。对于初学者,这些提供了一种很好的入门方法。业余爱好者,教育和制作者社区提供了大量有关使用它们的信息。

我在主要资源下面列出了一些关于它们的书籍,并且还有更多书籍以及免费的视频和网站。与针对专业人士的书籍相比,这些书籍的写作水平往往更高。

Arduino是一个裸机平台,这意味着它不运行操作系统。免费提供IDE(集成开发环境),用于在其上编写和运行程序。您可以使用C和C ++编程语言对其进行编程。

许多底层细节都将为您解决。这既是Arduino的强项,也是弱项。

这是一种优势,因为它提供了快速简化流程以使某项运行。这使其成为探索新概念和新硬件的绝佳平台。

这是一个弱点,因为它使您与需要理解的关键低级细节相距甚远,以便超越初学者的水平。

这些低级的细节是现实世界中成功与危险平庸之间的区别。危险中的危险实际上可能会导致人员被杀,因此,如果您要专业地这样做,则需要了解您要承担的责任。

我的态度是在需要时利用这种简化的途径,并利用它来提升自己对工作的要求。总会有新的硬件连接到Arduino。我将始终从初学者开始学习它们。

在这种情况下,Arduino是一个很好的原型和实验平台, 没有 不必担心底层细节。然后,我以这种方式掌握的所有知识都可以推广到更复杂的平台。同时,Arduino本身就是一个功能完善的平台。

Raspberry Pi是Linux平台,这意味着它是运行Linux操作系统的单板计算机。在某些方面,它与Arduino类似,因为许多底层细节都由您来照顾。

但是由于更多的硬件接口和Linux环境,它的功能更加强大。它可以操作 作为掌上电脑的完整台式机。您可以使用Python,C和C ++编程语言以及其他语言进行编程。 Linux功能开辟了许多可能性。

支持和反对Arduino的许多相同论点都适用于Raspberry Pi。它还提供了学习Linux及其在嵌入式系统中的应用的好方法。它可以用于初学者,但也可以提供更大的范围。

针对商业和工业用途的专业硬件提供了经典的嵌入式系统开发经验。在这里,您需要能够深入到较低的层次。这些平台可以在裸机上运行,​​也可以在操作系统上运行。

操作系统往往是专门的,尤其是在应用程序需要真正的应用程序时。 硬实时 行为,还包括嵌入式Linux。

硬实时性意味着系统必须在固定的最后期限内,可靠地,每次都对真实的刺激做出响应,否则系统将发生故障。例如,必须在100毫秒内响应传感器输入的飞机飞行控制系统,否则飞机将坠毁。或化工厂过程控制系统必须在100毫秒内响应传感器,否则工厂将爆炸并在附近城市喷出有毒化学物质云。或者是火箭喷嘴控制系统,必须在50毫秒内响应制导计算机的输入,否则它将偏离航向并必须予以销毁,从而销毁了价值8亿美元的卫星和运载火箭。

这些就是系统故障可能意味着的责任。有些硬实时系统的故障后果不那么严重,而且 软实时 具有更短的期限和可允许的故障情况的系统(例如,智能扬声器在200毫秒后失去输入流并无法播放音乐),但是请务必牢记可能会受到威胁的系统。

如果您的目标是作为嵌入式系统开发人员专业地工作,那么您需要能够使用专业的硬件。但是,请毫不犹豫地使用业余爱好者的硬件来学习新事物。与他们一起工作的广泛经验将为您提供强大的多功能性和适应性。

主要资源

下面列出的项目都是极好的资源,它们为初学者提供了最低限度的知识,并逐步提高到更高的水平。如果您已经有了一些知识和经验,他们会填补空白。

这些都是写得很好的实用指南。它们之间有些重叠和重复,但是每位作者都有不同的观点和表现方式,有助于建立更完整的图景。

他们还提供了链接和建议以供进一步研究。遍历它们之后,您将具有处理更多高级资源的背景知识。

您可以做的最重要的事情是 练习涵盖的内容。这种材料需要动手工作才能真正掌握,理解并能够使用,特别是如果您正在使用它来找工作。

无论您是边阅读边练习,还是先阅读整本书,都要花时间和精力来 实际做 它说什么。这样,您便可以构建在现实世界中可以为您提供帮助的技能和经验。

预计在每种资源上花几天到几周的时间,再加上几个月的时间。尽管它们大多是介绍性的,但有些假设的背景知识要多于其他知识,例如有关二进制和十六进制数字的信息。您可以通过搜索某些关键字来在线找到有关这些主题的其他信息。

一开始,某些材料可能非常致密,因此不要害怕多次通过。同样,在经历了其他事情之后回到某处有助于克服困难。

查看此列表,可能看起来很多。确实,这是对时间和金钱的投资,某些项目比其他项目更多。但是,如果您花了点时间练习这些材料,如果您认为每门课程大约相当于一门大学课程的半学期,那么这相当于大约两年的重点大学教育时间。

这与副学士学位或学士学位的一半相当。而且它将为您提供可以在实际工作中使用的实用技能。

这些是大致推荐的顺序,但是您可以并行浏览软件和电子材料。您可能还会发现,根据您当时的知识水平,在不同书籍的不同部分之间跳转非常有用。请注意,本文的下一部分列出了便宜的硬件,包括这些主板使用的一些主板。

如果您发现一些材料 太难了,永远不要害怕,退回给初学者的资源。如果您发现一些简单的东西,不要害怕,它会变得很深。最终,这一切都开始融合,就像在太空深处形成的恒星一样,直到它点燃并在你的脑海中明亮地燃烧。

The resources:
您可以在15分钟内学习Arduino。:这是一段不错的简短视频,讲述了Arduino微控制器系统的基础。它有助于开始分解术语并显示其中涉及的一些内容。这是对更多涉及主题的很好的介绍。您还可以从此处深入探究Arduino,微控制器和电子设备上无尽视频的棘手问题。仅此人的频道就提供了很多有用的信息。
黑客电子学:使用Arduino和Raspberry Pi学习电子学 ,第二版,2017年,作者西蒙·蒙克(Simon Monk)。这是一本很棒的入门级动手书,涵盖了足够的各种硬件和软件主题,使您可以从零知识开始进行工作。
编程Raspberry Pi:Python入门,第二版,2016年,作者西蒙·蒙克(Simon Monk)。这是Raspberry Pi上Python的实用指南,比上面的Hacking Electronics更详细地介绍了编程。同时,它在硬件方面的初学者信息较少。因此,这两本书很好地互补。
编程Arduino:草图入门,第二版,2016年,作者西蒙·蒙克(Simon Monk)。与他关于Python的书类似,但针对Arduino上的C语言,对他的Hacking Electronics也有很好的补充。
嵌入式软件工程101: 这是Christopher Svec撰写的精彩博客系列, iRobot的高级首席软件工程师。我真正喜欢的是,他以非常出色的初学者步骤进行了学习,包括对微控制器汇编语言的精彩介绍。
现代嵌入式系统编程:这是Miro Samek的一系列令人惊叹的壮观视频短片,它们使您从头开始对嵌入式系统进行编程。他们的节奏很快,一次涵盖了很多资料,包括C编程语言,但是他在分解方面做得很好。他使用了便宜的微控制器评估套件(请参阅下面的硬件)和IAR开发软件套件的免费大小受限评估版。他还有一页 其他资源说明。我真正喜欢的是,除了涵盖了包含许多细微细节的全面信息之外,他还精确地展示了C代码如何转换为微控制器存储器和寄存器中的数据和汇编指令。与Arduino相比,这是 所有 低层细节。你会 知道 本课程结束后,事情如何运作(目前有27个视频)。一路上,您将掌握通常需要数年才能掌握的各种实用设计,编码和调试技能。我是否提到过这门课程真是太棒了?
RoboGrok:这是亚利桑那州立大学Angela Sodemann制作的令人惊叹的完整在线2学期大学学院机器人视频课程,向公众开放。从开始 预备页面。除了嵌入式系统的一些基础知识之外,它还涵盖了运动学和机器视觉,并通过PSoC(芯片上可编程系统)板对电机和传感器进行了手动控制。她出售以下列出的零件套件。这是应用嵌入式系统的一个很好的例子。
C语言,第二版,1988年, Brian W. Kernighan和Dennis M. Ritchie撰写:C是嵌入式系统软件使用的主要语言,尽管C ++开始流行。这是一本关于C的开创性书籍,写得非常好,它影响了一代编程风格和其他编程书籍。上面列出的所有资源都包含了C的一些基础知识,这将完成覆盖范围。
嵌入式C编码标准,2018年(BARR-C:2018),作者:迈克尔·巴尔(Michael Barr):这将使您走上编写正确,可读,可维护的代码且错误少的正确道路。它是可免费下载的PDF,也可以作为廉价的平装本订购。编码标准是成为有纪律的开发人员的重要组成部分。当您看到丑陋,难以阅读的代码时,您将不胜感激。
嵌入式系统编程:用C和C ++,1999年,作者:迈克尔·巴尔(Michael Barr):尽管这已经有20年的历史了,但它是一个很棒的技术介绍,并且仍然很有意义。在许多方面与Samek的视频系列相似,它使初学者逐步熟悉了处理器及其外围设备,并介绍了嵌入式操作系统的概念。有一个更高版本,但是可以以合理的价格使用。 
编程Arduino后续步骤:进一步介绍草图,第二版,2019年,作者西蒙·蒙克(Simon Monk)。这将深入到Arduino,涵盖更高级的编程和接口主题。它还包含有关可使用IDE编程的各种第三方非Arduino板的信息。这就开始超越了Arduino仅适合从事小玩具项目的初学者的争论。
制作嵌入式系统:优秀软件的设计模式,2011年,作者:Elecia White。这是一本关于不使用操作系统的小型嵌入式系统软件的优秀书籍(称为 裸机,硬环, 要么 超环 系统),介绍了所有类型的嵌入式系统必不可少的主题。是的,设计模式的主题适用于C语言中的嵌入式系统。它不仅适用于面向对象语言的非嵌入式系统。实现的细节有所不同。 
探索Raspberry Pi:通过嵌入式Linux与现实世界交互,2016年,作者Derek Molloy。这在Raspberry Pi和嵌入式Linux上要深入得多。它涉及面很广,因此最好根据当前的知识水平将其分为初学者,中级和高级主题。相应地分散阅读。它具有有关硬件和软件的大量信息,包括Linux环境的许多细节。两个特别引人入胜的领域是使用其他微控制器(例如Arduino)作为从属实时控制器,并创建Linux内核模块(LKM)。
品牌:电子产品:通过发现学习,2015年第2版,作者查尔斯·普拉特(Charles Platt)。这是我见过的关于入门电子学的最佳书籍。普氏能源资讯主要专注于其他组件而非微控制器,涵盖了板上所有其他随机零件的功能。看到 评论:品牌:电子和品牌:更多电子 有关这本书和下一本书的更多信息,以及 了解电子和微控制器 获取更多资源。
品牌:更多电子产品:深入了解逻辑芯片,放大器,传感器和随机性世界的旅程,2014年,作者查尔斯·普拉特(Charles Platt)。嵌入式系统中出现了更多组件。
调试:查找最难以捉摸的软件和硬件问题的9条必不可少的规则,2006年,David J. Agans。到现在为止,您已经找到了解决代码和硬件问题的许多方法。这是一本很棒的书,它学习如何摆脱困境。这是一篇简单的文章,概述了一组非常实用的规则,这些规则普遍适用于许多情况,然后通过实际示例对它们进行详细阐述。 
嵌入式系统的实时概念,2003, 是李青和姚明。这是对嵌入式操作系统(和大型系统)中一般并发控制机制的介绍。
可重用固件开发:API,HAL和驱动程序的实用方法,2017年,Jacob Beningo着。这涵盖了如何以可以在多个项目中使用的方式编写结构良好的低级设备驱动程序代码。嵌入式系统因拥有不可重用的低级代码而臭名昭著,该代码以非常特定于特定硬件设计的方式编写,而该硬件设计通常会跳到更高级别。这意味着您必须每次为每个项目重写所有内容。好的硬件抽象层(HAL)和应用程序编程接口(API)提供了一种规范的,一致的方法,使您可以在项目之间重用代码,从而节省了大量的开发和测试时间。这还可以帮助您成为更好的设计师,因为它鼓励您以模块化的方式思考,开始以战略性的方式考虑更广泛的体系结构,而不仅仅是如何以战术方式解决眼前的问题。
嵌入式系统架构,2018年,作者Daniele Lacamera。这是一本最新的书,使用流行的ARM Cortex-M微控制器系列作为参考平台。这使它成为Samek视频系列的一个很好的补充,因为他使用的TI TIVA C是ARM Cortex-M处理器。这也将在区域上更详细地介绍 例如工具链(包括使用OpenOCD进行调试),引导加载和内存管理。它简要地以ST STM32F746发现板为例。
具有基于Arm Cortex-M的微控制器的嵌入式系统基础知识:一种实用方法,2017年,作者:亚历山大·G·迪恩(Alexander G. Dean)。顾名思义,这是另一本关于ARM Cortex-M的详细书籍,旨在作为大学级教科书。除其他良好的实用细节外,它还包括一章有关模拟接口的不错的章节。它使用便宜的NXP FRDM-KL25Z开发板作为实例。
TI Tiva ARM针对嵌入式系统的编程:使用C编程ARM Cortex-M4 TM4C123G,2016年,穆罕默德·阿里 Mazidi,Shujen Chen,Sarmad Naimi和Sepehr Naimi。这是一本详细的书,使用了与Samek的视频系列完全相同的Tiva C板。 
设计嵌入式硬件:创建新的计算机和设备,John Catsoulis撰写的第二版,2005年。这涵盖了硬件方面,是对怀特的书的绝佳补充。它提供了微控制器信息以补充Platt的书。
嵌入式C的测试驱动开发,2011年,James Grenning。这是一本关于为嵌入式系统设计和编写高质量代码的精彩著作。看到 评论:嵌入式C的测试驱动开发,James W. Grenning 有关详细信息。就像怀特的书将面向对象世界的概念应用于嵌入式系统一样,格林宁也将罗伯特·C·马丁(Robert C. Martin)的“清洁代码”概念(通常与面向对象相关联)应用于嵌入式系统。我们都会为此做得更好。
具有测试驱动开发的现代C ++编程:更好的代码,更好的睡眠,2013年,Jeff Langr。这是一本关于软件开发的同样壮观的书。它加强了Grenning的书中涵盖的主题并对其进行了进一步的详细介绍,因此两者相得益彰。即使您不了解C ++,通常也很容易理解,并且仍然适用。
驯服嵌入式C(第1部分),2016年,乔·德泽维奇(Joe Drzewiecki)。该YouTube视频是 Microchip MASTERs会议 系列。它涵盖了嵌入式代码中可能存在风险的某些事情以及避免这些事情的一些方法。这成为使嵌入式系统更具挑战性的特征。我最初喜欢以2倍的速度观看这样的视频。然后,如果需要更仔细地观看它们,我将以正常速度返回各个部分。
中断和任务调度-无需RTOS,2016年,克里斯·塔克(Chris Tucker)。另一个MASTERs视频,其中涵盖了在嵌入式系统中工作的一组关键主题。
一些高级资源

准备进一步深入研究了吗?
MC / OS实时内核,1992年,让·拉布罗斯(Jean Labrosse)撰写。 Labrosse在无法获得所使用的商业软件的支持时,决定编写自己的实时操作系统。剩下的就是历史了。您可以在与他的播客访谈中听到一些历史, “它能有多难?”。这不仅说明了事情的幕后工作原理,还为您提供了源代码。
MC / OS III,德州仪器Stellaris MCU的实时内核,2010年,让·拉布罗斯(Jean Labrosse)。它涵盖了第三代MC / OS,以及Samek的视频系列中介绍的Stellaris微控制器的详细信息。您也可以下载免费的 PDF版本,以及配套软件。 MC / OS II和其他书籍也在那里。获得多个版本的价值在于了解该软件如何随着时间而发展。
嵌入式系统的软件工程:方法,实用技术和应用,第二版,2019年,由Robert Oshana和Mark Kraeling编辑。这是各种作者对主题进行的广泛调查(Labrosse撰写了有关实时操作系统的章节)。

一些硬件

下面列出的项目包括上面的资源中使用的一些便宜的评估板和评估套件。那里有无数的微控制器板,对于学习如何在嵌入式系统上工作非常有用。 值得从不同的供应商那里获取一些知识,以便您可以学习他们的不同的微控制器,不同的功能和不同的工具链。

这也有助于您理解在编写代码时抽象出低级硬件差异的重要性。 每个供应商都提供了一系列支持工具作为软件包的一部分。

请注意,大型供应商网站可能会很痛苦,因为它们希望您创建一个带有个人资料的帐户,询问诸如公司名称(称为“独立”)之类的问题,您的应用程序是什么,您希望订购多少个零配件,何时您希望运送您的产品等。它们被设置为工业用途,而不是业余爱好者/个人用途。他们还可以通过Mouser或Digi-Key等分销商进行运输和订购。随它滚吧!

The hardware:
Arduino的 Uno-R3,22.95美元。这是上面列出的Arduino视频中使用的板。还有各种各样的“屏蔽”可供使用,外部设备直接连接到板上。探索这些是Arduino提供的巨大教育价值之一。请记住,由于Arduino为您处理了许多细节,因此您可以更快地学习新设备。然后,您可以利用该知识并将其应用于其他董事会。您也可以在那里下载Arduino IDE。
树莓派 3-B +型,35美元。这是西蒙·蒙克(Simon Monk)上面书籍中使用的木板的更新版本。您还需要 具有20AWG MicroUSB电缆的5V 2.5A开关电源,7.50美元和 具有完整PIXEL桌面NOOBS的8GB卡-  v2.8。您可能还希望 迷你HDMI转HDMI电缆-5英尺,5.95美元和 带Micro USB OTG连接器的以太网集线器和USB集线器,14.95美元。这些足以将其连接到监视器,键盘和鼠标,并将其用作台式Linux计算机。
德州仪器(TI)MSP430F5529 USB LaunchPad评估套件, $ 12.99(16位微控制器)。评估套件是用于常规实验的完整的即用型微控制器板。 Christopher Svec在上述博客系列中使用了此工具包,其中还介绍了如何使用免费的可下载开发软件。如果您直接从TI网站购买,请注册为“独立设计师”。
德州仪器Stellaris LaunchPad评估套件的价格为12.99美元(32位微控制器)。这是Miro Samek最初从 第0课 上面他的视频系列但是,正如他在开始时指出的那样 第10课,TI不再出售它,并已将其替换为Tiva C LaunchPad(可以接受的替代品)(请参阅下面的下一项)。 
您也许可以找到第三方供应商提供的Stellaris。但是您必须小心,实际上要得到它,而不是Tiva C套件,即使他们将其列为Stellaris。因此,我现在有两块Tiva C板,一块是我直接从TI订购的,另一块是我从另一家供应商特别订购Stellaris时发货的。
幸运的是,本课程并不重要,但是它突出显示了嵌入式系统遇到的问题之一,即供应商更改了产品线并替换了产品(有时只是将现有产品重新命名为新名称,这似乎是TI在这里做了)。如果您在项目中所做的事情完全取决于替代产品无法提供的原始产品的硬件功能,那么这至少会造成混乱和烦人,并可能导致恐慌。
您应该学习的设计课程之一是对项目进行将来验证,并尝试隔离特定于硬件的功能,以便在必要时可以适应新产品。
德州仪器Tiva C TM4C123G LaunchPad评估套件, 12.99美元(32位微控制器)。这是TI替代Stellaris LaunchPad的替代品,可以与Miro Samek的视频系列一起使用。 Samek在一开始就解决了更换问题 第10课。好消息是,他说Tiva C等同于Stellaris(显然,TI所做的所有工作都是对产品进行重命名),因此在该课程中可以使用。您会注意到, 工具链 (用于开发板软件的软件(在这种情况下为IAR EWARM尺寸受限的评估版))仍将其称为TI Stellaris。 
板上的特定TI设备是TM4C123GH6PM,因此在设置EWARM项目时->Options->General 选项->设备,您可以选择TexasInstruments->TM4C->Texas Instruments TM4C123GH6PM,而不是Stellaris板上的LM4F120H5QR。但是,Samek显示您可以继续使用为Stellaris配置的工具链。
当供应商交换您的零件时,这些细节可能令人发疯。弄错它可能会产生一些细微的问题,因为某些事情可能会正常工作(您选择的设备变体与所需的变体非常相似),而其他的则不能。欢迎来到嵌入式开发的世界!小细节很重要。产品名称中的字母汤和数字之海也可能使您发胖,并成为错误的根源。密切关注!
一个相关的细节:Samek在其项目中提供的lm4f120h5qr.h文件,用于与Stellaris电路板的处理器一起工作,也可以与Tiva C电路板的工作一起使用。 处理器。但是,Tiva处理器也有一个TM4C123GH6PM.h文件。这两个文件都在目录C:\ Program Files(x86)\ IAR Systems \ Embedded Workbench 8.2 \ arm \ inc \ TexasInstruments(或具有的EWARM版本)中。
您可以将它们复制到您的项目目录中,或通过选择Project-来让编译器将该目录用作其他包含目录。>Options->C / C ++编译器,然后单击“其他包含目录:”框旁边的...按钮。
STMicroelectronics STM32F746发现板,价格为54美元(ARM Cortex-M7微控制器)。上面的Daniele Lacamera的书对此进行了简要介绍。与此处的其他评估套件相比,它相对昂贵,但包含4.3英寸LCD电容式触摸屏和其他硬件元素,使其成为功能强大的平台,并且仍具有出色的价值。
恩智浦半导体FRDM-KL25Z自由开发板,售价15美元(ARM Cortex-M0 +微控制器)。这是亚历山大·迪恩(Alexander Dean)在上面的书中使用的董事会。
uC32:Arduino可编程PIC32单片机板,34美元(Microchip PIC32 32位处理器)。上面的任何资源都没有专门讨论这一点,但是PIC32单片机是一个流行的系列,提供了不同的硬件环境。这可以使用Arduino IDE进行编程,也可以使用Microchip的MPLAB IDE进行编程。
Adafruit零件Pal,19.95美元。这是一个小型通用零件套件,用于与上述各种电路板一起使用。它包括LED,开关,电阻器,电容器,简单传感器,小面包板和用于互连物体的跨接线,以及其他一些有趣的物品。
RoboGrok零件套件,395美元。这是上面Angela Sodemann课程的零件套件。虽然您可以自己花更少的钱收集零件,但她可以省去您要做的所有工作,而购买她的套件是补偿她的好方法。 
Extech EX330自动量程迷你万用表,58美元。那里还有一个兆兆万用表。这是一个合理的中端模型。万用表是检查电路板上的重要工具。
以下逻辑分析器之一。逻辑分析仪是一种非常有价值的工具,可让您查看电路板上实际的复杂信号。他们过去要花费数千美元,并且需要推车才能把它们滚动。这些是奇迹般的微型版本,适合您的口袋,价格却使其成为实用,必备的个人工具。它们插入您的USB端口,并通过您在计算机上运行的免费可下载软件进行控制:
Saleae Logic 8逻辑分析仪,8个D / A输入,100 MS / s,199美元。那是在申请了200美元的真棒之后 “发烧友/学生”折扣,使用的折扣代码为 你可以要求 并在结帐时将其应用于购物车,谢谢! Svec的博客系列也对此进行了简要介绍。如果您还没有分析仪,则可以在模拟模式下使用该软件。
Digilent Analog Discovery 2,100MS / s USB示波器,逻辑分析仪和可变电源,Pro Bundle,299美元。与Saleae一样令人赞叹的是,它增加了示波器,电源和信号发生器功能,将许多设备组合成一个小包装。他们也为符合条件的人提供学术折扣(基本单位折扣36%)。
有关装备个人电子实验室的完整购物清单,请参阅 购物清单 前往 Limor Fried是我的新英雄。该页面还包含许多有关如何使用工具的资源的链接。

词汇表

当您学习词汇时,可能会有些发疯,就像您完全理解它们一样,会抛出很多术语,专业术语和首字母缩写词。当您获得资源时,知识的积累开始使事物变得清晰。有时,一旦获得更多信息,就需要返回并重新阅读一些内容。
其他连结

这些站点上的文章和链接对初学者和高级开发人员很有用。

最终思想

我们的社会越来越依赖嵌入式系统以及与之交互的各种后端和支持系统。作为开发人员,我们有责任 建立安全性 以确保我们不会在任何时候创建随时待命的纸牌屋。因为人们的生活可以依靠它。

如果您认为我夸大其词,请参阅 布鲁斯·施耐尔的新书。我们是前线的人。

本文以PDF格式提供,便于打印

[-]
评论者 古董2020年12月8日

“重要的是要牢记有什么危险。”

“如果您的目标是专业从事嵌入式系统开发人员,那么您需要能够使用专业的硬件。但是,请毫不犹豫地使用业余爱好者的硬件来帮助您学习新知识。”

“无论您是在阅读本书时还是在阅读整本书之前都进行练习,都要花时间和精力来真正按照书中所说的去做。这就是您建立技能和经验的方式,将对您的现实世界有所帮助”

这三件事是我们可以称为“隐藏键”的技能。确实需要花费大量时间来获得技能,然后只有我们才能获得这种经验。但这是我找到所有一起解释的“隐藏键”的唯一页面。
非常感谢主席先生,将所有资源集中在一处。
问候
曼尼什

要发布对评论的回复,请单击每个评论所附的“回复”按钮。要发布新评论(而不是回复评论),请查看评论顶部的“写评论”标签。

注册后,您可以参加所有相关网站上的论坛,并获得所有pdf下载的访问权限。

注册

我同意 使用条款隐私政策.

试试我们偶尔但很受欢迎的时事通讯。非常容易退订。
或登录