




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
嵌入式系统控制与应用,课程目的,理论与实践相结合以嵌入式系统基础及嵌入式软件的核心嵌入式实时操作系统为重点,以应用为目的,全面介绍嵌入式系统使大家既能对嵌入式系统及开发有一个全景的把握,又能深入理解嵌入式操作系统。配套ARM9平台的嵌入式Linux开发实验,课程特点,利用PC机就可以自己动手搭建嵌入式系统的开发平台,熟悉应用开发,更方便地学习和理解嵌入式系统的基础知识:从纯软件到硬/软件结合从“纸”上谈兵(编程序)到“板”上谈兵从“懂”怎么做到“会”做从讲/听到讲/听/做,课程的主要内容,linux开发基础.(2学时)嵌入式linux系统基础(2学时)嵌入式linux内核、引导系统和文件系统(3学时)嵌入式linux接口设计与驱动程序(3学时)嵌入式linux开源软件移植与应用(3学时)嵌入式linux图形用户界面(4学时)嵌入式linux下的通信应用(4学时)嵌入式系统硬件设计基础与标准(3学时),课程的主要内容,嵌入式系统软件的开发实验,约8学时嵌入式系统开发模式嵌入式软件开发工具软件分析设计方法,实验系统的内容,目标平台,开发工具,嵌入式操作系统,实验项目,实验内容,配套4个实验项目,具体是:实验1:基于RedhatLinux9.0的开发环境搭建;(2学时)实验2:基于MINI2440实验板进行LED控制程序、按键程序和UDP网络编程实验;(2学时)实验3:基于MINI2440实验板进行嵌入式Linux驱动程序模块程序设计;(2学时)实验4:基于MINI2440实验板进行yaffs根文件系统映象的制作实验(2学时),教材及参考资料,嵌入式Linux程序设计案例与实验教程,俞辉主编,机械工业出版社.嵌入式Linux系统开发技术详解-基于ARM,孙纪坤,人民邮电出版社.ARM体系结构与编程,杜春雷,清华大学出版社.,课程成绩,课程成绩平时成绩实验成绩期末考试成绩(或大作业成绩)平时成绩20分,其中作业两次每次5分,中期课堂测验10分实验成绩20分,每个实验5分期末考试:开卷考试60分,联系方式:,办公室电话:62282410e-mail:guolei,联系方式,自动化工程师的必备技能,电路设计;软件编程;执行机构设计;控制系统分析与设计:1、算法级仿真;2、工程具体实现;,引言嵌入式系统概述,嵌入式系统,概述,经过几十年的发展,嵌入式系统已经在很大程度改变了人们的生活、工作和娱乐方式,而且这些改变还在加速。嵌入式系统具有无数的种类,每类都具有自己独特的个性。例如,MP3、数码相机与打印机就有很大的不同。汽车中更是具有多个嵌入式系统,使汽车更轻快、更干净、更容易驾驶。,现实中的嵌入式系统,即使不可见,嵌入式系统也无处不在。嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域。例如神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统。在日常生活中,人们使用各种嵌入式系统,但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统。,现实中的嵌入式系统,嵌入式系统的概念,目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。下面给出两种比较合理定义:从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统。术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。嵌入的系统中可以共存多个嵌入式系统。,嵌入式系统示例,汽车控制系统,嵌入式系统示例,汽车控制系统,尾灯控制系统,后车门控制系统,前车门控制系统,座椅控制系统,发动器控制系统,所有的控制系统都是一个完整的嵌入式系统,嵌入式系统的未来,早在1990年之前,嵌入式系统通常是很简单的且具有很长的产品生命周期的自主设备。近些年来,嵌入式工业经历了巨大的变革。产品市场窗口现在预计翻番的周期狂热到69个月。全球重新定义市场的机会和膨胀的应用空间。互联现在是一个需求而不是辅助性的,包括用有线和刚刚显露头角的无线技术。基于电子的产品更复杂化。互联嵌入式系统产生新的依赖网络基础设施的应用。微处理器的处理能力按莫尔定律(MooresLaw)预计的速度在增加。该定律认为集成电路和晶体管个数每18个月翻一番。,嵌入式处理器,嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等。,嵌入式微处理器,嵌入式处理器,嵌入式微控制器又称单片机,它是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM、EEPROM等各种必要功能和外设。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器是目前嵌入式系统工业的主流。微控制器的片上外设资源一般比较丰富,适合于控制,因此称微控制器。嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300、数目众多ARM芯片等。目前MCU占嵌入式系统约70的市场份额。,嵌入式微控制器,嵌入式处理器,DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域,DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。嵌入式DSP处理器比较有代表性的产品是TexasInstruments的TMS320系列和Motorola的DSP56000系列。TMS320系列处理器包括用于控制的C2000系列,移动通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000,DSP56100,DSP56200和DSP56300等几个不同系列的处理器。另外PHILIPS公司近年也推出了基于可重置嵌入式DSP结构低成本、低功耗技术上制造的R.E.A.LDSP处理器,特点是具备双Harvard结构和双乘/累加单元,应用目标是大批量消费类产品。,嵌入式DSP处理器,嵌入式处理器,随着EDA的推广和VLSI设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是SystemOnChip(SOC)。各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品。这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利。SoC可以分为通用和专用两类。通用系列包括Infineon的TriCore、Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SoC一般专用于某个或某类系统中,不为一般用户所知。一个有代表性的产品是Philips的SmartXA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SOC,可用于公众互联网如Internet安全方面。,嵌入式片上系统(SOC),第1章Linux开发基础,引言,第一章Linux开发基础第二章嵌入式Linux基础第三章嵌入式Linux内核文件系统与存储第四章嵌入式Linux接口设计与驱动程序第五章嵌入式Linux开源软件移植与应用第六章嵌入式Linux图形用户接口第七章嵌入式Linux下的通信应用第八章嵌入式系统硬件设计基础与标准第九章OMAP5910与LinuxGateway第十章嵌入式Linux综合项目实例,第一章Linux开发基础,主要内容第一节Linux系统概述第二节Linux系统的使用第三节全屏幕编辑器与vi第四节LinuxShell编程,学习方法与建议,本章主要讲述了linux开发基础知识,包括linux系统介绍,linux系统常用命令,vi使用,Shell程序的设计,由于这四部分在日常程序设计中会频繁使用。建议读者熟练掌握。其中命令和vi的使用需要多练才能掌握,Shell程序的设计是本章的难点,建议读者通过实例来学习,这样可以达到事半功倍的效果。,一、Linux简介简单介绍Linux系统的历史。二、Linux系统的特点Linux系统之所以受到极大欢迎,源于它所具有的良好特性。三、Linux系统的组成Linux操作系统由内核、Shell、文件系统和应用程序四部分组成。,第一节Linux系统概述,第一节Linux系统概述一、Linux简介,Linux是由芬兰赫尔辛基大学一位名叫LinusTorvalds的学生编写的,是一种类Unix系统。Linus最初编写它的目的是替代Minix操作系统。Minix是由AndrewTannebaum教授所编写的专门用于教学的操作系统。该系统具有操作系统的所有特征,并且能够兼容Unix系统。因此,Linux具有Unix系统的许多功能和特点,甚至可以将一台普通的个人电脑升级为功能强大的Unix工作站。Linux是一个免费的操作系统。用户可以免费获得其源代码,并能够随意修改。它是在GNU的公用许可证GPL保护下发行的自由软件。GNU是一个自由软件计划,其软件可以自由使用和修改,不过用户在发布GNU软件时必须让下一个用户具有获得其源代码的权利。,3,第一节Linux系统概述二、Linux系统的特点,(1)完全免费且开源由于用户可以通过网络或其他途径免费获得Linux,并可以任意修改其源代码,因此全世界的程序员都能够参与Linux的修改和编写工作(2)完全兼容POSIX1.0标准Linux能够兼容其他各种操作系统的书写习惯和风格,因此习惯使用其他操作系统的用户能够快速适应Linux环境。(3)良好的可移植性所谓可移植性,是指能够完成某个软件在不同硬件体系结构之间的转移。由于Linux软件大部分是开源的,因此只要使用不同的编译器进行编译就可以完成相应的移植。所以说Linux是移植性很强的操作系统,这对于嵌入式开发来说尤其重要。(4)设备独立性设备独立性是指操作系统把所有外部设备描述成文件形式,只要安装驱动程序,就可以像操作文件一样来操作这些设备。具有设备独立性的操作系统能够容纳任意种类和数量的设备,而且可以建立每个设备和内核之间的访问连接。,(5)内核稳定Linux拥有一个多用户、多任务且功能强大的内核,不仅能够满足各种应用需要,而且使用了多种安全机制来协助完成文件和用户管理等工作。(6)丰富的应用软件几乎所有的Linux发行版都包含丰富的应用软件,而且大部分软件遵循GNU规则,因而能够非常方便地完成移植工作。另外,在Linux发行版本中还包含大量的软件开发工具,能够开发出更多的应用程序。(7)两种操作方式在Linux操作系统中,可以使用终端进行文本输入,也可以使用X图形界面进行操作。文本输入对于命令、编译等操作而言非常方便,而图形界面则适合进行批量文件操作和图形软件开发。因此,这两种操作方式可以互相弥补,从而提高操作系统的使用效率。,第一节Linux系统概述二、Linux系统的特点,Linux操作系统由内核、Shell、文件系统和应用程序四部分组成。,第一节Linux系统概述三、Linux系统的组成,第二节Linux系统的使用,一、常见命令Linux常用的一些命令二、文件和目录命令Linux的文件和目录命令,7,掌握Linux登录的两种方式1,图形用户界面登录,在图形界面上输入用户名和密码即可登录成功优点:操作界面美观,方便用户熟悉操作;缺点:图形界面会占用系统一部分资源2,字符界面登录:修改/etc/inittab文件,如下所示:把5改为3,保存设置,重启系统之后会进入字符登录界面,输入用户名和密码即可登录成功,第二节Linux系统的使用一、常见命令,8,关机命令用shutdownhelp命令可以查看关机命令的帮助信息shutdown-hnow马上注销,之后停机init0马上关机lsls命令用于查看当前系统支持的Shell。exitexit命令用来退出服务器或当前用户命令passwdpasswd用来修改用户口令whowho命令用来查看当前用户echoecho命令用来在终端显示字符串,第二节Linux系统的使用一、常见命令,9,calcal命令用来显示日历clearclear命令用来清除当前屏幕显示内容idid命令用于进行用户认证catcat命令用于查看文件内容datedate命令用于显示或设置日期或时间ifconfigifconfig命令用于查看IP信息routeroute命令用于添加网关netstatnetstat命令用于查看网络状态manman是手册命令whatiswhatis命令用来描述一个命令执行什么功能whereiswhere命令用来找出程序的源、二进制文件或手册,第二节Linux系统的使用一、常见命令,10,第二节Linux系统的使用二、文件和目录命令,catcat命令用来查看文件内容cdcd命令用来改变工作目录用法:cdnamename:目录名cpcp命令用来复制文件用法:cp-r源地址目的地址-r参数表示复制内容包括文件夹mvmv命令用来移动或更改文件、目录名称用法:mv源地址目的地址mkdirmkdir命令用来建立新目录用法:mkdir目录名rmdirrmdir命令用来删除目录用法:rmdir目录名或rm目录名rmrm命令用来删除文件用法:rm文件名,11,pwdpwd命令用来列出当前所在的目录位置dudu命令用来查看目录所占磁盘容量用法:du-s目录举例:dudir1显示目录dir1的总容量及其子目录的容量(以KB为单位)。du-sdir1显示目录dir1的总容量chmod/chownchmod和chown命令用来改变文件权限的设定chmodchmod命令用来改变文件或目录的读、写以及执行权限。用法:chmod-Rmodenamename:文件名或目录名。mode:3个8位数字或rwxugo的组合,它们的含义为:r-read(读权限),w-write(写权限),x-execute(执行权限)u-user(当前用户),g-group(当前用户所在组其他用户),o-other(组外用户)chownchown命令用来改变文件或目录的所有权。用法:chown-R用户名name,第二节Linux系统的使用二、文件和目录命令,12,groupsgroups命令用于检查自己所属的工作组名称chgrpchgrp命令用来改变文件或目录工作组所有权用法:chgrp-R工作组名namename:文件名或目录名touchtouch命令用来改变文件或目录的最后修改时间用法:touchnamename:文件名或目录名。lnln命令用来进行文件的链接。用法:ln老文件名新文件名举例:ln-s老文件名新文件名grepgrep命令用来进行文件中字符串的查寻用法:grepstringfilediffdiff命令用来比较文件或目录的内容用法:diff-rname1name2name1,name2:文件名或者目录名filefile命令用来查看文件属性用法:file文件名,第二节Linux系统的使用二、文件和目录命令,13,第三节全屏幕编辑器与vi,一、vi简介关于vi的简单介绍二、基本命令解释vi的基本命令简单介绍三、常用操作vi的常用操作,14,第三节全屏幕编辑器与vi一、vi简介,vi(visualedit),即可视化的全屏幕文本编辑器,是Linux常用的编辑器。如果掌握其基本命令并且能够熟练运用,便可以大大提高编程效率。vi有三种方式,即编辑方式、插入方式和命令方式。在命令方式下,所有命令都要以:开始,所键入的字符系统均作为命令来处理;在命令方式下按下i就会进入插入方式,用户输入的可视字符都添加到文件中,按下ESC就可以回到命令状态。这三种状态的转换下图所示。,15,第三节全屏幕编辑器与vi二、基本命令解释,1光标命令k、j、h、l上、下、左、右移动光标。nG跳转命令。n为行数,该命令使光标立即跳到指定行。Ctrl+G报告光标所在位置的行数和列数。w、b使光标向前或向后跳过一个单词。2编辑命令i、a、r在光标的前、后以及所在处插入字符(i=insert、a=append、r=replace)。cw、dw改变(置换)/删除光标所在处的单词(c=change、d=delete)。x、d$、dd删除一个字符、删除光标所在处到行尾的所有字符以及删除整行。3查找命令-/string、?string从光标所在处向后或向前查找相应的字符串。键入n则查找下一个相应字符串。4拷贝复制命令-yy、p复制一行到剪贴板或取出剪贴板中内容。注意,在命令提示符(:)下键入y3,表示从当前光标处开始复制3行(可以根据需要修改要复制的行数),之后将光标移动到需要粘贴的地方,键入p即可粘贴刚刚复制的内容。,16,第三节全屏幕编辑器与vi三、常用操作,1)无论是创建新文档或修改旧文件,都可以使用vi,所需命令为:$vifilename如果文件是新创建的,就会在屏幕底部看到用户正在创建新文件的消息。如果文件已存在,则会显示文件的开头内容,之后用户可通过光标的上下移动来读取文件内容。2)在插入方式下,如果要输入命令,必须先按Esc键进入命令方式。之后在编辑模式下输入命令时,需要先按冒号(:),改变为命令方式。具体命令如下所示::q!放弃任何改动而退出vi,也就是强行退出。:w存档。:w!对于只读文件强行存档。:wq存档并退出vi。:x、:zz与wq的工作一样。,17,vi编辑器的插入命令,第三节全屏幕编辑器与vi三、常用操作,18,第四节LinuxShell编程,一、Shell程序的编写和执行二、Shell的变量三、Shell的测试命令四、条件语句五、循环语句六、函数,19,第四节LinuxShell编程一、Shell程序的编写和执行,因为Shell脚本是以文本方式进行存储的,所以可以用任何的文本编辑器来编辑。在文本中输入要执行的Shell命令或Linux命令并保存为一个新的文件。当要运行这个脚本时,可调用这个脚本来执行其中的所有指令。在Linux环境下,任何对文件有执行权限的用户都可以执行文件。对于Shell脚本而言,可以修改其权限来允许不同的用户执行。我们可以通过如下命令来更改Shell脚本的权限:chmodu+xfilename只有用户自己可以执行,其他人不能执行。chmodug+xfilename只有用户自己以及同一工作组的人可以执行,其他人不能执行。chmod+xfilename所有人都可以执行。,20,第四节LinuxShell编程二、Shell的变量,1给变量赋值在默认的情况下,所有变量都被认为是字符串。给变量赋值的方法:count=5注意,在等号两边不能有空格,如果字符串中有空格的话,要用引号把它括起来。例如:test=“HelloWorld!”。由于Shell语言是一种不需要类型检查的解释语言,因此在使用之前无须先定义。2输出变量的值可以使用$读取变量的值。下面的命令可以将count变量的内容输出到屏幕上:echo$count当需要从键盘输入数据赋值给一个变量的时候,可以使用read命令。如下所示:#readvar1var2var3Hellomyfriends#echo$var1$var2$var3Hellomyfriends,21,第四节LinuxShell编程三、Shell的测试命令,test命令用于检查某个条件是否成立,可以和系统运算符一起使用。系统运算符可以分为四类:整数运算符、字符串运算符、文件运算符和逻辑运算符。下表为整数运算符的表达式与说明,22,下表为字符串运算符的表达式与说明,第四节LinuxShell编程三、Shell的测试命令,23,下表为文件运算符的表达式与说明,第四节LinuxShell编程三、Shell的测试命令,24,下表为逻辑运算符的表达式与说明,另外,Shell也能完成简单的算术运算,例如:var1=2var2=$var1*10+1,第四节LinuxShell编程三、Shell的测试命令,25,1if语句Shell程序中的条件分支是通过if语句来实现的,其一般格式为:ifexpressionthencommandselsecommandsfi,第四节LinuxShell编程四、条件语句,26,2case语句对同一个变量进行多次测试时,可以使用case条件语句实现。其格式如下:casevarinvar1)commands;var2)commands;varn)commands;*)commandsesac,第四节LinuxShell编程四、条件语句,27,1for语句在bash中,for语句的表达式如下:forvar1inlistdocommandsdone对list中的每一项,for语句都执行一次。list可以是包括几个单词的、由空
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字演变过程
- 贵州省部分学校2025届高三上学期9月月考历史试卷(含答案)
- 广东省广州市天河区2024-2025学年下学期期末考试七年级道德与法治试卷
- 【资源】大学体育在线视频系列课程(山东联盟)知到智慧树答案
- 幸福心得体会15篇
- 网络直播行业市场调研报告
- 2024年秋新北师大版数学一年级上册课件 总复习 第3课时 统计与概率
- 2024年秋新北师大版数学一年级上册教学课件 第四单元 10以内数加与减 第5课时 小鸡吃食
- 永动机课件教学课件
- 智算中心硬件设备选型方案
- 福建省福州市联盟校2023-2024学年高一下学期期末考试英语试题(解析版)
- 2024-2025学年重庆市万州区八年级(下)期末语文试卷
- 2025年乒乓球二级裁判考试题及答案
- 2025年江苏省苏豪控股集团有限公司校园招聘笔试备考试题及答案详解(必刷)
- (完整)中小学“学宪法、讲宪法”知识竞赛题库及答案
- 2025年行政执法人员执法证考试必考多选题库及答案(共300题)
- 《工程勘察设计收费标准》(2002年修订本)
- 2024年自投光伏安装合同范本
- DB11T 1581-2018 生产经营单位应急能力评估规范
- 汶川地震波时程记录(卧龙3向)
- 吴迪完胜股市学习笔记
评论
0/150
提交评论