天祥ARM视频TXA全部课件第一部分共四个部分_第1页
天祥ARM视频TXA全部课件第一部分共四个部分_第2页
天祥ARM视频TXA全部课件第一部分共四个部分_第3页
天祥ARM视频TXA全部课件第一部分共四个部分_第4页
天祥ARM视频TXA全部课件第一部分共四个部分_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

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

文档简介

1、 第一部分嵌入式系统开发流程概述TX-2440A 嵌入式视频教程1 出品:天祥电子网址:第一讲 嵌入式基础知识2嵌入式系统的定义嵌入式系统的定义: 以应用为中心,以计算机技术为基础,且软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗的严格要求的专用计算机系统3嵌入式系统的定义广义的嵌入式系统 凡是带有微处理器的专用系统都可以称为嵌入式系统。如单片机系统和带OS的ARM系统。 各类单片机系统,在完成较为单一的专业功能时具有简洁高效的特点。但是由于他们没有操作系统,所以管理硬件和软件的能力有限,在实现复杂的多任务功能时往往困难重重,甚至无法实现。4嵌入式系统的定义狭义的嵌入式系统 是指那

2、些使用嵌入式微处理器构成的独立系统,具有操作系统,完成特定功能,用于特定场合5嵌入式系统的定义嵌入式系统的应用远远超过了各种通用计算机一台通用计算机的外部设备中就包含了5-10个嵌入式微处理器:键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌入式处理器控制的在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域6嵌入式系统的应用 消费电子嵌入式应用信息家电智能玩具军事电子通信设备移动存贮工控设备智能仪表汽车电子网络设备 工业 军事国防电子商务 网络7嵌入式系统的组成 总

3、体上嵌入式系统可以划分成硬件和软件两部分 硬件一般由高性能的微处理器和外围的接口电路组成 软件一般由实时操作系统和其上运行的应用软件构成8嵌入式系统的特点与PC机在硬件开发平台上对比设备名称嵌入式系统PCCPU嵌入式处理器(ARM,MIPS,Score+)CPU(Intel、AMD等)内存SDRAM芯片SDRAM或DDR内存条存储设备Flash芯片硬盘输入设备触摸屏,按键鼠标、键盘、麦克等输出设备LCD显示器其它设备音频芯片、USB芯片、网卡芯片等主板集成或外接卡9嵌入式系统的特点与PC机在软件开发平台上对比名称嵌入式系统PC引导代码Bootloader引导,针对不同电路进行移植主板的BIOS

4、引导,无须改动操作系统Linux、WinCE、VxWorks等,需要移植Windows、Linux等,无需移植驱动程序每个设备驱动针对电路板进行开发或移植,一般不能直接下载使用操作系统含有大多数驱动程序,或下载直接使用开发环境交叉编译本机编译协议栈需要移植操作系统或第三方提供10嵌入式系统的特点系统内核小 嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多专用性强 嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植系统精简 嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全

5、实时性操作系统 这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性专用的开发工具和开发环境11嵌入式系统的组成12嵌入式系统的组成硬件部分: 嵌入式微处理器 外围硬件设备软件部分: 嵌入式操作系统 特定的应用程序13嵌入式处理器 嵌入式处理器是嵌入式系统的核心部件,与通用处理器的最大差异在于其大多工作在为特定用户群设计的系统中。 嵌入式处理器通常把通用计算机中许多由板块完成的任务集成在芯片内部,从而有利于嵌入式系统趋于小型化,并具有高效率、高可靠性等特征。 目前,市面上有1000多种嵌入式处理器芯片,包括ARM系列、MIPS系列、PowerPC系列

6、等等。14嵌入式处理器15外围硬件设备 外围设备是指在一个嵌入式系统当中,嵌入式处理器以外的完成存储、通信、调试、显示等辅助功能的其它部件,根据外围设备的功能可分为以下3类: 存储器:SRAM、DRAM、NAND FLASH、 NOR FLASH等 接口:并口、RS232串口、SPI串行接口、USB通用串行总线、以太网接口等 人机接口:LCD、触摸屏、键盘等16嵌入式操作系统用户的其它应用程序都建立在OS之上 OS将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时间主要功能: 处理器管理 存储器管理 设备管理

7、文件管理 用户接口管理17嵌入式操作系统18嵌入式操作系统1. 嵌入式Linux Linux本身所具备的源码开放、内核可裁减等种种特性使其成为一种重要的嵌入式操作系统 随着嵌入式Linux技术的成熟,定制更加方便,同时支持更多的平台2. WinCE WinCE的缺点是体积庞大,价格昂贵,不完全开放源码。因此随着嵌入式操作系统领域日益激烈的竞争,微软不得不应付来自Linux等免费系统的冲击19嵌入式操作系统3. VxWorks VxWorks是美国WindRiver公司专门为实时嵌入式系统设计开发的操作系统软件。VxWorks拥有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在实时嵌入

8、式操作系统领域占据一席之地,但其昂贵的价格让不少厂商望而却步4. C/OS C/OS是一个典型的实时操作系统。它是研究和学习实时操作系统的重要选择。 特点:源码公开、代码结构清晰、可移植性好、可裁减、可固化、内核属于抢占式,最多可以管理60个任务。20嵌入式软件组成应用层:特定的应用程序 文件系统/图形用户应用程序接口OS层: 实时操作系统驱动层:设备驱动程序、HAL、BSP21嵌入式开发分类硬件开发: 电路设计 驱动开发系统开发: Linux开发 WINCE开发软件开发: 应用程序 图形界面22 第一部分嵌入式系统开发流程概述TX-2440A 嵌入式视频教程23 出品:天祥电子网址:第二讲

9、如何学习嵌入式24第二讲 如何学习嵌入式嵌入式系统开发流程视频内容介绍学习嵌入式的方法25嵌入式系统开发流程裸机开发: 对于功能简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序带操作系统的开发: 当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理控制内存、多任务、周边资源等,现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势26嵌入式系统开发流程带操作系统的开发: 硬件开发 启动加载程序 操作系统内核 根文件系统 设备驱动 应用程序27嵌入式系统开发流程通常基于linux系统的嵌入式开发步骤如下:开发目标硬件系统: 如选择微处理器、Flash及

10、其它外设等建立交叉开发环境: 安装交叉编译工具链、安装开发调试工具开发Bootloader:移植uboot,vivi移植linux内核:如linux2.6.31内核开发根文件系统:CRAMFS,YAFFS开发相关硬件的驱动程序:led,adc等驱动开发上层的应用程序:如QT GUI开发28必备的基础 计算机操作能力 操作系统原理 单片机基础 C语言基础 独立解决问题的能力29第二部分 开发板功能演示TX-2440A 嵌入式视频教程30 出品:天祥电子网址:第三讲 TX2440A开发板外围硬件介绍31第三讲 TX2440A开发板外围硬件介绍核心板资源介绍底板资源介绍外围模块介绍32第二部分 开发

11、板功能演示TX-2440A 嵌入式视频教程33 出品:天祥电子网址:第四讲 TX2440A开发板功能演示34整板测试终端下硬件测试应用程序演示QT图形界面演示第四讲 TX2440A开发板功能演示35第三部分 嵌入式平台搭建TX-2440A 嵌入式视频教程36 出品:天祥电子网址:第五讲 Linux操作系统的安装37Linux简介作者:Linus Torvalds (芬兰) 1991年9月,发布Linux0.01版本.官方网址:吉详物:38Linux简介Linus TorvaldsLinux的创始人Richard Stallman自由软件运动的精神领袖、GNU计划以及自由软件基金会的创立者39L

12、inux简介Linux的具有如下特点: 符合POSIX标准 多用户、多任务 丰富的网络功能 良好的可移植性 支持数十种文件系统格式 开源、免费40Linux发行版Linux发行版 Red Hat Linux Fedora CentOS SuSE Debian Ubuntu 红旗Linux41Linux内核 用户界面是操作系统的外在表象,内核才是操作系统的内在核心,系统的其它部分必须依靠内核提供的服务. 通常内核由中断服务程序, 进程调度程序,内存管理程序和网络、进程间通信等系统服务程序共同组成.42Linux内核 内核独立于普通应用程序,它一般处于系统态,拥有受保护的内存空间和访问硬件的所有权

13、限. 应用程序在用户空间执行,它们只能看到允许它们使用的部分系统资源,并且不能使用某些特定的系统功能,不能直接访问硬件.43Linux内核 Linux内核分类: 稳定的和处于开发中的. Linux通过一个简单的命名机制来区分稳定的和处于开发中的内核: 主版本号.从版本号.修订版本号, 如2.6.10 若从版本号是偶数,此内核就是稳定版本,若从版本号是奇数,此内核就是开发版本.44Linux桌面环境 KDE是运行于UNIX及Linux、FreeBSD等类Unix操作系统上面的自由图形工作环境,整个系统都是用QT程序库开发完成 GNOME即GNU网络对象模型环境 (The GNU Network

14、Object Model Environment),GNU计划的一个重要组成部分。GNOME是GNU计划的默认桌面。GNOME采用GTK图形库开发完成45Linux发展历程Linux在桌面领域的应用46Vmare简介 VMWare是一个“虚拟机”软件.它使用户可以在一台机器上同时运行多个操作系统. 多个操作系统在主系统的平台上,可像Windows应用程序那样切换.而且每个操作系统都可以进行虚拟的分区、配置而不影响真实硬盘的数据.47Linux安装 安装VMware6.5 安装RedHat9.0操作系统 安装VMware Tools48配置smb,nfs服务器 Samba是在Linux和UNIX

15、系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 SMB协议通常是被windows系统用来实现磁盘和打印机共享 49配置smb,nfs服务器 NFS是Net 的简写,即网络文件系统.网络文件系统是FreeBSD支持的文件系统中的一种NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。50第三部分 嵌入式平台搭建TX-2440A 嵌入式视频教程51 出品:天祥电子网址:第六讲 Linux操作系统全面分析52Linux操作系统全面分析1.Linux常用命令2.Vi编辑器3.gcc编译器4.make,makefile5.

16、Shell编程6.Linux系统编程入门53Linux常用命令Linux命令格式:# command -options parameter1 parameter2 .如:ls -l /home参考:Linux指令详解54Vi 简介Vi是最早的一种交互式可视化文本编辑器,功能强大,它可以用来编写代码(如C、HTML、java等)、记录简短信息、或者作为格式化文本系统(如groff和troff)的输入。55Vi 简介Linux提供了vi的多个版本,或者说多个克隆,最流行的有:elvis、nvi、vile、vim,每个克隆都具有比最初的vi更多的特性。Red Hat Linux提供的/bin/vi,

17、是vim的最小版本,加载起来很快。此外还提供了/usr/bin/vim,是vim的完全功能版。56Vi 的基本操作参考:Linux指令详解 Vim中文手册使用vi自带教程#vimtutor57gcc 简介 gcc是符合ISO标准的C编译器,它在需要的时候调用其它组件(预处理器、汇编器、连接器)。gcc GCC 很多人把GCC看成只是一个C编译器,其实GCC是GNU Compiler Collection的简称,目前GCC可以支持C,C+,ADA,JAVA,Fortran,PASCAL等多种高级语言,GCC主要包括以下一些工具: cpp(预处理器), gcc(C编译器),g+(C+编译器)等编译

18、器.58gcc 简介gcc识别的主要文件扩展名如下: .c C语言代码 .C, .cc C+语言代码 .i 预处理后的C语言代码 .ii 预处理后的C+语言代码 .s, .S 汇编语言代码 .o 目标代码 .a 静态链接库(程序编译时使用) .so 动态链接库(程序运行时使用)59gcc 的使用参考:Linux指令详解GCC中文手册60GNU make工具的使用GNU make是一种代码维护工具,其主要任务是根据Makefile文件定义的规则和步骤,完成整个软件项目的代码生成和维护工作。GNU make将整个软件项目的代码分开放在几个小的源文件中,在改动其中一个文件的时候,可以只对该文件进行重

19、新编译,然后重新链接所有的目标文件。61GNU make工具的使用使用make编译软件源码包一般步骤是:#./configure (生成Makefile文件)#make clean (进行清理工作)#make (编译源文件)#make install (安装可执行文件)62GNU make工具的使用参考:GNU make 中文手册跟我一起写Makefile主要了解:Makefile的规则Makefile中的变量63Shell 简介shell是一种具备特殊功能的可执行程序,它是介于使用者和 UNIX/linux 操作系统内核间的一个接口。shell是一个命令解释器,它从输入设备读取命令,再将其转

20、为计算机可以了解的指令,然后执行它。在Linux中,shell又不仅是简单的命令解释器,而且是一个全功能的编程环境。64Shell 简介Linux系统中提供了好几种不同的shell,如ash,bash等,它相当于MS-DOS的COMMAND.COM什么是shell脚本程序? shell脚本程序就是按照一定的语法结构把若干linux命令组织在一起,使这些命令按照我们的要求完成一定功能。它可以进行类似程序的编写,并且不需要编译就能执行.65Shell 简介参考:Linux命令及shell(第13-18章)主要了解:shell变量条件测试控制结构66第三部分 嵌入式平台搭建TX-2440A 嵌入式视

21、频教程67 出品:天祥电子网址:第七讲 建立交叉编译环境68第七讲 建立交叉编译环境1.编译原理,gcc使用2.交叉编译原理3.交叉编译工具安装使用4.交叉编译实例分析69编译原理gcc/g+在执行编译的时候,只要分四个阶段 :1、预处理阶段,完成宏定义和include文件展开等工作;2、根据编译参数进行不同程度的优化,编译成汇编代码;3、用汇编器把汇编代码进一步生成目标代码;4、用连接器把生成的目标代码和系统或用户提供的库连接起来,生成可执行文件;70编译原理gcc/g+在执行编译的时候,只要分四个阶段 : 1.预处理,不生成文件 预处理器cpp 2.将预处理后的文件转换成汇编语言,生成.s的文件 编译器egcs 3.由汇编变为目标代码(机器代码)生成.o的文件 汇编器as 4.连接目标代码,生成可执行程序 链接器ld 71编译原理gcc常用编译选项:-c 只生成object文件,不链接-S 只把文件编译成为汇编代码-E 只运行C预编译器cpp,不生成文件-o 生成指定的输出文件 72编译原理gcc常用编译选项:-g 生成可被gdb使用的标准调试信息-IDIR 指定额外的头文件搜索路径DIR-LDIR 指定额外的库函数搜索路径DIR-lLIBRARY 指定链接时需要的其它函数库 “LIBRARY”7

温馨提示

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

评论

0/150

提交评论