嵌入式系统考试题库

2024-09-28

嵌入式系统考试题库(通用8篇)

嵌入式系统考试题库 篇1

Liunx系统移植的步骤:

1、开发环境的搭建

2、系统引导

3、内核引导

3、设备驱动程序

4、文件系统 Bootloader自举程序

因为嵌入式系统的开发,没有足够的资源在本机上运行开发工具和调试工具,所以很难在嵌入式系统的硬件平台上进行软件开发。通常的嵌入式系统的软件开发采用一种交叉的开发的方式.TARGET就是目标机,HOST是开发机(宿主机)。在开发主机上,可以安装开发工具,编辑,编译目标板的Liunx引导程序,内核和文件系统,然后在目标板上运行。

Gcc编译器

gcc的基本用

gcc[options][filenames] gcc的执行过程

1、预处理

2、编译

3、汇编

4、链接

Make工具通过makefile的文件来完成并自动维护编译工作。要使用make,首先要创建makefile文件。

makefile基本结构

1)需要有make工具创建的项目,通常是目标文件和可执行文件; 2)要创建的项目所依赖的文件; 3)创建每个项目时需要运行的命令;

Makefile变量

GNU的make工具除了提供建立目标的基本功能之外,还有许多便于表达依赖性关系以及建立目标命令的特色,其中之一就是变量或宏的定义能力。如果用户要以相同的编译选项同时编译多个C源文件,且为了每个目标的编译指定冗长的编译选项的话,利用简单的变量定义,可简化makefile文件,避免这种乏味的工作。

隐含规则

隐含规则是指由make自定义的规则,这些规则定义了如何从不同的依赖文件建立特定类型的目标。

构建交叉编译环境的3种方法;

1)分步编译和安装交叉编译环境所需要的库和源代码,最终生成交叉编译环境。2)通过Crosstool脚本工具来实现一次编译生成交叉编译环境。

3)使用开发平台供应商提供的开发环境安装套件建立交叉编译环境,这是最常用的方法!

建立交叉编译环境的过程可以划分的步骤: 1)做好准备工作,包括下载工具源码包和补丁,准备内核头文件,创建工作目录等;

2)编译,安装; 3)编译辅助编译器;

4)建立glibc库,这里要使用交叉编译工具链。

5)编译生成完整的编译器,重新配置gcc功能,使其支持c、c++等语言; 内核分类:进程管理、内存管理、文件系统、设备控制和网络; 嵌入式Linux内核裁剪方法

一方面是针对硬件特点对源代码的修改,另一方面是功能模块的裁剪。内核功能裁剪的方法

1)使用linux自身的配置工具,编译定制内核; 2)修改内核源代码,进行内核裁剪; 3)基于系统调用关系,进行内核裁剪; 内核定制过程:

增加新的内核组建——配置内核——生成内核——装载内核 内核编译及装载3步

1、执行#make dep 命令,正确设置编译内核所需的附属文件,进行依赖性编译;

2、执行#make clean 命令,清除以前构造内核时产生的所有目标文件,模块文件和一些临时文件;

3、执行#make zlmage命令,生成可执行内核映像文件; 对设备如何管理

将所有的设备看作具体的文件,通过文件系统层对设备进行访问。和设备相关的2个层次——文件系统层和设备驱动层;

模块就是一个已编译但未连接的可执行文件,利用这种机制,我们可以根据需要,再不重新编译内核的情况下,将编译好的模块动态地插入运行中的内核,或者将内核中已经存在的某个模块移走。

设备类型:字符设备、块设备、网络设备;

嵌入式系统考试题库 篇2

智能系统:下一个机遇

从能够识别驾驶员的汽车, 到能够实现客流量统计的数字安全监控系统, 以及能够无缝安全地与现有企业和通信基础架构集成的智能网络, 甚至于具备社交功能的健身设备, 具有计算体验的智能设备如今已是无处不在。

英特尔中国区智能系统事业部曾明总监指出, 智能系统必须具备三大要素:互联性、安全性和可管理性。它们可以自主地连接互联网、执行本地或基于云的应用以及对所收集的数据进行分析。这意味着, 传统的嵌入式系统必须采用包括微处理器、图形处理器和硬件加速器等在内的高性能与高度可编程异构架构, 将所有这些都集成至一个系统芯片 (So C) 当中。

传统的嵌入式系统向智能系统的转变, 为整个电子行业带来了前所未有的发展机遇。据市场调查公司IDC预测, 从2011年到2016年, 全球智能系统设备的数量将从230亿台激增至460亿台, 行业总体收入将从1.3万亿美元攀升至2.3万亿美元。2016年, 智能系统设备的出货量将占所有出货电子系统设备的37.1%以上。

在这种转变过程中, 可以发现几个关键的发展趋势。第一, 传统的嵌入式系统将获得类似于PC、服务器、智能手机和平板电脑等通用系统所具备的智能性, 而智能系统在未来的发展速度将远远超过这些通用系统。第二, 这种转变将成为不可阻挡的潮流。自然友好的用户界面、安全技术和传感器技术将变得至关重要, 将确保用户在智能设备上也能够获得在PC和智能手机上一致的消费电子和计算体验。第三, 这种转变的实现有赖于大规模的跨行业协作。第四, 功能日益强大的处理器将满足智能网络不断增长的需求, 能够同时满足物理端口和虚拟机的计算需求。第五, 随着大量移动设备被连接至互联网和云中, 企业和服务提供商网络的安全性问题将日益凸显, 这将是未来向更加智能系统迁移的关键因素。

体验推动智能系统发展

各行业不断变化的用户需求, 是推动智能系统在更加广泛的领域应用的内在驱动力。以数字标牌和英特尔公司为例, 英特尔智能系统事业部数字标牌市场营销全球总监Raj Maini称, 现代智能互动数字标牌能够带给消费者沉浸式的体验、互动性, 同时保证匿名性。这些对计算能力的要求较高。英特尔在此的贡献是:AIM套件及酷睿第三代处理器。数字标牌主要应用在九大垂直行业, 40%是定制的, 鉴于数字标牌的多样性, 英特尔正和中国的厂商合作, 提供交钥匙的软硬件数字标牌方案, 使客户很快上手应用。英特尔还提出了OPS (开放式可插接规范) , 使不同的厂商播放器模块/板卡能够接入到不同规格的平板显示器上, 受到了很多面板生产商和硬件厂家的支持, 例如, 国内最大的主板厂商——深圳智微智能科技公司的副总经理刘迪科称, 已经有50家以上的电视厂家、数字标牌厂家的产品带OPS接口。

从智能标牌的出现及发展可见, 良好的用户体验, 是智能系统时代的动力之源。

参考文献

[1]王莹.2015年, 中国的数字标牌将占全球40%. (2012-7-18) .http://www.eepw.com.cn/article/134757.htm

嵌入式系统考试题库 篇3

关键词:嵌入式系统 课程 考试改革

一、课程现状

《嵌入式系统》课程是高职院校电类专业开设的一门重要的专业课程,一般開设于最后一学年。该课程涉及到电子、计算机、网络、通信等众多学科,并将硬件和软件紧密结合,大大增加了课程的综合性和复杂性。该课程不适宜采用传统的期末笔试的考试方式。很多院校通常会采取“课程设计大作业”的方式,预先布置题目,学生课后完成。这种考核方式同样存在很大的弊端。很多学生没有学习压力,最后为了应付考试,直接从网上下载资料,抄袭同学的作业,失去了考核的意义。对于这门涉及交叉学科、软硬件结合、强调动手实践的课程来说,考试方法的改革势在必行。

二、课程内容分析

电类专业的学生有电子电路的基础,但计算机软件和操作系统方面接触不多。因此,一般首先讲解ARM Cortex-M3处理器(如STM32),利用学过单片机课程的条件,对芯片先不移植操作系统,开始仅仅当成高级单片机来使用,将学生单片机课程中的项目移植到STM32系列芯片中来,使学生对嵌入式知识的学习有更好的连贯性。

软件与操作系统方面主要学习uCOS/II,适当降低软件的学习难度。μCOS操作系统是开源的,可以将内核源码作为教学案例,讲解嵌入式操作系统内核的实现机制和原理。同时将前面所做的把STM32当高级单片机使用的项目通过μCOS操作系统的任务来完成,使学生明白操作系统的特点并使后面的学习有继承性。由于课时有限,Windows CE部分作为非重点内容,教师可以只做演示讲解,让学生了解Windows CE操作系统应用程序开发的步骤和应用场合,激发学生进一步学习的热情。

三、考核知识点与考核方法

课程内容及学习知识点因学校专业设置、课程设置以及所用实验平台不同,可能会有些差异。本文在此以所在院校的应用电子技术专业为例分析。在学习和部分考核环节中分组进行,每4人为一组,共分为12组,采取3次月考累计总分的方式。考核知识点分为4个主要部分。

1.基础知识。包括嵌入式系统的基本概念,硬件组成,应用领域,常用的嵌入式处理器及嵌入式OS,操作系统基本概念,嵌入式系统开发流程,所用STM32开发板硬件资源分析,各功能模块使用方法等。

这部分内容采取选择、填空、问答题的方式,教师事先编好题目,存入题库,每次月底在课堂上留下15分钟用于本月所学基础知识的考试。由于这种过程性随堂考试一般只有一位老师监考,为了防止学生互相抄袭,利用电脑的随机抽签软件为每位同学抽题发题。学生在抽签考试过程中既觉得好玩,又感到了压力。

2.硬件电路设计。硬件电路设计主要是考查学生掌握嵌入式系统硬件搭建的能力,比如设计基于STM32F103RBT6的多路温度巡检系统。通过这项考核,熟悉STM32芯片的引脚分布,掌握STM32外围电路设计的方法。对于电子技术专业的学生来说,这部分内容相对容易掌握。有些院校以前主要以应用程序开发为主进行嵌入式系统的考核,这样会大大打击那些电类专业对程序软件开发一筹莫展的同学,不利于他们自信心的提升。实际上嵌入式系统本身是软硬件结合的系统,适当地加强硬件电路设计方面的考核有以利于电类学生的顺利学习。此项考核采取上机绘制电路图的方式,开卷考试,同样利用抽签软件为每位同学抽题发题,每次月底在课堂上留下20分钟用该项目的考试。

3.操作系统的移植。操作系统本身对于高职电类专业的学生并不是研究重点,但基于ARM Cortex-M3核的操作系统移植是基本内容,属于电类学生掌握的重点,比如uCOS/II在STM32上的移植。移植流程和步骤以及需要修改的代码是学生应该掌握的内容。

关于操作系统移植的流程和理论概念在第1部分基础知识考试里都有体现,此项内容的考核主要是检验学生实际动手操作的能力。考核安排在第2、3次月考阶段,能力强的学生安排在第2次月考进行,能力差的学生安排在第3次月考。每个学生只考一次,现场操作,教师巡回检查学生的操作情况,要求每位学生必须都要掌握。

4.应用程序开发和软硬件调试技术。包括裸机应用程序的开发与调试及基于嵌入式OS的应用程序综合调试。这部分内容是课程最主要的部分,也是电类专业学生比较头疼的地方。建议学习和考核分组进行,由组长带领组员共同完成学习任务。3次月考都要安排,考试项目由简到难。利用抽签软件为每组抽题发题,使得组与组之间无法互相抄袭。

对于考试结果的检查,采取现场答辩的方式。每组根据表现情况自己内部先排序,如推选张三为组长,李四为副组长,1号组员、2号组员。规定组长基准得分90分,副组长基准得分80分,1号组员70,2号组员60,具体上下可以各浮动10分,由教师根据现场答辩情况核准。如果推选的组长水平较差,教师最后核准分数仅仅为80分,则副组长基准得分下调到70分左右,以此类推,4人基准分数相差至少10分。这样,如果推选的组长和副组长水平水平太差,可能会导致组员基准分太低而不及格。由于小组同学之间互相比较了解各自的水平,采取这种方式,4人小组会比较公平公正的按能力排好顺序,避免了以往笔试中高分低能的现象发生。这种方式鼓励了小组间同学互相竞争,努力学习,尽力表现,能力差的同学在这种气氛下也能够学到更多的知识。

四、结束语

嵌入式Linux考试习题总结 篇4

1.嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。

2.嵌入式系统的三要素是嵌入、专用、计算机;即以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

3.目前国际较为知名的有:VxWorks、NeutrinoRTOS、Nucleus Plus、OS/

9、VRTX、LynuxOS,RTLinux、BlueCat RT等。

4.嵌入式系统一般由硬件层、中间层、软件层和功能层组成。其作用分别如下:

(1)硬件层 :由嵌入式微处理器、外围电路和外设组成。操作系统和应用程序都可以固化在ROM或者Flash中。为方便使用,有的模块在此基础上增加了LCD、键盘、USB接口,以及其他一些功能的扩展电路。

(2)中间层 :硬件层与软件层之间为中间层,其作用将系统软件与底层硬件部分隔离,使得系统的底层设备驱动程序与硬件无关;

(3)软件层 :主要是操作系统,有的还包括文件系统、图形用户接口和网络系统等。操作系统是一个标准的内核,将中断、I/O、定时器等资源都封装起来,以方便用户使用。(4)功能层 :由基于操作系统开发的应用程序组成,用来完成对被控对象的控制功能。5.非占先式调度法也称作合作型多任务(cooperative multitasking),各个任务彼此合作共享一个CPU。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权。当系统响应时间很重要时,要使用占先式(preemptive)内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪态,当前任务的CPU使用权就被剥夺了。6.在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,这样的系统被称硬实时系统。在弱实时系统中,超时却不会发生致命的错误。其实时性的要求比硬实时系统要差一些。

7.嵌入式系统的设计步骤及各部分的主要工作如下。(1)需求分析阶段,罗列出用户的需求;

(2)体系结构设计阶段,描述系统的功能如何实现;

(3)详细设计阶段,进行硬件系统与软件系统的分类划分,以决定哪些功能用硬件实现,哪些用软件实现;

(4)系统集成,把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进在设计过程中的错误;

(5)系统测试,对设计好的系统进行测试,看其是否满足给定的要求。8.Linux作为嵌入式操作系统的优势主要有以下几点:

(1)可应用于多种硬件平台。

(2)Linux的高度模块化使添加部件非常容易。

(3)Linux是一个和Unix相似、以内核为基础的、具有完全的内存访问控制,支持大量硬件的一种通用操作系统。

(4)Linux可以随意地配置,不需要任何的许可证或商家的合作关系。

(5)Linux带有Unix用户熟悉的完善的开发工具。其强大的语言编译器GCC,C++等也可以很容易得到,不但成熟完善,而且使用方便。9. Linux执行进程调度一般是在以下情况发生的:(1)正在执行的进程运行完毕;

(2)正在执行的进程调用阻塞原语将自己阻塞起来进入等待状态;(3)正在执行的进程调用了P原语操作,从而因资源不足而被阻塞;(4)执行中的进程提出I/O请求后被阻塞;(5)系统分配的时间片已经用完;

(6)就绪队列中的某个进程的优先级变得高于当前运行进程的优先级。

第4章

1、Linux 内核的编译菜单有好几个版本,运行:

(1)make config:进入命令行,可以一行一行的配置,但使用不十分方便。

(2)make menuconfig:大多数开发人员使用的Linux 内核编译菜单,使用方便。

(3)make xconfig:在2.4.X 以及以前版本中xconfig 菜单是基于TCL/TK 的图形库的。

2、在完成内核的裁减之后,内核的编译就只要执行以下几条命令: make clean

编译内核之前先把环境给清理干净。make dep

编译相关依赖文件 make zImage

创建内核镜像文件 make modules 创建内核模块。

make install

把相关文件拷贝到默认的目录。

3、此命令是装载压缩映像文件zImage到flash存储器中,地址是kernel分区,并采用xmodem传输协议。

4、此命令是设置网卡1的地址192.168.1.1,掩码为255.255.255.0,不写netmask参数则默认为255.255.255.0。

5、此命令将nfs服务的共享目录sharedir加载到/mnt/nfs。

6、此命令是装载根文件系统root.cramfs到flash存储器中,地址是根文件系统分区,并采用xmodem传输协议。

7、这个命令的操作同时进行了分区和格式化,0~128K存放vivi,128K~192K存放VIVI控制台指令,192K~1216K存放kernel,1216K~4288K存放root,其余部分存放应用程序。

第6章

1.使用虚拟地址寻址整个系统的主存和辅存的方式在现代操作系统中被称为虚拟内存。虚拟内存的管理方法使系统既可以运行体积比物理内存还要大的应用程序,也可以实现“按需调页”策略,既满足了程序的运行速度,又节约了物理内存空间。2.进程内存区域涉及到5种数据段,即:

①代码段:代码段是用来存放可执行文件的操作指令。

②数据段:数据段用来存放可执行文件中已初始化全局变量。③BSS段:BSS段包含了程序中未初始化的全局变量。④堆(heap):用于存放进程运行中被动态分配的内存段,它的大小并不固定,可动态扩张或缩减。

⑤栈:栈是用户存放程序临时创建的局部变量。3.在Linux系统中,内核在最高级执行,也称为“系统态”,在这一级任何操作都可以执行。而应用程序则执行在最低级,即所谓的“用户态”。在这一级处理器禁止对硬件的直接访问和对内存的未授权访问。模块是在所谓的“内核空间”中运行的,而应用程序则是在“用户空间”中运行的。它们分别引用不同的内存映射,也就是程序代码使用不同的“地址空间”。4.共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。5.内存管理利用虚拟文件系统支持交换,交换进程(swapd)定期由调度程序调度,这也是内存管理依赖于进程调度的唯一原因。当一个进程存取的内存映射被换出时,内存管理向文件系统发出请求,同时,挂起当前正在运行的进程。

第9章

1.参考答案:

Mutex互斥量,用于操作某个临界资源时对该资源上锁,以实现互斥地对独占资源的使用。Semophore信号灯,信号灯内有一计数器,可以用于对多个同类资源的分配。当资源用完时,申请资源的线程会在信号量上睡眠,有线程释放资源时,再将该线程唤醒继续运行。

Condition条件变量,条件变量用于等待信号。当一个线程需要等待某个信号时,就可到条件变量上等待,当信号具备时,系统会唤醒该线程继续运行。2.参考答案:

本地:共享内存+信号量,适合于大量数据传输。Linux支持系统V和POSIX的共享内存和信号量。(5分)

远程:Socket+应用协议。适合于跨网络的(大量)数据传输。Linux支持BSD的socket。应用层协议需要自行设计。(5分)

3.答案要点:程序是编译后形成的可执行代码,是静止的。进程是程序的一次执行,是活动的。线程是进程的可执行单元,同一进程的不同线程共享进程的资源和地址空间。4.两种实现方法,一种是继承Thread,另外一种是实现接口Runnable。

同步的实现方法有两种,分别是synchronized, wait与notify。用synchronized可以对一段代码、一个对象及一个方法进行加锁。用wait与notify可以使对象处于等待及唤醒方式导致同步,因为每个对象都直接或间接的继承了Object类。

5、什么是BootLoader?主要有几种工作模式及主要功能是什么? 答:

Bootloader就是操作系统内核运行的一段小程序,完成进行初始化系统硬件设置的任务,(2分)

分为启动加载模式和下载模式。(1启动加载模式

启动加载(Boot laoding)模式是指 Bootloader 从目标机上的某个固态存储设备上将操作系统加载到 RAM 中运行,整个过程并没有用户的介入。(2分)(2)下载模式

在下载模式下,目标机上的 Bootloader 将先通过串口连接或网络连接等通信手段从宿主机下载文件。(2分)

嵌入式系统复习总结 篇5

一、嵌入式系统的概述

1.嵌入式系统的定义:嵌入到对象中的专业计算机 2.三大特点:嵌入型、专业性、计算机系统 3.组成:软件、硬件

4.结构层次:应用程序、嵌入式系统实时操作系统,硬件抽象层、嵌入式系统硬件工作平台

5.分类:MCU、EMPU、DSP、CPLDFPGA、SoC

二、51单片机

1.单片机的特点:体积小、控制功能强、可靠性高、易扩展易产品化、性能价格比高、需要开发装置

2.51单片机的组成:CPU、64KB数据存储器、4KB程序存储器、两个16位定时计数器、5个中断源、P0~P3 4个并行IO口、4个串行

3存储其结构特点:内、外数据存储器,内、外程序存储器 程序存储器,内外统一编制,地址重合区由EA决定,EA=1访问外部,EA=0访问内部,内部数据存储器:00H~20H由32个寄存器组成,每八个一组,21H~2FH位寻址区,30H~FFH用户存储区,内外存储地址有指令区分MOVSMOV SFR特殊功能寄存器:ACC、B、SP、DPTR、PSW、IO宿存器 4.CPU时序电路:振荡周期(1)、状态周期(2)、机器周期(12)、指令周期、CPU访问指令时两次读指令,访问外部程序存储器是ALE两次有效,S1P2S4P2,4.单片机的引脚功能:PSEN,ALEPROG,EA 5.输入输出口结构:p0准双向口,每位可带8个LSTTTL负载,输出需要上拉电阻(准双向原因:作为输出口,要给锁存器1,屏蔽两个二极管)

p1、p2均为准双向口,带四个负载,p1也需要上拉电阻,p2自带电阻,p2控制信号为1时输出高八位地址 p3每个位有特殊定义 6.单片机的寻址方式:

直接寻址:SFR寻址均为直接寻址

寄存器寻址:乘法指令中B寄存器为寄存器寻 立即数寻址:

寄存器间接寻址:R0,R1 变址寻址:注意PC变址不改变PC值,DPTR变址可以随意到任意位置取数

相对变址寻址:调转指令 位寻址 7.单片机指令:(1)数据传送类指令:MOVMOVXMOVC,XCHXCHDSWAP,PUSHPOP(2)数据传送类指令:

ADDADDCINC,SUBBDEC,MUL(低位A,高位B),DIV(商A,余数B)

(3)逻辑类指令:

ANL,ORL,XRL, RL,RR,RLC,RRC, CPL(按位取反),CLR(请位)

(4)转移类指令

AJMP,LJMP,SJMP,JMP.JZ.JNZ,CJNE,CJE,DJNZ(5)位转移指令

JC rel ;若CY=1,则PC ←PC+ 2 + rel ;若CY=0,则PC ←PC+ 2 JNC rel ;若CY=0,则PC ←PC+ 2 + rel ;若CY=1,则PC ←PC+ 2 JB bit,rel ;若(bit)=1,则PC ←PC+ 3 + rel ;若(bit)=0,则PC ←PC+ 3 JNB bit,rel ;若(bit)=0,则PC ←PC+ 3 + rel ;若(bit)=1,则PC ←PC+ 3 JBC bit,rel ;若(bit)=1,则PC ←PC+ 3 + rel,bit←0 ;若(bit)=0,则PC ←PC+ 3 8.程序设计:

冒泡法,BCD转2进制,2进制转BCD,ASCALL转2进制 9.伪指令:ORG,EQU 10.中断系统

两个外部中断INT0、1,两个定时器中断TI0、TI1,串口中断

中断系统的组成:TCON,SCON,IE,IP

中断响应的条件:

有中断请求; EA=1;

IE相应的中断位为1;CPU执行指令最后一个周期;

CPU没有执行同级或者更高级的中断指令; CPU不执行RET,RETI或者读取IEIP的指令

中断响应的过程:

①置位相应的优先级状态触发器,清除相应的中断请求标志(TI和RI除外);

②由硬件自动生成一条长调用指令LCALL,将断点地址(当前PC值)压入堆栈加以保护;

③将中断入口地址装入PC,使程序转向执行中断服务程序。中断响应时间为3~8个机器周期

中断相应返回时: 将优先状态触发器置0; 将返回地址送至PC返回

定时器中断自动清除标志位 外部中断:

(1)电平触发外部清除,或者软件清除(2)边缘触发自动清除 串行口中断软件清除

10.定时器中断:TCON,80H设置(T0低位,T1高位)

工作方式0:13位计数TH位高八位TL低五位表示低五位,工作方式1:16位计数

工作方式2:8位计数,TL方初值,TH计数

工作方式3: TL0不变可做定时计数,用T0的一套,TH0只能定时用T1的一套。T1为方式3时不工作 11.利用定时中断溢出编程

(1)产生方波信号(方波信号的嵌套)

①设置TMOD控制字,确定工作方式;

②计算计数初值并装入计数值寄存器TH0(1)、TL0(1); ③若使用中断系统,则开中断EA=

1、ET0或ET1=1; ④启动定时器/计数器工作(置TR0或TR1)。(2)外部中断的扩展(查询方式,将初值设置为最大)

禁止中断;JBC 12.串行口波特率的计算

方式0:固有频率的12分之一

方式1、3:与三相同与T

1fOSC2SMOD的益处时间有关 32122nx 方式2:固有频率的64分之一

三、ARM单片机

(1)两种工作状态:ARM状态(32位)、THUM状态(16位)

工作状态的切换:BX RN 寄存器最后一位是0切换ABM状态,最后一位是1切换到THUM状态

(2)七种工作模式:用户模式、系统模式、管理模式、外部中断模式、快速中断模式、未定义指令模式、数据访问中止模式

后五个属于“异常模式”,后六属于“特权模式”

(3)ARM7的流水式作业:取指——译码——执行

采用冯诺依曼存储结构 ARM9流水式作业:取指——译码——执行——访存——回写 采用哈佛结构

(4)存储其结构(37个寄存器)

31个通用寄存器、6个标志位寄存器 1.R0~R7八个通用寄存器(7种模式通用)2.R8~R12前六种公用,最后一种自己用一组 3.R13:堆栈指针

R14:子程序连接寄存器(子程序调用时自动将下一条地址送给R14),这两个寄存器用户模式、系统模式公用一组,异常模式每种各一组 4.R15,:PC计数器

5.CPSR:程序状态寄存器 N.V.C.Z.Q.I.F.T.M4~M0 6.SPSR:程序状态备用寄存器,调用子程序将当前CPSR复制给SPSR,用户模式与系统模式没有,异常模式每种一组。

(5)存储类型;

数据类型三种:8位字节、16位半字、32位字

指令类型:16位THUM、32位ARM 大端格式:与正常存储方式相反

小端格式:高字节对应高地址,低字节对应低地址(6)多级存储形式:寄存器组、片上RAM、CASHE、主存储器

(7)异常:(其中异常模式类似于中断)1.种类:按优先级排列

复位、数据中止、FIQ、IRQ、指令预取终止、未定义指令终止、SWI(软件中止)2.异常的相应过程:

保护返回地址:将下一条地址复制到LR子程序连接寄存器中;

保护当前状态寄存器的值:复制CPSR至将要执行模式的SPSR;

强行设置异常模式下CPSR的值;

强制PC从中断向量地址取出指令执行;

可以设置中断禁止位;

3.中断的返回

将返回的值写入PC中

恢复CPSR的值

清除冲断禁止位

4.异常返回地址的确定(LR 在复制时已自动减4)

(1)软件中止:直接返回(2)未定义指令:直接返回

(3)FIQ、IRQ、指令预取中止:均减四返回

(4)数据中止:减八返回

(8)寻址方式

立即寻址:MOV R0, #0xFF00(8位位图)寄存器寻址:MOV R2, R3 寄存器移位寻址:MOV R0, R1, LSL#4(6种类型的移位操作)

寄存器间接寻址:LDR R1,[R2] 变址寻址:LDR R0, [R1,#8](前变址寻址);

LDR R0, [R1,#8]!(自动变址寻址); LDR R0, [R1], #2(后变址寻址)

堆栈寻址:STMFD SP!, {R4-R7, LR}(4种类型的堆栈操作)块复制寻址:LDMIA R1!,{R2-R4,R5}(4种块复制寻址操作)

相对寻址:BL SUBR(9)指令集: 数据传送:MOV、MVN 算术运算:ADD、ADC、SUB、SBC、RSB、RSC、MUL、MLA、UMULL、UMLAL、SMULL、SMLAL 逻辑运算:AND、ORR、EOR、BIC 比较和测试:CMP、CMN ARM程序状态访问指令:MSR ARM存储器访问指令

单一数据:LDR、STR、LDRB、STRB 批量数据:LDM、STM(IA、IB、DA、DB)数据交换:SWP ARM分支指令:B、BL、BX(10)伪指令与程序设计 1.伪指令

ADR:小范围加载指令,将相对偏移量加载到某个寄存器中,只能用一条指令来实现,若不能用一条指令来实现则编译错误

ADRL:中范围加载指令,将PC的相对偏移量加载到某个寄存器中,必须用两条指令来实现,LDR:将某个32位偏移量加载到寄存器中

声明变量:

全局变量:GBLA,GBLL,GBLS 局部变量:LCLA,LCLL,LCLS 变量赋值:SETA,SETL,SETS 声明寄存器列表:RLIST 数据定义伪指令:DCB DCDU DCWU 分配一块字节内存单元伪操作SPACE(%)格式:标号 SPACE expr 或 标号 % expr 声明数据缓冲池(文字池)伪操作LTORG 格式: LTORG 段指示伪操作AREA 格式:AREA 段名 {,属性1} {,属性2}… 程序入口伪操作ENTRY 格式:ENTRY(11)基本ATPCS规则

1.子程序调用过程中寄存器的使用规则

子程序间通过寄存器R0~R3来传递参数

在子程序中,使用寄存器R4~R11来保存局部变量 寄存器R12用作子程序内部调用的scratch寄存器 寄存器R13用作数据栈指针,记作sp或SP 寄存器R14用作链接寄存器,记作lr或LR 寄存器R15是程序计数器,记作pc或PC。2.数据栈的使用规则;

数据栈为满递减FD类型,并对数据栈的操作是8字节对齐的

3.参数的传递规则。

(a)参数个数可变的子程序参数传递规则

(b)参数个数固定的子程序参数传递规则(c)子程序结果返回规则

四、存储器与接口技术

1.SRAM:静态随机访问存储

(1)组成:地址线、数据线、读写控制、片选信号线(2)工作原理:读写均先输送地址,在进行数据的输入和输出

(3)SRAM与CPU的链接: 2.DRAM:

有行地址和列地址,工作时有地址锁存器,先输送行地址在输送列地址,选中单元后输送单元,读数据时需要刷新电路

3.SDRAM:与SRAM相比多了同步时钟信号,同时增添了BLOCK,地址分行地址、列地址,也需要刷新电路,BLOCK为最大读写单元,引脚BA选择块儿 4.FLASH:

(1)NOR FLASH:存储容量绞小,读速度较快,采用线性寻址,可直接找到存储位置

(2)HAND FLASH:存储密度大,写入和擦除速度较快,有BLOCK存储单元,有块儿地址,页地址,页内地址,数据地址线复用,传送地址需要四个周期

5.MCS-51单片机

P0口作为地址线低八位和数据线,所以需要地址锁存器,p0口分时复用,由ALE管理,P2输出地址高八位,PSEN接程序存储器使能端OE 进行存储其扩展时可用与门或者先选来链接存储器片选信号进行扩展。

链接程序存储器数据存储器复用时,将PSEN 与RD相与和选通相连连 6.ARM(S3C2410)存储机制:

(1)与SRAM、DRAM相连(2)高速存储机制:CASHE(3)NMUI 接口设计:

(1)HAND FLASH启动:将地址前4KB 的代码作为启动代码

(2)ROM启动: 可选择16位或者32位的存储器,通过M1、M0进行选择 在与存储器进行连接时,注意地址线,若存储器为8位直接位位对应,16位是错开一位,32位时错开两位 7.接口 1.RS-232C 信号电平与逻辑

RS-232C信号采用负逻辑,即以+12V电平视为逻辑“0”,-12V电平视为逻辑“1”

串行接口电路中需要在TTL标准与RS-232C标准之间进行电平转换 2.SPI接口

总线定义及信号线构成 传输技术:同步、全双工

SPI采用同步、全双工串行传输技术,也称为同步串行总线接口;SPI总线(Serial Peripheral Interface)称为串行外围设备接口 3.USB 总线定义及信号线构成,半双工传输 三种设备Host、Device和HUB USB(Universal Serial Bus)即通用串行总线,主要用于PC与外围设备互连。USB的输出特性是差分驱动、支持半双工方式,接收采用差分接收 USB体系结构中包括三种设备 Host(即主控制器)Device(设备)

HUB(集线器,也是设备)4.I2C总线

总线定义及信号线构成,信号线连接方式 总线仲裁

I2C总线定义了两根传输线:SDA(串行数据)和SCL(串行时钟),都是双向传输线,通过电阻上拉到正电源,总线空闲时都是高电平5.I2S总线

总线定义及信号线构成 数据传输格式

嵌入式系统移植+心得 篇6

免费型主要为Linux等主要运用于没有存储器管理单元的处理器而设置。嵌入式基本操作共四步

主机和目标机的连接方式;

UARA最经典90%的板子上,都支持的方式叫异部串行接口,也就是我们所说的串口。USB串行接口 TCP/IP网络接口 Debug Jtag调试接口

补充说明

1.对于串口,通常用的有串口调试助手,putty工具等,工具很多,功能都差不多,会用一两款就可以;

2.对于USB线,当然必须要有USB的驱动才可以,一般芯片公司会提供,比如对于三星的芯片,USB下载主要由DNW软件来完成;

3.对于网线,则必须要有网络协议支持才可以

安装交叉编译器

方法一:分步编译和安装交叉编译工具链所需要的库和源代码,最终生成交叉编译工具链。该方法相对比较困难,适合想深入学习构建交叉工具链的读者。如果只是想使用交叉工具链,建议使用下列的方法二构建交叉工具链。

方法二:通过Crosstool-ng脚本工具来实现一次编译,生成交叉编译工具链,该方法相对于方法一要简单许多,并且出错的机会也非常少,建议大多数情况下使用该方法构建交叉编译工具链。

方法三:直接通过网上下载已经制作好的交叉编译工具链。该方法的优点不用多说,当然是简单省事,但与此同时该方法有一定的弊端就是局限性太大,因为毕竟是别人构建好的,也就是固定的,没有灵活性,所以构建所用的库以及编译器的版本也许并不适合你要编译的程序,同时也许会在使用时出现许多莫名其妙的错误

搭建主机 一般情况下在嵌入式中我们用的比较多的服务就两个 在Linux下一个叫TFTP一个叫NFS,TFTP顾名思义就是FTP的一个简版,它是基于UDP传输的,相当于它的协议比较简单。NFS它的全名叫做网络文件系统,这个网络文件系统主要是Linux和Linux之间做挂载用的。

烧写测试

以上为嵌入式基本操作的四个步骤

嵌入式Linux系统移植主要由四大部分组成:

一、搭建交叉开发环境

综上所述

二、Boot loader的选择和移植

boot loader基本概念:就是在操作系统内核运行之前运行的一段小程序。

通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境,他就是所谓的引导加载程序(Boot Loader)。

三、kernel的配置、编译、和移植

1将下载好的linux-2.6.35.tar.bz2拷贝到主目录下解压

2修改顶层目录下的Makefile,主要修改平台的体系架构和交叉编译器 3拷贝标准版配置文件,目的是得到跟我们开发板相关的配置信息 4配置内核 5编译内核

6通过tftp网络服务下载测试内核

四、根文件系统的制作

flash芯片的驱动程序是由系统来提供,所以它的存取特点完全是flash自身的特点,这时最好有更加适合flash的文件系统——Jffs、Yaffs、Cramfs和Romfs。这些文件系统都是嵌入式Linux系统中常用的文件系统,可以根据特点来选择使用它们,特点如下:

共同点

基于MTD驱动 Jffs

A.针对NOR Flash的实现

B.基于哈希表的日志型文件系统

C.采取损耗平衡技术,每次写入时都会尽量使写入的位置均匀分布

D.可读写,支持数据压缩

E.崩溃/掉电安全保护

F.当文件系统已满或接近满时,因为垃圾收集的关系,运行速度大大放慢 Yaffs

A.针对Nand Flash的实现

B.日志型文件系统

C.采取损耗平衡技术,每次写入时都会尽量使写入的位置均匀分布

D.可读写,不支持数据压缩

E.挂载时间短,占用内存小

F.自带Nandflash驱动,可以不使用VFS和MTD Cramfs

A.单页压缩,支持随机访问,压缩比高达2:1

B.速度快,效率高

C.只读,有利于保护文件系统免受破坏,提高了系统的可靠性,但是无法对其内容进行扩充

Romfs

A.简单的、紧凑的、只读的文件系统

B.顺序存放数据,因而支持应用程序以XIP(execute In Place,片内运行)方式运行,在系统运行时,节省RAM空间

特有的文件系统类型:Ramdisk文件系统 在Linux系统中,内存经常用于存储文件系统,这种叫做Ramdisk,Ramdisk有两种,一种是完全把内存看成物理存储介质,利用内存模拟磁盘,运用磁盘的文件系统类型;另一种只是在内存中存储了文件系统逻辑结构,运用tmpfs&ramfs文件系统类型:

tmpfs&ramfs

1.概述

用物理内存模拟磁盘分区,挂载这种分区后,就可以跟读写磁盘文件一样读写这里面的文件,但是操作速度要比磁盘文件快得多;所以一般应用在下面几个方面:

1)读写速度要求快的文件应该放在这种文件系统中

2)磁盘分区为flash的情况下,把需要经常读写的文件放在这种文件系统中,然后定期写回flash

3)系统中的临时文件,如/tmp、/var目录下的文件应该放在这种文件系统中

4)/dev设备文件(因为设备文件随驱动和设备的加载和卸载而变化),应该放在这种文件系统中

2.特点

1)由于数据都存放在物理内存中,所以系统重启后,这个文件系统中的数据会全部丢失

2)ramfs在没有指定最大的大小值情况下,会自动增长,直到用掉系统中所有的物理内存为止,这时会导致系统的崩溃,建议挂载时最好限定其最大的大小值

3)tmpfs如果指定了大小值,自动增长至大小值后,系统会限定它的大小;这个文件系统占用的物理内存页可以背置换到swap分区,但是ramfs不行

嵌入式系统考试题库 篇7

由于嵌入式系统具有体积小、性能好、功耗低、可靠性高以及面向应用的突出特点,因此嵌入式系统已被广泛应用于军事、国防、电子信息、家电、网络通信、工业控制等领域。嵌入式系统的应用前景是非常广阔的,IC卡、手持电脑、智能手机、车载GPS、数字电视机顶盒,人们在生活中无时无处不接触到嵌入式产品,尤其是嵌入式无线网络产品的出现,使嵌入式产品和我们的生活紧密相连。在方便人们生活的同时,嵌入式系统本身也取得了巨大的发展,由之推动了嵌入式操作系统的快速进步。嵌入式操作系统与传统的操作系统有很大的不同,这也对操作系统教学提出了不同的要求。

1 嵌入式对于操作系统教学的需求

嵌入式系统是一种特殊的计算机系统,但在其特殊性首先是建立在计算机系统的普遍特性之上。现代计算机系统已经越来越离不开性能良好的操作系统和网络的支持,而嵌入式系统也是如此。从近5年来看,嵌入式系统中取得巨大发展的是拥有操作系统的嵌入式系统。未来,随着IPv6协议的全面使用,IP地址的数量将极大增加,到时每一个嵌入式终端都可以拥有自己的IP地址,网络对于嵌入式系统的重要性将前所未有的表现出来。因而,要学习好嵌入式系统首先要对操作系统的相关理论有很好的认识。

操作系统可以被看作是计算机系统的指挥中心,统管整个系统的所有资源,制定不同资源的分配策略,调度系统中运行的用户程序,协调它们对资源的需求,从而使整个系统在高效、有序的环境里运行。这中间就需要明确操作系统到底是怎样管理资源的,使用什么样的方式分配资源,使用什么样的方式协调整个系统的运行。

同时,操作系统又是一个具体的概念,只有对应具体的操作系统进行讲解,才能真正理解相关理论。作为嵌入式系统中使用最多的操作系统,同时又是开源软件的Linux就成为了最好的范例。所以,有必要将Linux操作系统的基础知识也同时进行学习。

2 教学内容的选择与构建

根据嵌入式系统的需求,可以确定教学的内容,主要分为三大部分:第一部分是传统操作系统的理论知识;第二部分是Linux操作系统的基础知识;第三部分是如何构建一个嵌入式操作系统。

2.1 嵌入式基础理论

嵌入式基础理论中应当着重讲解操作系统内核的概念,进程的概念,如何对进程进行调度,内存的管理,设备和接口管理,文件系统和文件管理等内容。这些内容都是传统操作系统课程中最核心的部分,通过这些内容的学习,要使学生具有学习后续课程的基础理论。但有别于传统的操作系统课程,对于一些极少使用的知识点必须进行删减,以节约教学时间。

2.2 Linux操作系统基础

Linux操作系统基础着重讲解Linux操作系统的基础知识。包括Linux操作系统的内核、文件系统、调度机制,以及如何使用Linux操作系统进行文件管理,权限管理,进程管理和提供各种网络服务。通过这部分内容的学习,首先为学生下一步的学习打下基础,最重要的是把学生Windows等于操作系统的错误概念改正过来,使学生真正对操作系统这个概念有一个具体化的认识。

2.3 构建嵌入式操作系统

这部分将介绍如何使用Linux操作系统为基础,构建一个嵌入式操作系统,包括内核的裁剪和移植,文件系统的使用,驱动的使用等方面。通过这部分教学,使学生对于嵌入式操作系统有明确的认识。

3 实验的选择与设计

在操作系统教学中,实验是必不可少的环节。根据嵌入式对于操作系统对于实验的需求,可以分为两大类。第一类是在虚拟机环境下的实验。第二类是嵌入式环境中的操作系统构建。

3.1 虚拟机环境下的实验设计

Linux操作系统的使用和常见的Windows操作系统有很多的不同,在Linux系统中图形界面只被作为一个用户程序存在,随时可以关闭,同时其文件系统及操作命令也和Windows不相同,因而有必要专门对其进行实践练习。但Linux操作系统中的root用户权限极大,初学者在使用该用户进行操作时常常造成各种问题,所有通常在给Linux初学者搭建实验平台是一般会使用虚拟机软件(如Vmware等)搭建一个虚拟平台。这类虚拟平台可以创建虚拟系统的镜像,如因操作错误引起问题,可以快速的通过还原镜像来解决。

在虚拟机环境下的实验主要是帮助学习Linux操作系统的基本操作,包括Linux系统的安装,Linux系统中文件的管理,权限的管理,用户的管理,进程的管理,及使用Linux系统提供各种网络服务。

3.2 嵌入式环境下的实验设计

由于嵌入式操作系统的特殊性,仅仅在PC环境下对其进行虚拟测试并不能保证其在嵌入式环境中的正常使用,因而需要使用一个真实的嵌入式环境来进行嵌入式操作系统构建的相关实验。这里可以使用嵌入式实验箱来进行。实验包括Bootloader引导程序的使用;Linux的移植、文件系统的生成与下载;Linux的驱动程序(键盘驱动、LED灯驱动、马达驱动等)的编写;Linux的应用程序的编写;使用实验箱上网等。

4 教学的方法与手段

4.1 结合计算机学科的发展现状,将各类知识综合串讲

计算机学科是一个发展迅速的学科,因而常常出现教材内容与目前的发展现状相脱节的问题。因此在授课时要特别注意查阅最新资料,用以代替教材中与目前发展现状不相符的地方。如对于处理器的主频制造工艺,内存储器的容量频率等都以最新的资料代替书中的内容,对于嵌入式系统讲解时以学生常见的智能手机为例,这些都能增加学生的学习兴趣,提高教学效果。同时,教学中应注意将多门课程的知识综合串讲,力图使学生将所有知识融会贯通,能够从整体上来理解所学。

4.2 案例式教学

实验与教学紧密结合是计算机类学科教学的一个重要特点,非常适合使用案例式教学。案例式教学的基本步骤是提出一个目标,通过分析,总结出解决方案,然后动手解决。在解决的过程中由学生为主导,教师给以指导。这种教学方法能够充分激发学生的学习热情。

4.3 分层次递进教学

学生的理解能力和知识基础各不相同,搞一刀切的教学难于做到使所有学生都受益。分层次递进的教学方式,改变过去将所有知识点一起教授的教学方法,转而从最基础核心的知识点讲起,逐渐扩展,将知识点按难度逐渐讲授。这样使所有学生都能有所得。

4.4 改革考核方式

事实证明“一张试卷打天下”的考核方式往往并不能真正反映出学生对于知识的掌握和运用情况。考核中可以引入更多的内容,如让学生按要求对Linux操作系统下的文件、权限、用户等进行管理,在嵌入式实验箱上编写一段简单的驱动程序等。把这些作为考核的重要组成部分可以很好的反映出学生运用所学知识解决具体问题的能力。

5 结论

随着嵌入式系统的快速发展,传统的操作系统课程不再适合嵌入式系统开发的需要。因而有必要对其从教学内容、教学方法和实验设计等方面进行一定的改变,使之满足嵌入式系统开发的需求。

摘要:近年来嵌入式系统,尤其是具有操作系统的嵌入式系统取得了极大的发展。传统的操作系统课程已经不能满足嵌入式系统发展的需求,因而有必要对操作系统教学进行调整。文章中针对嵌入式系统的需求,讨论了操作系统课程如何选取教学内容、设计实验,并对教学方法进行了一定研究。

关键词:嵌入式,操作系统,教学

参考文献

[1]韦照川,李德明.嵌入式系统发展概述[J].科技信息,2010(1):839.

[2]刘淼.嵌入式系统接口设计与Linux驱动程序开发[M].北京:航空航天大学出版社,2006.

[3]杨丽萍.王自力.基于嵌入式Linux的网络操作系统设计[J].微计算机信息,2009(25):120-121.

[4]毛敬玉.浅析Linux操作系统教学[J].科技信息,2010(25):204.

《嵌入式系统》课程教学初探 篇8

【关键词】嵌入式系统;嵌入式技术;ARM微处理器;开发板;软件

一、目前嵌入式系统教学概况

嵌入式系统概念的提出已经有相当长的时间,其历史几乎和计算机的历史一样长。但在以前,它主要用于军事和工业控制领域,所以很少被人们关注和了解。随着数字技术、大规模及超大规模集成电路的发展和功能更强的操作系统的出现,它才被广泛应用于航天、航空、工业控制、智能手机、消费类电子产品、信息家电、安防监控、医疗仪器、汽车电子等领域。目前,嵌入式系统产品正不断渗透各个行业,并以其应用领域广、人才需求大等优势,获得更大的关注,特别是将来3G和物联网的普及与推广,应用前景非常好。基于此,我国一些高校的信息类专业相继开设了有关《嵌入式系统》的课程,但大多数是以选修课的形式开设的,课时量少,学校、教师和学生也没有对该课程的教学和学习给于足够的重视,导致教学效果不理想。尽管社会对嵌入式人才需求大,但因为我们的不重视,使得学生在激烈的就业竞争中失去了很多机会。

二、嵌入式系统教学现状分析及对策

《嵌入式系统》课程一般作为选修课开设且一般在大四开设,学生接触嵌入式技术时间较晚,对其没有基本的认识,在有限的课时内也只能对其有一个大致的了解,相比大三、大四学生们学习JAVA、C++的热情,嵌入式的学习气氛就显得很冷清。加之嵌入式系统课程要求的知识面广,涉及基础课程多(与电子类专业相关的基础课程有数字电子技术、电子设计自动化(EDA)、单片机原理、可编程逻辑器件、DSP原理及应用等,与计算机类专业相关的课程有C语言程序设计、计算机组成原理、计算机系统结构、微机原理、数据结构、操作系统等,如果要进行嵌入式应用软件开发的还应掌握计算机网络、网络编程、数据库原理及软件工程等课程),所以,学生学习嵌入式系统课程就存在一定的难度,学习热情也不高。对此,我们应该给与足够的重视,积极帮助学生能在嵌入式领域占有自己一席之地。首先,在对学生进行入学教育专业介绍时,要强调嵌入式方面的就业前景,目前国内外这方面的人都很稀缺,与应用软件开发的行业不同,嵌入式领域人才的工作强度通常低一些,但收入却高一些,利用这样的好的就业前景刺激同学们好好学习。再者,要强调嵌入式系统课程涉及的先行课程多,一定要打好基础;还有,学生在学校学习期间,老师们可以多开展期嵌入式技术的讲座及嵌入式产品的展示,比如无线点餐系统、车载GPS定位、智能家居等;最后,在学生大一、大二学习期间,各科任课教师要督促学生扎扎实实的学好每一门课程,以便为后续课程打好基础。在竞争如意激烈的今天,学生们也该从进入大学就逐步规划自己的职业生涯。

三、《嵌入式系统》课程教学的内容、教学方法的改进

嵌入式系统融合了电子、计算机、微电子等多种学科和技术。对于什么是嵌入式系统,还没有一个明确的定义。嵌入式系统一般定义为以应用为中心,以计算机技术为基础,软硬件可裁减,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。

1.《嵌入式系统》课程教学的内容

《嵌入式系统》的教学通常以32位微处理器为平台,32位的微处理器主要有ARM、MIPS、POWER PC,目前国内的大多数高校都是以介绍ARM微处理器为主,教学的内容主要包括ARM微处理器内核的介绍、ARM的汇编指令和汇编程序设计、嵌入式系统的C语言设计和嵌入式操作系统、嵌入式Linux开发环境及其在ARM上的移植、设备驱动程序和用户图形界面GUI等内容。在试验内容的安排上,通常包括ARM汇编语言的程序设计、BootLoader的移植、嵌入式操作系统内核的移植、UCOS II、LINUX、WINCE等嵌入式操作系统下的C语言驱动程序设计和应用程序设计等。

2.教学方法的改进

对于嵌入式课程的学习,很多同学都认为很难,除了前面提及到的它涉及的基础学科较多以外,一个很重要的原因是以传统的教学模式讲述的内容学生完全不理解,比如宿主机、目标板、交叉开发环境、GCC交叉编译器arm-Linux-gcc、引导装载程序BOOTLOADER、Linux内核裁减等。这就需要教师在上课时将嵌入式Linux开发流程给学生作演示,包括建立开发环境,下载相应的GCC交叉编译器进行安装(例如arm-Linux-gcc、arm-μclibc-gcc),或者安装产品厂家提供的交叉编译器;配置开发主机;建立引导装载程序BOOTLOADER;下载针对所使用的CPU的Linux操作系统内核、再添加自己的特定硬件的驱动程序;建立根文件系統;开发应用程序;烧写内核、根文件系统、应用程序;发布产品。学校还可聘请企业讲师讲述部分课程以使学生们可以了解到嵌入式的最新的技术。关于嵌入式系统的实验部分,需要有相应的开发板,有的学校实验条件还不成熟或实验设备不足,那么可以在主机上安装模拟器来模拟开发板,使学生了解将嵌入式的开发流程即可。

四、教学保障

前面已提及,嵌入式的教学过程及实验环节都离不开计算机及开发板,这就需要学校投入一定的资金来改善教学和实验条件。因为嵌入式这方面的人才较少,高校教师中也有很多人从未接触过嵌入式相关技术,所以,对于高校要积极寻求与嵌入式相关的企业的合作,以进行师资的培训,从企业吸收最新的嵌入式的技术和成果用于教学过程中。

五、就业及培训

嵌入式系统是一个软件与硬件紧密结合的学科,从事嵌入式开发的人员主要有两类。一类是电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系密切的最底层软件,如BootLoader、Board Support Package,最初级的硬件驱动程序等。另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。

从事嵌入式开发的好处是:(1)目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高;另一方面,是因为这一领域较新,目前发展太快,掌握这些新技术的人当然很难找。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。(2)与应用软件开发领域不同,嵌入式领域人才的工作强度通常低一些,但收入却高于普通的应用软件开发人员。搞嵌入式系统的公司,所开发的产品通常是通用的,不会因客户的不同而修改。另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围基本上固定,时间越长越有经验。

如果以后想从事嵌入式技术方面的工作,那就需要进行这方面的培训,因为教学计划中的很少的课时量只是让学生们对嵌入式系统有一个大致的认识,而自学的话又不知道该从哪里下手。现在很多培训机构都有脱产的嵌入式就业班,大概学习四五个月的时间就可推荐就业,对于想从事嵌入式开发的学生来说,无疑是一个比较好的途径。

六、总结

嵌入式是一个有很大发展潜力的学科,各个高校也相继开设了嵌入式系统的课程,笔者仅从自己多年的嵌入式教学的角度上提出自己的一些看法,希望能够抛砖引玉,听到同行们更精彩的见解。

参考文献:

[1]刘艺,许大琴,万福编著.嵌入式系统设计大学教程[M].人民邮电出版社,2008(11).

上一篇:饲料厂实习报告下一篇:尖峰岭导游词