嵌入式开发:

 

前言:

这里的教程只是帮助你了解,入门嵌入式开发,并没有复杂的内容(我自己也顺便理一理),且知识点仅供参考。我这里只列举了基于单片机开发的系统,有 Atmega328p、ESP32,以后可能有 STM32 。如果你想要系统学习,简易寻找专业途径。

; )


定义:

想要入门嵌入式,就需要先知道什么是嵌入式系统:

嵌入式系统是以应用为中心,以现代计算机技术为基础,能够根据用户需求(功能、可靠性、成本、体积、功耗、环境等)灵活裁剪软硬件模块专用计算机系统

 

以应用为中心,用户打开电源即可直接享用其功能,无需二次开发或仅需少量配置操作。

有专用性。

以现代计算机技术为核心:大致上包括集成电路设计技术、系统结构技术、传感与检测技术、嵌入式操作系统和实时操作系统技术、资源受限系统的高可靠软件开发技术、系统形式化规范与验证技术、通信技术、低功耗技术、特定应用领域的数据分析、信号处理和控制优化技术

软硬件可裁剪


特点:

嵌入式系统的硬件和软件必须根据具体的应用任务,以功耗、成本、体积、可靠性、处理能力等为指标来进行选择。嵌入式系统的核心是系统软件和应用软件,由于存储空间有限,因而要求软件代码紧凑、可靠,且对实时性有严格要求。

 

专用性强

体积小

实时性好

可裁剪性好

可靠性高

功耗低

 

注意:

嵌入式系统本身不具备自我开发能力,必须借助通用计算机平台来开发。嵌入式系统设计完成以后,普通用户通常没有办法对其中的程序或硬件结构进行修改,必须有一套开发工具和环境才能进行。


系统结构:

嵌入式系统最核心的层次是中央处理单元部分,它包含运算器和控制器模块,在 CPU 的基础上进一步配上存储器模块、电源模块、复位模块等就构成了通常所说的最小系统。由于技术的进步,集成电路生产商通常会把许多外设做进同一个集成电路中,这样在使用上更加方便,这样一个芯片通常称之为微控制器。在微控制器的基础上进一步扩展电源传感与检测、执行器模块以及配套软件并构成一个具有特定功能的完整单元,就称之为一个嵌入式系统或嵌入式应用

硬件结构:

尽管各种具体的嵌入式系统各不相同,但其基本的硬件结构却是大同小异的,而且和通用计算机的硬件系统有着高度的相似性:也由处理器、存储器、外部设备、I/O接口、图形控制器等部分组成。但是嵌入式系统应用上的特点致使嵌入式系统在软硬件的组成和实现形式上与通用计算机系统有较大区别。为满足嵌入式系统在速度、体积和功耗上的要求,操作系统、应用软件、特殊数据等需要长期保存的数据,通常不使用磁盘这类具有大容量且速度较慢的存储介质,而大多使用 EPROM 、E2PROM 或闪存(Flash Memory)。在嵌入式系统中,A/DD/A 模块主要用于测控方面,这在通用计算机中用得很少。

软件结构:

嵌入式系统的软件体系是面向嵌入式系统特定的硬件体系和用户要求而设计的,是嵌入式系统的重要组成部分,是实现嵌入式系统功能的关键。嵌入式系统软件体系和通用计算机软件体系类似,分成驱动层、操作系统层、中间件层和应用层等四层,各有其特点。

驱动层:

驱动层是直接与硬件打交道的一层,它为操作系统和应用提供硬件驱动或底层核心支持。基本硬件包括微处理器、存储器、中断控制器、DMA 、定时器等。驱动层一般可以有三种类型的程序,即板级初始化程序、标准驱动程序和应用驱动程序

操作系统层:

嵌入式系统中的操作系统具有一般操作系统的核心功能,负责嵌入式系统的全部软硬件资源的分配、调度工作控制、协调并发活动。它仍具有嵌入式的特点,属于嵌入式操作系统(Embedded Operating System,EOS)。主流的嵌入式操作系统有Windows CE、Palm:OS、Linux、VxWorks.pSOS.QNX.LynxOS等。有了嵌入式操作系统,编写应用程序就更加快速、高效、稳定。

中间件层:

中间件是用于帮助和支持应用软件开发的软件,通常包括数据库、网络协议、图形支持及相应开发工具等,例如:MySQL、TCP/IP、GUI 等都属于这一类软件。

应用层:

嵌入式应用软件是针对特定应用领域,用来实现用户预期目标的软件。嵌入式应用软件和普通应用软件有一定的区别,它不仅要求在准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。


应用:

嵌入式系统的应用十分广泛,涉及工业生产、日常生活、工业控制、航空航天等多个领域,而且随着电子技术和计算机软件技术的发展,不仅在这些领域中的应用越来越深入,而且在其他传统的非信息类设备中也逐渐显现出其用武之地。

【摘自百度百科】


教程:

 

Arduino

ESP32