嵌入式开发四个层次

合集下载

嵌入式系统的原理及应用.ppt

嵌入式系统的原理及应用.ppt
17
VIVI 第2阶段介绍
第5步:mtd_dev_init()
mtd_dev_init()用来扫描所使用的NAND Flash的型号,构造 MTD设备,即构造一个mtd_info的数据结构。对于本开发板,它 直接调用mtd_init(),mtd_init又调用smc_init(),此函数在 drivers/mtd/maps/s3c2410_flash.c中。
嵌入式系统的原理及应用
3.3 嵌入式Linux系统的开发
编写BootLoader; 裁减嵌入式Linux内核; 裁减嵌入式Linux文件系统; 烧写BootLoader到目标板; 烧写嵌入式Linux内核和文件系统到目标板。
2
3.3.1 编写BootLoader
一个嵌入式Linux系统从软件角度看可以分为四个层次:
怎样编写BootLoader程序?
初学者最好采用拿来主义,在别人的BootLoader源代码基础上 进行修改、编译、调试。
19
18
VIVI 第2阶段介绍
第7步:misc()和init_builtin_cmds()
这两个函数都是简单地调用add_command函数,给一些命令 增加相应的处理函数。在vivi启动后,可以进去操作界面,这些命 令,就是供用户使用的。
第8步:boot_or_vivi()
此函数根据情况,或者启动“vivi_shell”,进入与用户进行交 互的界面,或者直接启动linux内核。
9
head.S通常完成如下几件事情:
(5) 检查是否从掉电模式唤醒,若是,则调用WakeupStart函数进 行处理——这是一段没用上的代码,vivi不可能进入掉电模式; (6) 点亮所有LED (7) 初始化UART0:

嵌入式系统的定义及特点是什么

嵌入式系统的定义及特点是什么

嵌入式系统的定义及特点是什么?嵌入式系统有哪些组成部分?嵌入式系统可以称为是后PC时代和后网络时代的新秀,那什么是嵌入式系统呢?嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统对功能,对可靠性,成本,体积,功耗有严格要求的专用计算机系统。

嵌入式系统一般由嵌入式微处理器,外围硬件设备,嵌入式操作系统以及用户的应用程序等四个部分,用于实现对其他设备的控制,监视或管理等功能。

嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力、才更具有优势。

因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统进行合理的裁减利用。

嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

所以,介入嵌入式系统行业,必须有一个正确的定位。

嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本、体积等要求。

所以,如果能建立相对通用的软硬件基础,然后在其上开发出适应各种需要的系统,是一个比较好的发展模式。

从上面的定义上,可以看出嵌入式系统的几个重要特征:1.系统内核小。

由于嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多。

2.专用性强。

嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。

同时针对不同的任务,往往需要对系统进行较大更改,程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全两个概念。

3.系统精简。

嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。

嵌入式系统概述ppt

嵌入式系统概述ppt

Connecting SRAM
服务特 权
共享文档下载特权
VIP用户有效期内可使用共享文档下载特权下载任意下载券标价的文档(不含付费文档和VIP专享文档),每下载一篇共享文
档消耗一个共享文档下载特权。
年VIP
月VIP
连续包月VIP
享受100次共享文档下载特权,一次 发放,全年内有效
赠每的送次VI的发P类共放型的享决特文定权档。有下效载期特为权1自个V月IP,生发效放起数每量月由发您放购一买次,赠 V不 我I送 清 的P生每 零 设效月 。 置起1自 随5每动 时次月续 取共发费 消享放, 。文一前档次往下,我载持的特续账权有号,效-自
包权
人书友圈7.三端同步
一、嵌入式系统的定义
嵌入式系统:
嵌入式系统是以应用为中心,以计算机技术为基础,
其软硬件可配置,对功能、可靠性、成本、体积、 功耗有严格约束的一种专用系统。
专用计算机系统(非PC智能电子设备)
以应用为中心
以计算机技术为基础
软件硬件可裁剪
适应应用系统对功能、可靠性、成本、体积、 功耗严格要求
嵌入式系统硬件
Power Supply Oscillation Circuit
Reset Circuit
Ports
Chip Board Ciruit
Prescaler
CPU CORE
Interrupt Controler
Timer DMA
CPU
I/O Port A/D
Connectong for Debugging
前言
课程设置的必要性 嵌入式系统涉及现代生活的方方面面 应用日趣复杂 微处理器技术长足发展 嵌入式软件技术成为核心

嵌入式填空题

嵌入式填空题

填空题1、ARM微处理器有7种工作模式它们分为两类非特权模式、特权模式。

其中用户模式属于非特权模式2、ARM支持两个指令集,ARM核因运行的指令集不同,分别有两个状态ARM、Thumb,状态存放器CPSR的T位反映了处理器运行不同指令的当前状态3、ARM核有多个存放器,其局部用于通用存放器,有小局部作为专用存放器,R15存放器用于存储PC,R13通常用来存储SP。

ARM处理器有两种总线架构,数据和指令使用同一接口的是诺依曼,数据和收指令分开使用不同接口的是哈佛构造4、ARM微处理器复位后PC的地址通常是0*0初始的工作模式是Supervisor。

5、ARM微处理器支持虚拟存它是通过系统控制协处理器CP15和MMU存储管理部件来进展虚拟存的存储和管理。

当系统发生数据异常和指令领取异常时异常处理程序透过嵌入式操作系统的存管理机制通过MMU交换物理存和虚拟存的页面以保证程序正常执行。

6、编译代码时有两种存储代码和数据的字节顺序一种是小端对齐另一种是大端对齐。

7、构建嵌入式系统开发环境的工具链有多种其中开放源码的工具链是GNU工具链ARM公司提供的工具链是ADS工具链计算机有CISC和RISC两种类型以ARM微处理器为核心的计算机属于RISC 类型其指令长度是定长的9.一般而言嵌入式系统的构架可以分为4个局部分别是处理器、存储器、输入/输出和软件一般软件亦分为操作系统相关和应用软件两个主要局部。

10、根据嵌入式系统使用的微处理器可以将嵌入式系统分为嵌入式微控制器、嵌入式DSP 处理器、嵌入式微处理器以及片上系统。

11、操作系统是联接硬件与应用程序的系统程序,其根本功能有进程管理、进程间通信、存管理、I/O资源管理。

12、从嵌入式操作系统特点可以将嵌入式操作系统分为实时操作系统和分时操作系统其中实时系统亦可分为硬实时系统和软实时系统。

13、核负责管理各个任务或者为每个任务分配CPU时间并且负责任务之间的通信,核的根本效劳是任务切换。

基于STM32的嵌入式系统实验平台设计

基于STM32的嵌入式系统实验平台设计

・技术在线 - 32 -2017年10月下 第20期(总第422期)10.3969/j.issn.1671-489X.2017.20.032基于STM32的嵌入式系统实验平台设计*◆杨卫波 阮秀凯 崔桂华摘 要 针对嵌入式原理与应用的本科教学,设计基于Coretex-M4内核的嵌入式系统实验平台。

实验平台以STM32F407IGT6微处理器为控制核心,采用模块化方法进行硬件设计,并提供丰富的接口;开发四个层次的实验项目,实验项目设计循序渐进,有利于培养具有创新思维的嵌入式开发人才。

教学实践表明,该实验平台能够满足教学要求,可以增强嵌入式课程的教学效果。

关键词 嵌入式系统;STM32;实验平台中图分类号:G642.423 文献标识码:B 文章编号:1671-489X(2017)20-0032-03Design of Embedded System Experiment Platform based on STM32//YANG Weibo, RUAN Xiukai, CUI GuihuaAbstract An embedded experimental teaching platform based on Coretex-M4 was designed for the undergraduate teaching of embe-dded principle and application. The experiment platform with STM 32F407IGT6 microprocessor adopted modular design , and provided lots of interface in the system. Four levels of experiment items were designed, and the experimental projects were progressive, which was benefi cial to the development of embedded talents with creative thin-king. The teaching practice demonstrated that the experimental plat -form can meet the teaching requirements, and can improve the tea -ching effect of embedded courses.Key words embedded system; STM32; experiment platform1 前言嵌入式原理与应用是电子与信息类学科的一门专业必修课。

嵌入式试题

嵌入式试题

嵌入式试题一、单项选择题(20题,每题1分)201、在大多数Linux发行版本中,以下哪个属于块设备( B )A. 串行口B. 硬盘C. 虚拟终端D. 打印机2、Linux文件权限一共10位长度,分成四段,第三段表示的内容是( D )A.文件类型B.文件所有者的权限C.文件所有者所在组的权限D.其他用户的权限3、某文件的组外成员的权限为只读;所有者有全部权限;组内的权限为读与写,则该文件的权限为( D )A.467B.674C.476D.7644、在ARM处理器的各种工作模式中,( A )模式无法访问一些被保护的系统资源。

20100626年徐远超A. 用户模式(user)B.系统模式(system)C. 中断模式(IRQ)D.终止模式(Abort)5、如何从当前系统中卸载一个已装载的文件系统( A )A. umountB. dismountC. mount –uD. 从 /etc/fstab 中删除这个文件系统项6、你用vi编辑器编写了一个脚本文件shell.sh,你想将改文件名称修改为shell2.sh,下列命令( B )可以实现。

A. cp shell.sh shell2.shB. mv shell.sh shell2.shC. ls shell.sh >shell2.shD. ll shell.sh >shell2.sh7、字符设备文件类型的标志是( B )A. pB. cC. sD. l8、删除文件命令为( D )A. mkdirB. rmdirC. mvD. rm9、( B )命令可更改一个文件的权限设置?A. attribB. chmodC. changeD. file10、用命令ls -al显示出文件ff的描述如下所示,由此可知文件ff的类型为( A )。

-rwxr-xr-- 1 root root 599 Cec 10 17:12 ffA. 普通文件B. 硬链接C. 目录D. 符号链接11、在指令系统的各种寻址方式中,获取操作数最快的方式是( 1 -B );若操作数的地址包含在指令中,则属于( 2-A )方式。

Boot Loader

Boot Loader

Stage1:硬件初始化
• • • 这是 Boot Loader 一开始就执行的操作 目的:为 stage2及kernel的执行准备好基 本硬件环境 通常包括
1. 屏蔽所有的中断
• • 为中断提供服务通常是 OS或设备驱动程序的责任, 在 Boot Loader阶段不必响应任何中断 中断屏蔽可以通过写 CPU 的中断屏蔽寄存器或状态 寄存器来完成
1. 进行硬件检测和资源分配 2. 将MBR中的OS Boot Loader读到系统的 RAM 中 3. 将控制权交给 OS Boot Loader
Boot Loader 的主要运行任务是
1. 将内核映象从硬盘上读到 RAM 中 2. 跳转到内核的入口点去运行,也即启动操作系统。
引导加载程序(cont’d)
2. 允许用户在这两种工作模式之间进行切换
与boot loader两种模式相关的问题
• uClinux包编译好后,可根据需要编译出各 种镜像文件
– 也就是按照板子内存预定位置 生成的二进制映 象,一般是内核和文件系统的复合体
• 常见有
– image.ram(常称为ram版内核)和 – image.rom(常称为rom版内核)
• 在嵌入式系统中
– 通常并没有像 BIOS 那样的固件程序
• 注:有的嵌入式 CPU 也会内嵌一段短小的启动程 序
– 整个系统的加载启动任务完全由 Boot Loader 完成
• 如在一个基于 ARM7TDMI core的嵌入式系统中, 系统在上电或复位时通常都从地址 0x00000000 处 开始执行,而在这个地址处安排的通常就是系统的 Boot Loader 程序。
• 输出打印信息到串口 • 从串口读取用户控制字符等。

嵌入式系统硬件体系结构设计

嵌入式系统硬件体系结构设计

嵌入式系统硬件体系结构设计一、嵌入式计算机系统体系结构体系主要组成包括:硬件层中涵盖嵌入式微处理器、存储器(sdram、rom、flash等)、通用设备USB和i/oUSB(a/d、d/a、i/o等)。

在一片嵌入式处理器基础上添加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。

其中操作系统和应用程序都可以固化在rom中。

硬件层与软件层之间为中间层,也称作硬件抽象化层(hardwareabstractlayer,hal)或板级积极支持纸盒(boardsupportpackage,bsp),它将系统上层软件与底层硬件拆分开去,并使系统的底层驱动程序与硬件毫无关系,上层软件开发人员无须关心底层硬件的具体情况,根据bsp层提供更多的USB即可展开研发。

该层通常涵盖有关底层硬件的初始化、数据的输出/输入操作方式和硬件设备的布局功能。

3.系统软件层系统软件层由实时多任务操作系统(real-timeoperationsystem,rtos)、文件系统、图形用户USB(graphicuserinterface,gui)、网络系统及通用型组件模块共同组成。

rtos就是嵌入式应用软件的基础和研发平台。

功能层主要由实现某种或某几项任务而被开发运行于操作系统上的程序组成。

一个嵌入式系统装置通常都由嵌入式计算机系统和继续执行装置共同组成,而嵌入式计算机系统就是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层共同组成。

继续执行装置也称作被控对象,它可以拒绝接受嵌入式计算机系统收到的掌控命令,继续执行所规定的操作方式或任务。

本网关硬件环境以单片机s3c2440芯片和dm9000以太网控制芯片为主,实现rj45接口和rs232接口的数据传输。

内容包括硬件环境的初始化,数据的收发控制,封包解包设计,操作系统的移植等。

硬件框图就是直观的将每个功能模块列举,也就是一个基本的模块女团,可以简约的每个模块的功能彰显出。

嵌入式系统开发试题库+答案

嵌入式系统开发试题库+答案

嵌入式系统开发试题库+答案一、单选题(共90题,每题1分,共90分)1、交叉编译器软件属于嵌入式系统的()。

A、应用软件B、支撑软件C、系统软件正确答案:B2、字符设备是指数据处理以()为单位,并按顺序进行访问的设备。

A、网络B、字节C、块正确答案:B3、在嵌入式系统设计中,进行硬件版图设计是在进行()时完成A、需求分析B、系统集成C、软硬件设计正确答案:C4、()(Cross Developing)的模式是指:开发系统在PC机(一般称为宿主机或host)上,即完成软件的编辑、编译、链接等工作;软件的运行是在嵌入式设备(一般称为目标机或target)上。

A、交叉开发B、交叉编译C、交叉编辑正确答案:A5、μC/OS-II结构小巧,最小内核可编译至(),即使包含全部功能如信号量、消息邮箱、消息队列及相关函数等A、2KB、4MC、8G正确答案:A6、静态申请分配主设备号是由()分配A、内核B、外核C、人工正确答案:C7、嵌入式系统是以应用为中心,以()为基础A、计算机技术B、硬件C、软件正确答案:A8、以下那一个是字符设备注册函数A、register_chrdevB、request_irqC、unregister_chrdev正确答案:A9、在Linux中,哪个函数用于将设备驱动程序注册到内核中?A、register_chrdev()B、register_driver()C、register_device()正确答案:A10、软件的()和软件的性能通常是矛盾的,通常以损失某些特性情况下的优化性能为代价。

A、通用性B、适应性C、复杂性正确答案:A11、()是指把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进设计过程中的错误。

A、系统集成B、系统测试C、集成正确答案:A12、比较典型的是将Flash分成()个分区,分别用于保存引导程序(BootLoader)、启动参数、系统内核、根文件系统和应用程序等,A、5B、6C、7正确答案:A13、S3C2410X有()个外部中断源。

嵌入式系统期末考试试题库和答案解析

嵌入式系统期末考试试题库和答案解析

嵌入式系统期末考试试题库和答案解析《嵌入式系统》试题库一、填空题1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。

3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。

4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。

5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。

6、需求分析包括:功能性需求分析和非功能性需求分析。

7、确定输入信号是数字信号还是模拟信号属于功能性需求。

8、确定系统的物理尺寸和重量属于非功能性需求。

9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。

10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。

11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。

12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。

13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。

14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。

15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。

16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。

17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需求分析、规格说明和体系结构设计)和系统调试。

18、设计流程指的是设计过程中所经历的过程步骤。

19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。

20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。

21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和数字信号处理器(DSP)。

嵌入式系统发展与应用

嵌入式系统发展与应用

嵌入式系统发展与应用引言不论是日常生活中经常使用的家庭自动化产品、家用电器、手提电话、自动柜员机(ATM),还是各行各业的办公设备、现代化医疗设备、航空电子、计算机网络设备、用于工业自动化和监测的可编程逻辑控制器(PLC),甚至是娱乐设备的固定游戏机和便携式游戏机等都属于嵌入式系统。

嵌入式系统始于微型机时代的嵌入式应用,通过将微型机嵌入到一个对象体系中,实现对象系统的智能化控制。

随着科技的不断发展,在单片机时代,嵌入式系统以器件形态迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化。

而后,随着后PC时代的到来,网络、通信技术得以发展;同时,嵌入式系统软、硬件技术有了很大的提升,形成了基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入式底层应用的计算机应用模式。

1嵌入式系统的概念与发展1.1 嵌入式系统的概念嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等4个部分组成,它是集软硬件于一体的可独立工作的“器件”。

它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。

1.2 嵌入式系统发展纵观嵌入式系统的发展历程,大致经历了以下四个阶段:(1)无操作系统阶段嵌入式系统最初的应用是基于单片机的,大多以可编程控制器的形式出现,具有监测、伺服、设备指示等功能通常应用于各类工业控制和飞机、导弹等武器装备中,一般没有操作系统的支持,只能通过汇编语言对系统进行直接控制,运行结束后再清除内存。

这些装置虽然已经初步具备了嵌入式的应用特点,但仅仅只是使用8位的CPU芯片来执行一些单线程的程序,因此严格地说还谈不上系统的概念。

这一阶段嵌入式系统的主要特点是:系统结构和功能相对单一,处理效率较低,存储容量较小,几乎没有用户接口。

嵌入式系统期末考试题库及答案

嵌入式系统期末考试题库及答案

《嵌入式系统》试题库一、填空题1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。

3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。

4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。

5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。

6、需求分析包括:功能性需求分析和非功能性需求分析。

7、确定输入信号是数字信号还是模拟信号属于功能性需求。

8、确定系统的物理尺寸和重量属于非功能性需求。

9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。

10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。

11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。

12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。

13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。

14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。

15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。

16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。

17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需求分析、规格说明和体系结构设计)和系统调试。

18、设计流程指的是设计过程中所经历的过程步骤。

19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。

20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。

21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和数字信号处理器(DSP)。

嵌入式系统的组成

嵌入式系统的组成

1.1.2 嵌入式系统的组成嵌入式系统由硬件和软件两大部分组成,硬件一般由高性能微处理器和外围接口电路组成,软件一般由操作系统和应用程序构成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)连接。

嵌入式系统的硬件有:嵌入式微处理器、存储器、输入输出(I/O、A/D、D/A)。

嵌入式系统的软件有:操作系统、应用软件。

操作系统是连接计算机硬件与应用程序的系统程序。

嵌入式操作系统可以分为实时操作系统和分时操作系统两类。

实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。

实时操作系统的首要任务是调度一切可利用的资源完成实时控制任务;其次才着眼于提高计算机系统的使用效率,其重要特点是通过任务调度来满足对于重要时间在规定的时间内做出正确的响应。

分时操作系统,软件在时间上的执行并不严格,时间上的延误或者时序上的错误,一般不会造成灾难性后果。

嵌入式系统从组织层次上看,嵌入式系统一般由硬件层、中间层、软件层和功能层组成。

(1)硬件层硬件层由嵌入式微处理器、存储器系统、通用设备接口和I/O接口(A/D、D/A、I/O等)组成。

在一片嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路(ROM和RAM 等),就构成了一个嵌入式核心控制模块。

其中操作系统和应用程序都可以固化在ROM中。

(2)中间层硬件层和软件层之间为中间层,也称为硬件抽象层HAL和板级支持包BSP,它把系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关,一般应具有相关硬件的初始化、数据的输入/输出操作和硬件设备的配置功能。

(3)软件层软件层由实时多任务操作系统RTOS、文件系统、图形用户接口GUI、网络系统及通用组件模块组成。

(4)功能层功能层由基于RTOS开发的应用程序组成,用来完成对被控对象的控制功能。

功能层是面向被控对象和用户的。

在专用的嵌入式板子上面运行GNU/Linux系统已经变得越来越流行。

一个嵌入式Linux 系统从软件的角度看通常可以分为四个层次:(1)引导加载程序。

嵌入式系统开发模拟试题(附参考答案)

嵌入式系统开发模拟试题(附参考答案)

嵌入式系统开发模拟试题(附参考答案)一、单选题(共100题,每题1分,共100分)1、共享型函数库(动态链接库)的后缀为()A、aB、cC、so正确答案:C2、关于嵌入式系统,以下说法不正确的是()A、主要应用于控制领域,兼顾数据处理B、主要用于数据处理,兼顾控制领域C、嵌入式系统功耗低正确答案:B3、下面交互设备常由嵌入式系统采用的是()A、以上都是B、小键盘C、按钮D、触摸屏正确答案:A4、A/D是将()转换成数字信号的意思。

A、模拟信号B、虚拟信号C、物理信号正确答案:A5、嵌入式系统的实时性可分为软实时性和()。

A、硬实时性B、截止时限C、软实时性正确答案:A6、Linux I/O 操作默认是:A、同步非阻塞模式B、同步阻塞模式C、异步阻塞模式正确答案:B7、()(GNU C Compiler的简称)是一组编译工具的总称,主要任务是预处理和编译,并且提供与编译器相关的运行库的支持。

A、GCCB、abcC、GDD正确答案:A8、μC/OS-II是一个()、源码开放、结构小巧、抢占式的实时多任务内核,主要面向中小型嵌入式系统,具有执行效率高、占用空间小、()、实时性能优良和可扩展性强等特点。

A、可裁剪,可移植性强B、可裁剪,可移植性弱C、不可裁剪,可移植性强正确答案:A9、当()进行时,可移植性是要重点考虑的问题A、数学建模B、嵌入式软件开发C、电路设计正确答案:B10、以下那个选项不是驱动程序的组成()。

A、终端服务子程序B、自动配置和初始化子程序C、服务于I/O接口的子程序正确答案:A11、vivi(下载模式)启动Linux核心的命令是()。

A、bootB、partC、load正确答案:A12、不属于字符设备的是()A、简单按键B、U盘C、触摸屏正确答案:B13、设计软件子系统:软件总体设计、()设计。

A、函数设计B、硬件总体C、模块设计正确答案:C14、交叉()是指:在宿主机上进行软件编辑、编译、链接等,并生成能够在目标机上运行的可执行程序的过程。

计算机三级嵌入式系统开发技术机试模拟题2019年(2)_真题-无答案

计算机三级嵌入式系统开发技术机试模拟题2019年(2)_真题-无答案

计算机三级(嵌入式系统开发技术)机试模拟题2019年(2)(总分100,考试时间120分钟)选择题1. 下面是关于嵌入式系统的叙述,其中错误的是( )。

A. 嵌入式系统是嵌入式计算机系统的简称B. 从应用角度来说,嵌入式系统可以理解为是一种控制、监视或协助设备、机器、工厂运行的装置C. 随着技术的进步和应用的拓展,嵌入式系统的内涵也还在发展和变化D. 人们日常使用的通用计算机(如个人计算机)是一种典型的嵌入式系统2. 下面关于嵌入式系统的叙述中,错误的是( )。

A. 嵌入式系统与具体应用紧密结合,具有很强的专用性B. GPS导航仪、数码相机等设备是嵌入式系统的典型应用C. 汽车、数控机床中的嵌入式系统要求具有很高的可靠性D. 嵌入式系统中的软件一般存放在硬盘中,用户可以方便地变更系统中的软件3. 下面关于嵌入式系统组成的叙述中,错误的是( )。

A. 嵌入式系统由硬件和软件两部分组成B. 嵌入式系统一般只能包含一个处理器,不采用多处理器组成系统C. 嵌入式系统中的存储器用于存储程序和数据D. 数据总线是嵌入式系统中各组件之间进行数据传输的一个传输通路4. 下面关于嵌入式处理芯片特点的叙述中,错误的是( )。

A. 嵌入式处理芯片一般支持实时处理B. 嵌入式处理芯片一般具有低功耗的特性C. 嵌入式处理芯片有多种产品类型,但不包括微处理器D. 嵌入式处理芯片一般集成了测试电路5. 下列各项中,不属于静态图像格式的是( )。

A. BMPB. APEC. JPEGD. GIF6. 下列术语中,并非用于描述数字图像参数的是( )。

A. 位平面数目B. 图像分辨率C. 像素深度D. 量化位数7. 下列关于数字媒体的描述中,不正确的是( )。

A. W A V是未经压缩的数字音频,其音质与CD相当B. 字符的形状用点阵法描述时,应在字型库中记录每一直线和曲线的端点及控制点的坐标C. UTF一8采用的是单字节可变长编码D. 数字视频的数据量可压缩几十倍甚至几百倍8. 下面关于通信的说法中,错误的是( )。

嵌入式复习题-名词解释

嵌入式复习题-名词解释

嵌⼊式复习题-名词解释名词解释1.RISC:(Reduced Instruction Set Computer),精简指令集计算机。

它提⾼了微处理器的效率,但需要更复杂的外部程序。

RISC的最⼤特点是指令长度固定,指令格式种类少,寻址⽅式种类少,⼤多数是简单指令并都能在⼀个时钟周期内完成,易于设计超标量与流⽔线,寄存器数量多,⼤量操作在寄存器之间进⾏。

2.分时操作系统:把计算机与许多终端⽤户连接起来,分时操作系统将系统处理机时间与内存空间按⼀定的时间间隔,轮流地切换给各终端⽤户的程序使⽤。

由于时间间隔很短,每个⽤户的感觉就像他独占计算机⼀样。

分时操作系统的特点是可有效增加资源的使⽤率。

3.DSP:(Digital Signal Processor),数字信号处理器,⼀种特别⽤于快速处理数字信号的微处理器。

DSP处理器对系统结构和指令进⾏了特殊设计,使其适合于执⾏DSP算法,编译效率较⾼,指令执⾏速度也较⾼。

4.内核:内核是操作系统最基本的部分。

它是为众多应⽤程序提供对计算机硬件的安全访问的⼀部分软件,这种访问是有限的,并且内核决定⼀个程序在什么时候对某部分硬件操作多长时间。

5.临界区:在多任务系统中,每个进程中访问临界资源的那段代码称为临界区(CriticalSection)。

每次只准许⼀个进程进⼊临界区,进⼊后不允许其他进程进⼊。

不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对它进⾏访问。

即处理时不可分割的代码,运⾏时这些代码不允许被打断。

6.设备驱动程序:操作硬件的⼀组函数,提供给操作系统调⽤,是操作系统和硬件的接⼝函数。

7.BSP:板级⽀持包(board support package)的简称。

它是介于硬件和操作系统之间的⼀层软件。

为操作系统提供硬件接⼝,使操作系统具有可移植性。

并且初始化硬件,驱动外设。

8.软件⽣存周期:软件的产⽣直到报废的⽣存周期,周期内有问题定义、可⾏性分析、总体描述、系统设计、编码、调试和测试、验收与运⾏、维护升级到废弃等阶段,这种按时间分程的思想⽅法是软件⼯程中的⼀种思想原则,即按部就班、逐步推进,每个阶段都要有定义、⼯作、审查、形成⽂档以供交流或备查,以提⾼软件的质量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、嵌入式系统的概念着重理解“嵌入”的概念主要从三个方面上来理解。

1、从硬件上,将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控制器,但其种意义上就相当于显卡。

比较高端的ARM类Intel Xscale架构下的IXP网络处理器CPU内部集成PCI控制器(可配成支持4个PCI从设备或配成自身为CPI从设备);还集成3个NPE 网络处理器引擎,其中两个对应于两个MAC地址,可用于网关交换用,而另外一个NPE网络处理器引擎支持DSL,只要外面再加个PHY芯片即可以实现DSL 上网功能。

IXP系列最高主频可以达到1.8G,支持2G内存,1G×10或10G×1的以太网口或Febre channel的光通道。

IXP系列应该是目标基于ARM体系统结构下由intel进行整合后成Xscale内核的最高的处理器了。

2、从软件上前,就是在定制操作系统内核里将应用一并选入,编译后将内核下载到ROM中。

而在定制操作系统内核时所选择的应用程序组件就是完成了软件的“嵌入”,比如WinCE在内核定制时,会有相应选择,其中就是wordpad,PDF,MediaPlay等等选择,如果我们选择了,在CE启动后,就可以在界面中找到这些东西,如果是以前PC上将的windows操作系统,多半的东西都需要我们得新再装。

3、把软件内核或应用文件系统等东西烧到嵌入式系统硬件平台中的ROM中就实现了一个真正的“嵌入”。

以上的定义是我在6、7年前给嵌入式系统下自话侧重于理解型的定义,书上的定义也有很多,但在这个领域范围内,谁都不敢说自己的定义是十分确切的,包括那些专家学者们,历为毕竟嵌入式系统是计算机范畴下的一门综合性学科二、嵌入式系统的分层与专业的分类。

嵌入式系统分为4层,硬件层、驱动层、操作系统层和应用层。

1、硬件层,是整个嵌入式系统的根本,如果现在单片机及接口这块很熟悉,并且能用C和汇编语言来编程的话,从嵌入式系统的硬件层走起来相对容易,硬件层也是驱动层的基础,一个优秀的驱动工程师是要能够看懂硬件的电路图和自行完成CPLD的逻辑设计的,同时还要对操作系统内核及其调度性相当的熟悉的。

但硬件平台是基础,增值还要靠软件。

硬件层比较适合于,电子、通信、自动化、机电一体、信息工程类专业的人来搞,需要掌握的专业基础知识有,单片机原理及接口技术、微机原理及接口技术、C语言。

2、驱动层,这部分比较难,驱动工程师不仅要能看懂电路图还要能对操作系统内核十分的精通,以便其所写的驱动程序在系统调用时,不会独占操作系统时间片,而导至其它任务不能动行,不懂操作系统内核架构和实时调度性,没有良好的驱动编写风格,按大多数书上所说添加的驱动的方式,很多人都能做到,但可能连个初级的驱动工程师的水平都达不到,这样所写的驱动在应用调用时就如同windows下我们打开一个程序运行后,再打开一个程序时,要不就是中断以前的程序,要不就是等上一会才能运行后来打开的程序。

想做个好的驱动人员没有三、四年功底,操作系统内核不研究上几编,不是太容易成功的,但其工资在嵌入式系统四层中可是最高的。

驱动层比较适合于电子、通信、自动化、机电一体、信息工程类专业尤其是计算机偏体系结构类专业的人来搞,除硬件层所具备的基础学科外,还要对数据结构与算法、操作系统原理、编译原理都要十分精通了解。

3、操作系统层,对于操作系统层目前可能只能说是简单的移植,而很少有人来自已写操作系统,或者写出缺胳膊少腿的操作系统来,这部分工作大都由驱动工程师来完成。

操作系统是负责系统任务的调试、磁盘和文件的管理,而嵌入式系统的实时性十分重要。

据说,XP操作系统是微软投入300人用两年时间才搞定的,总时工时是600人年,中科院软件所自己的女娲Hopen操作系统估计也得花遇几百人年才能搞定。

因此这部分工作相对来讲没有太大意义。

4、应用层,相对来讲较为容易的,如果会在windows下如何进行编程接口函数调用,到操作系统下只是编译和开发环境有相应的变化而已。

如果涉及Jave 方面的编程也是如此的。

嵌入式系统中涉及算法的由专业算法的人来处理的,不必归结到嵌入式系统范畴内。

但如果涉及嵌入式系统下面嵌入式数据库、基于嵌入式系统的网络编程和基于某此应用层面的协议应用开发(比如基于SIP、H.323、Astrisk)方面又较为复杂,并且有难度了。

三、目标与定位。

先有目标,再去定位。

学ARM,从硬件上讲,一方面就是学习接口电路设计,另一方面就是学习汇编和C语言的板级编程。

如果从软件上讲,就是要学习基于ARM处理器的操作系统层面的驱动、移植了。

这些对于初学都来说必须明确,要么从硬件着手开始学,要么从操作系统的熟悉到应用开始学,但不管学什么,只要不是纯的操作系统级以上基于API的应用层的编程,硬件的寄存器类的东西还是要能看懂的,基于板级的汇编和C编程还是要会的。

因此针对于嵌入式系统的硬件层和驱动程的人,ARM的接口电路设计、ARM的C语言和汇编语言编程及调试开发环境还是需要掌握的。

因此对于初学者必然要把握住方向,自己的目标是什么,自己要在那一层面上走。

然后再着手学习较好,与ARM相关的嵌入式系统的较为实际的两个层面硬件层和驱动层,不管学好了那一层都会很有前途的。

如果想从嵌入式系统的应用层面的走的话,可能与ARM及其它体系相去较远,要着重研究基嵌入式操作系统的环境应用与相应开发工具链,比如WinCe操作系统下的EVC应用开发(与windows下的VC相类似),如果想再有突破就往某些音视频类的协议上靠,比如VOIP领域的基于SIP或H.323协议的应用层开发,或是基于嵌入式网络数据库的开发等等。

对于初学者来讲,要量力而行,不要认为驱动层工资高就把它当成方向了,要结合自身特点,嵌入式系统四个层面上那个层面上来讲都是有高人存在,当然高人也对应的高工资,我是做硬件层的,以前每月工资中个人所得税要被扣上近3千大元,当然我一方面充当工程师的角色,一方面充当主管及人物的角色,两个职位我一个人干,但上班时间就那些。

硬件这方面上可能与我PK的人很少了,才让我拿到那么多的工资。

四、开发系统选择。

很多ARM初学者都希望有一套自己能用的系统,但他们住住会产生一种错误认识就是认为处理器版本越高、性能越高越好,就象很多人认为ARM9与ARM7好,我想对于初学者在此方面以此入门还应该理智,开发系统的选择最终要看自己往嵌入式系统的那个方向上走,是做驱动开发还是应用,还是做嵌入式系统硬件层设计与板级测试。

如果想从操作系统层面或应用层面上走,不管是驱动还是应用,那当然处理器性能越高越好了,但这个东西自学,有十分大的困难,不是几个月或半年或是一年二年能搞定的事。

在某种意义上请,ARM7与9的差别就是在某些功能指令集上丰富了些,主频提高一些而已,就比如286和386。

对于用户来讲可能觉查不到什么,只能是感觉速度有些快而已。

ARM7比较适合于那些想从硬件层面上走的人,因为ARM7系列处理器内部带MMU的很少,而且比较好控制,就比如S3C44B0来讲,可以很容易将Cache 关了,而且内部接口寄存器很容易看明白,各种接口对于用硬件程序控制或AXD 单步命令行指令都可以控制起来,基于51单片机的思想很容易能把他搞懂,就当成个32位的单片机,从而消除很多51工程师想转为嵌入式系统硬件ARM开发工程师的困惑,从而不会被业界某此不是真正懂嵌入式烂公司带到操作系统层面上去,让他们望而失畏,让业界更加缺少这方面的人才。

而嵌入式系统不管硬件设计还是软件驱动方面都是十分注重接口这部分的,选择平台还要考察一个处理器的外部资源,你接触外部资源越多,越熟悉他们那你以后就业成功的机率就越高,这就是招聘时所说的有无“相关技能”,因为一个人不可能在短短几年内把所有的处理器都接触一遍,而招聘单位所用的处理器就可能是我们完全没有见过的,就拿台湾数十家小公司(市价几千万)的公司生产的ARM类处理器,也很好用,但这些东西通用性太差,用这些处理器的公司就只能招有相关工作经验的人了,那什么是相关工作经验,在硬件上讲的是外围接口设计,在软件上讲是操作系统方面相关接口驱动及应用开发经验。

我从业近十年,2000年ARM出现,我一天始做ARM7,然后直接跑到了Xscale(这个板本在ARM10-11之间),一做就是五年,招人面试都不下数百人,在这些方面还是深有体会的。

我个人认为三星的S3C44b0对初学者来说比较合适,为什么这么说哪?因为接口资源比较丰富,技术成熟,资料较多,应该十分适合于初学者,有问题可能很容易找人帮且解决,因为大多数人都很熟悉,就如同51类的单片机,有N多位专家级的人物可以给你帮忙,相关问题得以很快解答,所然业界认为这款ARM 都做用得烂了,但对于初学者来,就却是件好事。

因此开发系统的选择,要看自己的未来从来目标方向、要看开发板接口资源、还要看业界的通用性。

五、如何看待培训。

首先说说我自己,我目前从业近十年,与国内嵌入式系统行业共同起步,一直站在嵌入式系统行业前沿,设计过多款高端嵌入式系统平台产品并为众多公司提供过解决方案,离职前为从事VOIP的美资公司设计IP-PBX,历任项目经理、项目主管、技术总监、部门经理,积累众多人脉,并集多年经验所得,考虑到学生就业与公司招人的不相匹配,公司想招人招不到,而学生和刚毕业的工程师想找份工作也不太容易,于此力创知天行科技有限公司,开展嵌入式系统教育培训。

因一线的科研人员和一线的教师不相接触,导至国内嵌入式人才缺乏,国外高校的技术超前于业界公司,而国内情况是业界公司方面的嵌入式系统技术要远远领先于高校。

为架构业界与高校沟通的桥梁,把先进技能带给高校学子,为学生在就业竞争中打造一张王牌,并为业界工程师快速提升实现自我创造机遇,我就这样辞去了外企年薪20多万的职位,做嵌入式系统方面的培训了。

对于培训来讲,是花钱来买时间,很多工程师都喜欢自己学,认为培训不值,这也是有可能的,纯为赚钱的培训当然不会太有价值,但对于实力型的培训他们可能就亏大了,有这样一笔帐不知他们算过没有,如果一个一周的培训,能带给他们自学两年后才能掌握的知识,在培训完后他们用三个月到半年时间消化培训内容,这样他会省约至少一年半的时间来学其它的或重新站在另一个高度上工作,那么他将最迟一年后会拿到他两年后水平所对应的工资,就是在工资与水平对应的关系上比同批人缩短一年,每月按最少1千计,再减去培训费用至少多1.0万,同时也省了一年时间,不管是休闲也好,再继续提高也好,总之是跑到了队伍的前面了。

相关文档
最新文档