天祥ARM视频TXA全部课件第一部分共四个部分.ppt

上传人:本田雅阁 文档编号:3303130 上传时间:2019-08-10 格式:PPT 页数:81 大小:1.81MB
返回 下载 相关 举报
天祥ARM视频TXA全部课件第一部分共四个部分.ppt_第1页
第1页 / 共81页
天祥ARM视频TXA全部课件第一部分共四个部分.ppt_第2页
第2页 / 共81页
天祥ARM视频TXA全部课件第一部分共四个部分.ppt_第3页
第3页 / 共81页
天祥ARM视频TXA全部课件第一部分共四个部分.ppt_第4页
第4页 / 共81页
天祥ARM视频TXA全部课件第一部分共四个部分.ppt_第5页
第5页 / 共81页
点击查看更多>>
资源描述

《天祥ARM视频TXA全部课件第一部分共四个部分.ppt》由会员分享,可在线阅读,更多相关《天祥ARM视频TXA全部课件第一部分共四个部分.ppt(81页珍藏版)》请在三一文库上搜索。

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

2、系统 是指那些使用嵌入式微处理器构成的独立系统,具有操作系统,完成特定功能,用于特定场合,嵌入式系统的定义,嵌入式系统的应用远远超过了各种通用计算机 一台通用计算机的外部设备中就包含了5-10个嵌入式微处理器: 键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数字相机、USB集线器等均是由嵌入式处理器控制的 在制造工业、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等方面均是嵌入式计算机的应用领域,嵌入式系统的应用,嵌入式系统的组成,总体上嵌入式系统可以划分成硬件和软件两部分 硬件一般由高性能的微处理器和外围的接口电路组成 软件一般由实

3、时操作系统和其上运行的应用软件构成,嵌入式系统的特点,与PC机在硬件开发平台上对比,嵌入式系统的特点,与PC机在软件开发平台上对比,嵌入式系统的特点,系统内核小 嵌入式系统一般是应用于小型电子装置的,系统资源相对有限,所以内核较之传统的操作系统要小得多 专用性强 嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植 系统精简 嵌入式系统一般不要求其功能设计及实现上过于复杂,这样一方面利于控制系统成本,同时也利于系统安全 实时性操作系统 这是嵌入式软件的基本要求,而且软件要求固化存储,以提高速度,软件代码要求高质量和高可靠性、实时性 专用的开发工具和开发环境,

4、嵌入式系统的组成,嵌入式系统的组成,硬件部分: 嵌入式微处理器 外围硬件设备 软件部分: 嵌入式操作系统 特定的应用程序,嵌入式处理器,嵌入式处理器是嵌入式系统的核心部件,与通用处理器的最大差异在于其大多工作在为特定用户群设计的系统中。 嵌入式处理器通常把通用计算机中许多由板块完成的任务集成在芯片内部,从而有利于嵌入式系统趋于小型化,并具有高效率、高可靠性等特征。 目前,市面上有1000多种嵌入式处理器芯片,包括ARM系列、MIPS系列、PowerPC系列等等。,嵌入式处理器,外围硬件设备,外围设备是指在一个嵌入式系统当中,嵌入式处理器以外的完成存储、通信、调试、显示等辅助功能的其它部件,根据

5、外围设备的功能可分为以下3类: 存储器:SRAM、DRAM、NAND FLASH、 NOR FLASH等 接口:并口、RS232串口、SPI串行接口、USB通用串行总线、以太网接口等 人机接口:LCD、触摸屏、键盘等,嵌入式操作系统,用户的其它应用程序都建立在OS之上 OS将CPU时间、中断、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级,合理地在不同任务之间分配CPU时间 主要功能: 处理器管理 存储器管理 设备管理 文件管理 用户接口管理,嵌入式操作系统,嵌入式操作系统,1. 嵌入式Linux Linux本身所具备的源码开放、内核可裁减等种种特性使其成为一

6、种重要的嵌入式操作系统 随着嵌入式Linux技术的成熟,定制更加方便,同时支持更多的平台 2. WinCE WinCE的缺点是体积庞大,价格昂贵,不完全开放源码。因此随着嵌入式操作系统领域日益激烈的竞争,微软不得不应付来自Linux等免费系统的冲击,嵌入式操作系统,3. VxWorks VxWorks是美国WindRiver公司专门为实时嵌入式系统设计开发的操作系统软件。VxWorks拥有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在实时嵌入式操作系统领域占据一席之地,但其昂贵的价格让不少厂商望而却步 4. C/OS C/OS是一个典型的实时操作系统。它是研究和学习实时操作系统的重

7、要选择。 特点:源码公开、代码结构清晰、可移植性好、可裁减、可固化、内核属于抢占式,最多可以管理60个任务。,嵌入式软件组成,应用层:特定的应用程序 文件系统/图形用户应用程序接口 OS层: 实时操作系统 驱动层:设备驱动程序、HAL、BSP,嵌入式开发分类,硬件开发: 电路设计 驱动开发 系统开发: Linux开发 WINCE开发 软件开发: 应用程序 图形界面,第一部分 嵌入式系统开发流程概述,TX-2440A 嵌入式视频教程,出品:天祥电子 网址:,第二讲 如何学习嵌入式,第二讲 如何学习嵌入式,嵌入式系统开发流程 视频内容介绍 学习嵌入式的方法,嵌入式系统开发流程,裸机开发: 对于功能

8、简单仅包括应用程序的嵌入式系统一般不使用操作系统,仅有应用程序和设备驱动程序 带操作系统的开发: 当设计较复杂的程序时,可能就需要一个操作系统(OS)来管理控制内存、多任务、周边资源等,现代高性能嵌入式系统应用越来越广泛,操作系统使用成为必然发展趋势,嵌入式系统开发流程,带操作系统的开发: 硬件开发 启动加载程序 操作系统内核 根文件系统 设备驱动 应用程序,嵌入式系统开发流程,通常基于linux系统的嵌入式开发步骤如下: 开发目标硬件系统: 如选择微处理器、Flash及其它外设等 建立交叉开发环境: 安装交叉编译工具链、安装开发调试工具 开发Bootloader:移植uboot,vivi 移

9、植linux内核:如linux2.6.31内核 开发根文件系统:CRAMFS,YAFFS 开发相关硬件的驱动程序:led,adc等驱动 开发上层的应用程序:如QT GUI开发,必备的基础,计算机操作能力 操作系统原理 单片机基础 C语言基础 独立解决问题的能力,第二部分 开发板功能演示,TX-2440A 嵌入式视频教程,出品:天祥电子 网址:,第三讲 TX2440A开发板外围硬件介绍,第三讲 TX2440A开发板外围硬件介绍,核心板资源介绍 底板资源介绍 外围模块介绍,第二部分 开发板功能演示,TX-2440A 嵌入式视频教程,出品:天祥电子 网址:,第四讲 TX2440A开发板功能演示,整板

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

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

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

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

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

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

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

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

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

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

20、A 嵌入式视频教程,出品:天祥电子 网址:,第七讲 建立交叉编译环境,第七讲 建立交叉编译环境,1.编译原理,gcc使用 2.交叉编译原理 3.交叉编译工具安装使用 4.交叉编译实例分析,编译原理,gcc/g+在执行编译的时候,只要分四个阶段 : 1、预处理阶段,完成宏定义和include文件展开等工作; 2、根据编译参数进行不同程度的优化,编译成汇编代码; 3、用汇编器把汇编代码进一步生成目标代码; 4、用连接器把生成的目标代码和系统或用户提供的库连接起来,生成可执行文件;,编译原理,gcc/g+在执行编译的时候,只要分四个阶段 : 1.预处理,不生成文件 预处理器cpp 2.将预处理后的文

21、件转换成汇编语言,生成.s的文件 编译器egcs 3.由汇编变为目标代码(机器代码)生成.o的文件 汇编器as 4.连接目标代码,生成可执行程序 链接器ld,编译原理,gcc常用编译选项: -c 只生成object文件,不链接 -S 只把文件编译成为汇编代码 -E 只运行C预编译器cpp,不生成文件 -o 生成指定的输出文件,编译原理,gcc常用编译选项: -g 生成可被gdb使用的标准调试信息 -IDIR 指定额外的头文件搜索路径DIR -LDIR 指定额外的库函数搜索路径DIR -lLIBRARY 指定链接时需要的其它函数库 “LIBRARY”,编译原理,gcc常用编译选项: -w 不生成

22、任何警告信息 -Wall 生成所有级别的警告信息 -shared 生成支持动态共享库的执行文件 -static 不支持动态共享库,把函数库内容静 态链接到可执行程序中,编译原理,gcc优化编译选项: -O0 不进行代码优化处理 -O,O1 进行一般优化,减少大小和时间 -O2 进一步优化,一般在内核编译时使用 -O3 较-O2进一步优化,编译原理,gcc可以同时用来编译C程序和C+程序。但gcc只能编译C+源文件,而不能自动和C+程序使用的库链接。因此,通常使用g+完成C+程序的编译和链接.,交叉编译原理,什么是交叉编译? 在一种计算机环境中运行的编译程序,能编译出在另外一种环境下运行的代码,

23、这个编译过程就叫交叉编译。 简单地说,就是在一个平台上生成另一个平台上的可执行代码。,交叉编译原理,这里所谓的平台,实际上包含两个概念: 体系结构,操作系统 同一个体系结构可以运行不同的操作系统; 同一个操作系统也可以在不同的体系结构上运行。,交叉编译原理,要进行交叉编译,我们需要在主机平台上安装对应的交叉编译工具链(cross compilation tool chain) 然后用这个交叉编译工具链编译我们的源代码,最终生成可在目标平台上运行的代码。,交叉编译原理,主机平台,目标平台,安装交叉编译工具链,什么是EABI? Embedded application binary interface, 即嵌入式应用二进制接口,是描述可连接目标代码,库目标代码,可执行文件影像,如何连接,执行和调试,以及目标代码生成过程,和c, c+语言接口的规范,是编译连接工具的基础规范,也是研究它们工作原理的基础。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1