嵌入式与Linux那些事

电子技术应用专栏作家——嵌入式与Linux那些事。关注嵌入式与Linux的校招社招,本人整理了《嵌入式软件工程师笔试面试指南》PDF,平时发布嵌入式与Linux相关的实用技术文章

一些不错的单片机,嵌入式Linux书籍推荐

0
阅读(2000)

万物互联的时代已经到来,这不是一个概念,而是规模超过20万亿美元的全球市场。物联网技术不仅创造了新的产业,还让诸多传统行业脱胎换骨。

以汽车行业为例,物联网技术的出现带来了颠覆性的影响。无人驾驶、车联网,借助于传感器、低延迟网络、人工智能算法,解放了人力,提升了安全性。类似地,在智慧家居、工业互联网、安防监控等领域,物联网技术都在渗透并改造行业。

截至2020年,中国的物联网市场规模就达到了17000亿元。据预测到2025年,中国就会拥有世界上最大的物联网市场。作为技术人,我们没有理由错过这一波时代的红利。

物联网技术架构

物联网应用看起来形态各异,但其核心技术架构都是相似的。

首先由终端各种传感器构成感知层,再通过智能网关等设备构成的传输层,将数据发送至云端。云平台包括大数据分析、智能决策、设备管理等组件。最上为应用层,就是各个行业的具体应用。

image.png

物联网应用离不开嵌入式系统(Embedded System),它包括硬件系统与软件系统。

硬件系统为了满足低功耗的要求,所使用的芯片算力不会太强,强调为单一目的服务。

软件系统则包括操作系统与应用程序。受制于有限的硬件资源,嵌入式操作系统会极其精简,只要满足特定功能可以稳定运行就好。这对嵌入式应用程序开发,就提出了不小的挑战。

接下来我们看看,进入嵌入式开发的世界,需要掌握哪些技能。

嵌入式开发技术进阶

嵌入式系统包括硬件与软件:

硬件方面

ARM 处理器是通用嵌入式芯片的典型代表,因此想精进这个方向,你需要掌握ARM64 体系结构,熟悉 A64 指令集,包括编码格式与常用的指令。

要给自己准备好一块开发板,入门可以选用 STM32 或树莓派(Raspberry Pi)。

软件方面

首先要掌握 C 编程语言。然后还要具备出众的数据结构与算法能力,因为在资源受限的环境中,要做到兼顾性能与成本,就要依靠巧妙的算法来弥补有限的算力。

其次,还要懂操作系统知识。这对于实现特殊需求,以及性能调优都非常重要。

最后是要掌握网络通信协议,包括经典的 TCP/IP、HTTP、MQTT、Zigbee、NFC、GPRS、NB-IoT、RFID,等等。

怎么样,准备好加入这个超20万亿美元的万物互联的世界了吗?那小异给你推荐的书单,你一定要收下!

01

嵌入式开发与Linux内核

Linux内核深度解析

image.png

图例描述结合代码分析,以通俗化语言剖析Linux内核。

这本书基于ARM64架构的Linux 4.x内核,用大量图例描述数据结构之间的关系和函数的执行流程,结合代码分析,全面剖析Linux内核。

适用于负责维护和开发Linux内核或基于Linux内核开发设备驱动程序的专业人士,以及想要学习了解Linux内核的软件工程师,也适合作为高等院校计算机专业的师生用书和培训学校的教材。

奔跑吧Linux内核系列

image.png

畅销系列全新升级,内容全面,实战性强。

“奔跑吧Linux内核”系列三本书由“奔跑吧Linux社区”创建者笨叔撰写,第二版基于Linux 5.0内核和ARM64/x86_64架构,全面修订。基于GCC的“O0”选项编译的Linux 5.0实验平台,通过大量实战案例、高频面试题,剖析Linux内核的源代码 

本系列书涵盖大量实战案例,可操作性强,同时配备全套代码下载。适合Linux系统开发人员、嵌入式系统开发人员及Android开发人员阅读,也可供计算机相关专业的师生阅读。

Linux命令行大全 第2版

image.png

Linux领域的“代码大全”,手把手教你学Linux操作系统。

这本书带您从初探终端开始,学习使用 bash(Linux Shell)编写完整的程序。本书的内容涉及 bash 4.x,例如重定向操作符和 Shell 扩展知识。更新的Shell 脚本部分讨论了 Shell 脚本实践以及避免常见类型的潜在危险故障的方法。

阅读本书您将学习命令行技能,例如文件导航、环境配置、命令应用以及正则表达式模式匹配,甚至可以探索许多命令行工具背后的理念以及 Linux 从 UNIX 继承的规则。

包括以下内容:

● 创建和删除文件、目录和符号链接;

● 管理系统,包括联网、软件包安装和进程管理;

● 使用标准输入和标准输出、重定向和管道;

● 使用文本编辑器 Vi 编辑文件;

● 编写 Shell 脚本自动执行常见的任务;

● 使用 grep、cut、paste、patch 和 sed 等对文本文件进行处理。 

嵌入式Linux基础教程(第2版)

image.png

Amazon全五星评价,全面剖析嵌入式Linux开发,揭示大量技术内幕。

本书是嵌入式Linux领域的名著,全面深入而又简明地阐述了构建嵌入式Linux系统的精髓。

本书不仅剖析了嵌入式Linux系统,而且讲述了处理器、内核、引导加载程序、设备驱动开发、文件系统等关键组件,介绍了嵌入式Linux系统的开发工具、调试技术。

作者多年积累总结的嵌入式Linux开发技巧和提示,无论对初学者还是有经验的开发人员,都弥足珍贵。这一版不仅对原有章节进行了全面的修订、更新和改进,还新增了udev、USB和开源构建系统等内容。

02

嵌入式单片机开发

STM32Cube高效开发教程

image.png

“蝴蝶书”两册全面介绍 STM32 的开发,包括相关工具软件的使用、STM32 片上资源和外设的 HAL 编程方法、FreeRTOS 等中间件的编程开发方法。

《STM32Cube高效开发教程》分为基础篇和高级篇两本。

基础篇介绍 STM32Cube 开发方式所用的工具软件,以及 STM32F407 系统功能和常用外设的使用。

高级篇介绍固件库中一些中间件的使用,还介绍一些高级接口的使用。高级篇共 22 章,内容分为三大部分。

为了让读者更好地理解书中介绍的原理,以及看到示例运行的效果,本书提供了多种配套资源,包括全书所有示例项目的源代码、开发板电路原理图、全书所有示例项目在开发板上运行的演示视频,以及所有示例运行过程的图片。

单片机开发从入门到实践

image.png

通过典型、实用的操作项目,全面讲解单片机开发。

本书讲解内容包括单片机开发工具、单片机编程基础、单片机硬件基础、知识竞赛数字抢答器、数字电子时钟、多功能数字频率计、手持GPS定位器,使读者初步建立对单片机的整体认知,然后带领读者对操作结果及出现的问题进行讨论、分析、研究,进而得出结论。在“做”中“学”,渐进式地理解知识点,逐步提高自身的单片机开发能力。

本书可作为高校电子信息技术、电子工程技术或电气自动化等相关专业及职业学校、培训机构的嵌入式开发、单片机开发课程的教材,也可供有一定编程基础的单片机学习者、对单片机开发感兴趣的爱好者自学。

51单片机C语言程序设计教程

image.png

从开发的角度,从零开始手把手地带大家学习单片机技术。

本书基于单片机的最小系统来介绍单片机的基础知识,以单片机应用开发为主导,循序渐进地讲解单片机常用模块的使用及其编程方法。

通过实践深入理解数字电路的概念、C语言的基本知识以及C语言如何同实际电路发生联系。讲解单片机应用的扩展知识好编程技巧,单片机项目的开发流程及其方法。

此外,本书配有课件、示例代码,以及19个教学视频。

03

三、物联网技术与实战

物联网:射频识别(RFID)核心技术详解

image.png

自2010年首版以来,广受好评,荣获奖项,已更新3版。

本书全面介绍了物联网RFID系统及其工作原理。

·系统架构篇介绍了物联网RFID的概念、产生背景、发展历程、基本组成和系统架构。

·无线传输篇、射频前端篇、数字通信篇和体系标准篇分别讲解了物联网RFID工作流程、工作原理、理论数据、工程举例、各国规范和标准体系。

·应用实例篇介绍了物联网RFID在各个领域的典型应用实例。

书中每篇均有内容导读,每章都配有小结、思考题和练习题,列举了具有实用价值和工程数据的例题,书末附有习题答案,便于学习。对于从事物联网RFID工作的工程师,本书是一本很好的参考书。

本书适合作为高等院校通信、电子、物联网和自动控制类学生的教材。

物联网全栈开发原理与实战

image.png

从零开始学物联网从入门到精通。 

本书就底层设备的嵌入式开发、设备无线组网设计、网络通信传输设计、监控服务器设计、云端服务器设计、移动应用开发都做了全方位的介绍,用一个个实例把整个物联网应用系统串连起来,使用了多种开发语言、开发工具、设计技巧和方法,完整描述了一个复杂的“物联网设备监控平台”的设计和诞生。

本书适合物联网工程专业的本科生、研究生阅读,对有志于复杂物联网应用系统开发的设计师,特别是全栈设计师,本书也有较高的参考价值。

物联网安全漏洞挖掘实战

image.png

众多安全业内专家作序并推荐 案例式分析物联网安全漏洞的挖掘思路与技巧 

物联网的快速发展给我们的生活带来了各种便利,但是其存在的安全问题也伴随而来——摄像头偷窥、智能门锁远程开锁、儿童玩具窃取个人隐私……如何应对针对物联网发起的攻击,成为业内从业人员的重点研究领域。

本书源自作者多年在物联网安全领域中的经验积累,从实战的角度对物联网领域的漏洞挖掘技术进行了介绍,对物联网中存在的安全隐患进行了全面细致的剖析。

本书所选案例均来自真实的应用环境,实用性与可操作性强,更贴近物联网安全的研究与学习。对于物联网安全研究人员、固件应用开发人员以及对相关专业的学生来说,都可以通过本书对掌握物联网漏洞的挖掘与防范技能。

04

四、物联网相关芯片开发

ARM64体系结构编程与实践

image.png

安谋科技(Arm China)推荐教材,系统介绍ARM64指令集和架构。

用通俗易懂和接地气的方式,讲述了ARM64架构中最基础、最核心的知识点,解决了ARM64架构学习过程中的难点与痛点。里面有大量的例子,让大家阅读起来不会觉得枯燥乏味。

问题导向式:每章开头会给读者列出本章的思考题,读者可以带着这些问题去阅读,在阅读中找到答案,增强学习的乐趣与成就感。

提供了100个创新的 ARM64实验:本书提供了大量的实验,认真做完这些实验,你就会对ARM64架构有深刻的理解,一定会有不小的成就感。

分享了大量实际项目的经验:比如在使用ARM64指令集的过程中会遇到的陷阱和坑,包括DMA缓存一致性问题、内存屏障使用的案例,等等。

提供了200道 ARM64面试题:针对书中介绍的ARM64相关知识点,以及一些工作中常会接触到的问题,本书为大家设计了200道ARM64面试题。

手把手教你RISC-V CPU(上下册)

image.png

芯来科技出品,倪光南院士推荐,全面介绍了新兴开源的 RISC-V 架构。

这套书由中国RISC-V领域的先行者、芯来科技创始人兼首席执行官胡振波编写,中国工程院倪光南院士、中国RISC-V产业联盟理事长戴伟民博士写序推荐,同时受到业界专家包云岗、滕岭、郭雄飞、黄乐天、吴伟、何小庆、张博、张先轶的联合推荐。

·上册重点关注处理器设计,系统地介绍了 CPU 设计技巧和新兴开源 RISC-V 架构。

· 下册侧重RISC-V CPU的工程与实践,通过开源蜂鸟E203处理器系统地介绍了 RISC-V 处理器的嵌入式软件开发方法,不仅给出了嵌入式软件开发的全流程,而且介绍了蜂鸟E203处理器的具体使用方法。

这套书主要面向嵌入式软件开发工程师,以及对RISC-V感兴趣的初学者和技术爱好者。

高校学生:从入门到进阶都需要一套完整的知识作为指导,包括产业情况、入门知识、开发指导、设计实践、开发实操。

业界工程师:由于RISC-V还处在早期高速发展阶段,想转入该领域的工程师都需要一本书全面了解技术和发展。

技术爱好者:对于新技术的了解需求,加上产业应用情况的进展,也需要一套书来快速获取。

此外,这套书上下两册都配有完整的配套学习资源,具体获取方法可以在书中找到,包括相关代码、教学课件、实验课件、教学视频等。

05

智能硬件产品经理必知必会

硬件产品经理方法论

image.png

10余年经验的硬件产品经理的工作心经,硬件产品经理的零基础入门指南&职场进阶宝典。

本书是作者10余年硬件产品经理经验的积累,提供手把手的方法教学+实用工具展示,助力硬件产品经理职场进阶。

串联硬件产品的全生命周期,涵盖市场分析、用户研究、产品定义、产品设计、研发实现、项目管理、产品策略、市场营销、产品维护。探究硬件产品的底层方法论,讲解用户思维、数据思维、创意思维、财务思维、领导思维、商业思维、求职技巧、工作技巧、进阶技巧。

通过一个实际案例,带领读者从行业、企业和产品三方面深度剖析一款硬件产品成功的原因,帮助读者进一步理解书中的知识点。 


原文链接:https://mp.weixin.qq.com/s/StxcZntLzjlXF3keCcnI5w

微信图片_20220708145705.jpg

电子技术应用专栏作家 嵌入式与Linux那些事