嵌入式linux系统设计与应用 课件 第一章嵌入式系统基础知识_第1页
嵌入式linux系统设计与应用 课件 第一章嵌入式系统基础知识_第2页
嵌入式linux系统设计与应用 课件 第一章嵌入式系统基础知识_第3页
嵌入式linux系统设计与应用 课件 第一章嵌入式系统基础知识_第4页
嵌入式linux系统设计与应用 课件 第一章嵌入式系统基础知识_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式Linux系统原理与应用第一章嵌入式系统基本概念第一章嵌入式系统基本概念一、课程定位课程教学的指导依据/嵌入式系统的基本概念和分类/嵌入式系统的学习层次分析和两种应用模式二、单片机与嵌入式系统PC编程与嵌入式编程的区别/单片机和嵌入式系统的关系/单片机的典型应用案例:指夹式血氧仪/嵌入式系统的典型应用案例:脑机接口/单片机的设计模式:轮询/前后台/状态机/RTOS/嵌入式系统的开发流程:经典模式与协同开发/嵌入式系统技术展望三、RTOS与Linux嵌入式操作系统定义与常见的嵌入式操作系统/嵌入式操作系统与物联网操作系统的关系/RTOS的主要特点/实时

Linux:从软实时到硬实时嵌入式系统课程教学的指导依据

《普通高等学校本科专业类教学质量国家标准》国际ACM/IEEE计算课程体系规范CC2020全国计算机技术与软件专业技术资格嵌入式系统设计师考试大纲普通高等学校专业课程大纲国际ACM/IEEE计算课程体系规范CC2020胜任力模型IT胜任力模型CC2020规范应用实例(嵌入式系统)嵌入式系统的基本概念和分类国际定义

国内定义国际电气和电子工程师协会(theInstituteofElectricalandElectronicsEngineers,IEEE)对嵌入式系统的定义为:嵌入式系统是用来控制、监视或者辅助机器、设备或装置运行的装置。----广泛定义国内普遍认同的嵌入式系统定义是:嵌入式系统是以应用为中心、以计算机技术为基础,软、硬件可裁剪,适应于应用系统对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。--定义收缩,强调“嵌入性”、“专用性”与“计算机系统”嵌入式系统的特点

与“嵌入性”相关的特点:由于是嵌入到对象系统中,因此必须满足对象系统的环境要求,如物理环境(小型)、电气/气氛环境(可靠)、成本(价廉)等要求。

与“专用性”的相关特点:软、硬件的裁剪性;满足对象要求的最小软、硬件配置等。

与“计算机系统”相关的特点:嵌入式系统必须是能满足对象系统控制要求的计算机系统。Q:实时性是嵌入式系统的充要条件吗?嵌入式系统的分类和两种应用模式按其形态的差异,一般可将嵌入式系统分为:芯片级(MCU、SoC)、板级(单板机、模块)、设备级(工控机)。从嵌入式系统发展的历史过程,以及嵌入式应用的多样性中,可以了解到客观上形成的两种应用模式:以电子技术应用工程师为主体的电子系统智能化应用以计算机专业人士为主体,基于嵌入式系统软硬件平台,以网络、通信为主的嵌入式上层应用。嵌入式系统的学习层次分析层面1—构建嵌入式系统平台层面2—利用现成平台但需设计新的接口驱动层面3—利用现成平台完成嵌入式应用软件主要内容是“嵌入式系统原理及接口”。重点学习某个具有代表性的嵌入式CPU(如ARM系列)内部寄存器结构、汇编指令系统、中断(异常)管理机制及常用的外围接口,使学生掌握嵌入式硬件平台设计的有关知识。并具有启动引导程序的设计的知识和能力。主要内容是“嵌入式操作系统及接口驱动设计”。重点学习某个具有代表性的嵌入式操作系统(如Linux)的内核原理、I/O驱动机制及驱动程序框架,并结合具体的外围接口电路,使学生具备该接口的驱动程序设计能力,并具有操作系统裁剪能力主要内容是“嵌入式系统应用软件开发”。重点学习某个具有代表性的嵌入式操作系统环境下的交叉编译工具、进一步需介绍该操作系统所提供的API函数及API函数的应用方法。PC编程与嵌入式编程的区别案例1串口的驱动程序。串口驱动提供了一个查询驱动缓冲区字符的函数:GetRxBuffCharNum()。上层需要接收一定数量的字符后才能对包做解析。伪代码如下:bExit=FALSE;do{if(GetRxBuffCharNum()>=30)bExit=ReadRxBuff(buff,GetRxBuffCharNum());}While(!bExit);PC编程与嵌入式编程的区别案例1修改后:CPU可能无法正常响应串口中断案例分析:在嵌入式系统里,大部分的RTOS应用都是不带串口驱动。如果设计代码时,没有充分考虑代码与内核的结合。将会造成代码深层次的问题。PC编程与嵌入式编程的区别案例2第二个例子:驱动一个14094串口转并口的芯片。串行信号采用IO模拟。伪代码如下:将数据的8个bit在每个高电平从bit0到bit7发送出去。注意:14094要求clock的高电平和低电平均需要持续10ns。Onlyhighleveldelay修改:嵌入式系统的典型组成BoardSupportPackage(板级支持软件包,简称BSP)它对于用户(开发者)是开放的,用户可以根据不同的硬件需求对其作改动或二次开发,BSP在系统中的角色,很相似于BIOS在PC系统中的地位。嵌入式处理器典型架构推动嵌入式计算机系统走向独立发展道路的芯片,也称单片微型计算机,简称单片机(single-chipmicrocomputer)。由于这类芯片的作用主要是控制被嵌入设备的相关动作,因此,业界常称这类芯片为微控制器(MicrocontrollerUnit,MCU)。片上系统(SystemonChip,SoC)是ASIC(ApplicationSpecificIntegratedCircuits)设计方法学中产生的一种新技术,是指以嵌入式系统为核心,以IP(IntellectualProperty)复用技术为基础,集软、硬件于一体,并追求产品系统最大包容的集成芯片。单片机和嵌入式系统的关系(狭义)推动嵌入式计算机系统走向独立发展道路的芯片,也称单片微型计算机,简称单片机(single-chipmicrocomputer)。由于这类芯片的作用主要是控制被嵌入设备的相关动作,因此,业界常称这类芯片为微控制器(MicrocontrollerUnit,MCU)。片上系统(Systemon

Chip,SoC)是ASIC(ApplicationSpecificIntegratedCircuits)设计方法学中产生的一种新技术,是指以嵌入式系统为核心,以IP(IntellectualProperty)复用技术为基础,集软、硬件于一体,并追求产品系统最大包容的集成芯片。单片机和嵌入式系统的关系(狭义)从工程实用的角度出发:通常把芯片中不带MMU(内存管理单元,memorymanagementunit)从而不支持虚拟地址,只能跑裸机或RTOS(典型如ucos、华为LiteOS、RT-Thread、freertos等)系统定义为单片机(典型如STM32、NXPLPC系列等)通常把芯片自带MMU可以支持虚拟地址,能够运行Linux、Vxworks、WinCE、Android这样的操作系统的系统叫嵌入式。单片机的典型应用案例:指夹式血氧仪血氧仪原理基于动脉搏动期间光吸收量的变化。分别位于可见红光光谱(660纳米)和红外光谱(940纳米)的两个光源交替照射被测试区(一般为指尖或耳垂)。在这些脉动期间所吸收的光量与血液中的氧含量有关。微处理器计算所吸收的这两种光谱的比率,并将结果与存在存储器里的饱和度数值表进行比较,从而得出血氧饱和度。血氧仪常用MCU:STM32ST于2007年发布了第一款STM32。STM32是ARMCortex-M内核的单片机,实际上同样使用ARMCortex-M系列内核的单片机还有很多(譬如NXP的LPC系列,原Freescale的K60系列,新唐的M051系列,国内如兆易创新的GD32系列等)。单片机的设计模式:轮询/前后台/状态机/RTOS

1、轮询系统轮询系统即是在裸机编程的时候,先初始化好相关的硬件,然后让主程序在一个死循环里面不断循环,顺序地做各种事情。裸机系统通常分成轮询系统和前后台系统。int

main(void)

{

/*

硬件相关初始化

*/

HardWareInit();

/*

无限循环

*/

for

(;;)

{

/*

处理事情

1

*/

DoSomething1();

/*

处理事情

2

*/

DoSomethingg2();

/*

处理事情

3

*/

DoSomethingg3();

}}轮询系统只适合顺序执行的功能代码,当有外部事件驱动时,实时性就会降低。单片机的设计模式:轮询/前后台/状态机/RTOS2、前后台系统在裸机系统中,所有的操作都是在一个无限的大循环里面实现,支持中断检测。外部中断紧急事件在中断里面标记或者响应,中断服务称为前台,main函数里面的while(1)无限循环称为后台,按顺序处理业务功能,以及中断标记的可执行的事件。适用于小型的电子产品。int

flag1

=

0;

int

flag2

=

0;

int

flag3

=

0;

int

main(void)

{

HardWareInit();

/*

无限循环

*/

for

(;;)

{

if

(flag1)

{

/*

处理事情

1

*/

DoSomething1();}

if

(flag2)

{

/*

处理事情

2

*/

DoSomethingg2();

}

if

(flag3)

{

/*

处理事情

3

*/

DoSomethingg3();

}

}}void

ISR1(void)

{

flag1

=

1;

/*

置位标志位

*/

DoSomething1();}

void

ISR2(void)

{

flag2

=

2;

/*

置位标志位

*/

DoSomething2();}

void

ISR3(void)

{flag3

=

1;

/*

置位标志位

*/

DoSomething3();}状态机在裸机状态下实现:只有一个执行序列,所有的操作都是串行执行的,唯一需要注意的控制流程就是中断处理。单片机的设计模式:轮询/前后台/状态机/RTOS单片机的设计模式:轮询/前后台/状态机/RTOSRTOS实时操作系统(RTOS),又称即时操作系统,它会按照排序运行、管理系统资源,并为开发应用程序提供一致的基础。实时操作系统与一般的操作系统相比,最大的特色就是“实时性”,如果有一个任务需要执行,实时操作系统会马上(在较短时间内)执行该任务,不会有较长的延时。这种特性保证了各个任务的及时执行。Q:速度快,吞吐量大,代码精简,代码规模小等。。。。它们就是RTOS吗???嵌入式系统的典型应用案例:脑机接口基于ARM的微型电脑主板:RaspberryPi首先从脑部读取生物电信号,然后传到处理器中处理,最后用输出信号控制其他设备。嵌入式系统的典型应用案例:脑机接口国际10-20系统的脑电图检测电极位置,其中首字母代表大脑不同的分区,例如F为额叶,P是顶叶,T是颞叶等当大脑在进行不同的活动时,也会同时产生可以区分的电信号模式。这样这些电极就可以检测到电信号,用以进行后续的分析处理。

嵌入式系统的典型应用案例:脑机接口咀嚼和眨眼动作的测试嵌入式系统的开发流程:经典模式与协同开发嵌入式系统技术展望

边缘计算技术发展嵌入式人工智能技术发展嵌入式开发安全可信技术发展RISC-V指令集架构发展高性能嵌入式操作系统发展物联网技术与垂直行业技术发展边缘计算技术发展物联网快速发展下的边缘计算范式。边缘节点(包括智能家电、手机、平板等)产生数据,上传到云中心,服务提供商也产生数据上传到云中心。边缘节点发送请求到云中心,云中心返还相关数据给边缘节点。基于LiteOS的端侧AI框架LiteOS

现已集成

MindSpore

轻量级AI推理框架,在LiteOSStudio中输入模型文件,例如人脸识别、指纹识别等模型文件,MindSpore进行模型解析、优化,生成模型AI代码,再链接预置算子库后与LiteOS工程进行编译,即可将AI模型快速部署到端侧实现端侧AI推理。嵌入式开发安全可信技术发展LiteOS的安全框架RISC-V指令集架构发展RISC-V指令集与其他开源指令集架构相比,在不同的特性上都有改进高性能嵌入式操作系统发展LiteOS操作系统采用“1+N”架构。这个“1”指的是LiteOS内核,它包括基础内核和扩展内核,部分开源,提供物联网设备端的系统资源管理功能。“N”指的是N个中间件,其中最重要的是:互联互通框架、传感框架、安全框架、运行引擎和Javascript框架等。嵌入式操作系统定义和常见的嵌入式操作系统嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统的极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形用户界面及标准化浏览器等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面有突出的特点。常见的嵌入式操作系统有:嵌入式Linux、华为Liteos、WindowsCE、Symbian、Android、uC/OS-II、VxWorks等。嵌入式操作系统举例:HuaweiLiteOS基础

内核架构开源内核,基础内核体积可以裁剪至不到10K大小,支持动态加载、分散加载和静态裁剪嵌入式操作系统与物联网操作系统的关系物联网操作系统整体分层架构嵌入式操作系统与物联网操作系统的关系物联网操作系统与传统嵌入式操作系统特征比较实时操作系统RTOS的主要特点实时性考虑的不是速度、性能、吞吐量,而是确定性,也就是说:当一个事件发生的时候,可以确定性的保证在多长时间内得到处理,只要能满足这个要求,就可以成为硬实时。实时操作系统根据任务执行的实时性,分为“硬实时”和“软实时”:“硬实时”操作系统必须使任务在确定的时间内完成。“软实时”操作系统能让绝大多数任务在确定时间内完成。“硬实时”操作系统比“软实时”操作系统响应更快、实时性更高,“硬实时”操作系统大多应用于工业领域衡量实时性的指标1.中断延时:一个外部事件引发的中断发生时,到相应的中断处理程序第一条指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论