嵌入式系统平台构建.ppt_第1页
嵌入式系统平台构建.ppt_第2页
嵌入式系统平台构建.ppt_第3页
嵌入式系统平台构建.ppt_第4页
嵌入式系统平台构建.ppt_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式系统,主讲教师: 田 茂 E-MAIL:,第二章 开发平台构建,Linux 简介 FriendlyARM6410开发平台简介 宿主机和目标机 虚拟机VMware及操作系统Ubuntu的安装 建立交叉开发环境 开发板安装Linux系统 在Windows下进行FTP下载 简单的Hello word,Linux 简介,Linux特点 稳定的系统 免费 多任务、多用户 良好的用户界面 可靠的系统安全 适合需要小内核程序的嵌入式系统 ,稳定的系统,Linux 本来就是基于 Unix 概念而发展出来的操作系统,因此, Linux 具有与 Unix 系统相似的的程序接口跟操作方式,当然也继承了 Unix 稳定并且有效率的特点。常听到安装 Linux 的主机连续运做一年以上而不曾当机、不必关机是稀松平常的事;,免费,由于 Linux 是基于 GPL 的基础下的产物,因此任何人皆可以自由取得 Linux , 至于一些安装套件的发行者, 他们发行的安装光盘也仅需要些许费用即可获得!不同于 Unix 需要负担庞大的版权费用,当然也不同于微软需要一而再、 再而三的更新你的系统,并且缴纳大量费用,多任务、多用户,与 Windows 系统不同的, Linux 主机上可以同时允许多人上线来工作, 并且资源的分配较为公平。你可以在一部 Linux 主机上面规划出不同等级的使用者,而且每个使用者登入系统时的工作环境都可以不相同, 此外,还可以允许不同的使用者在同一个时间登入主机,以同时使用主机的资源,可靠的系统安全,【没有绝对安全的主机】但是 Linux 由于支持者,有相当多的热心团体、个人参与其中的开发, 因此可以随时获得最新的安全信息,并给予随时的更新,亦即是具有相对的较安全,适合需要小内核程序的嵌入式系统,由于 Linux 只要几百 KB 不到的程序代码就可以完整驱动整个计算机并成为一个完整的操作系统, 因此相当适合于目前家电或者是小电子用品的操作系统,即嵌入式系统。Linux 适合例如手机、数字相机、PDA、家电用品等等的微电脑操作系统! 此外,有不少硬件式的网络防火墙及路由器,其内部都是使用Linux,并采用了操作系统提供的防火墙及路由功能。,Linux 与uC/OS-II的区别功能性,Linux 包含一整套的编译、调试等开发工具、内核源代码、各种文件系统、图形接口、各种协议、驱动程序以及丰富的应用程序。 而Uc/OS-II确切的来说只是一个微内核,仅仅包含多任务调度、简单内存管理等基本的多任务操作系统元素,且多任务调度算法和内存管理等都比较简单。对于想实现GUI、FS、协议等都必须另外购买或者移植,对于设备驱动程序没有提供专门统一的接口。,Linux 与uC/OS-II的区别开发工具,Linux 发布中包含了编译器和调试器等工具,他们都采用GCC编译器,汇编语法一致。 uC/OS-II没有指定编译器,在不同的平台下使用该平台的编译器,而各个编译器其汇编语法不同,因此,在不同类型平台下,汇编程序不一致。,Linux 与uC/OS-II的区别移植性,Linux 发布中包含了多种平台下的移植,可以通过配置内核选择体系结构和裁剪内核。 uC/OS-II的不同平台下的移植通过不同的移植代码独立发布,没有一个统一的界面,通过宏定义进行内核裁剪。,Linux 与uC/OS-II的区别开发资源,在开发上,Linux采用统一的API调用,接口文档齐全,书籍、网上资料也比较多 uC/OS-II虽然没有标准的API接口,但是其内核非常简单、简洁,且书籍、网上资料也非常丰富。,Linux 与uC/OS-II的区别实时性,Linux 内核不关心实时性问题,可以通过和RTLinux配合来实现实时。 RTLinux 处理实时任务,非实时任务任务由linux完成 RTLinux是为Linux 提供实时性的方法,同样也使用与Linux。通过RTLinux 的patch,可以满足Linux实时性的需求 uC/OS-II采用占先式内核,实时性好,Linux 与uClinux,uclinux表示micro-control linux.即“微控制器领域中的Linux系统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作 。 uCLinux是针对控制领域的嵌入式linux操作系统,它从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。适合不具备内存管理单元(MMU)的微处理器/微控制器。 没有MMU支持是uClinux与主流Linux的基本差异。,Linux 与uClinux,标准Linux是针对有MMU的处理器设计的。在这种处理器上,虚拟地址被送到MMU,把虚拟地址映射为物理地址。通过赋予每个任务不同的虚拟物理地址转换映射,支持不同任务之间的保护。 uCLinux系统对于内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为进程分配足够的连续地址空间,然后全部载入主存储器的连续空间中。 有些内核系统调用也有差异,高效 稳定 开源 用户级的可裁减 支持多种网络协议,IBM宣布其四个系列的服务器全面支持Linux 用J2EE及Oracle开发的应用程序也可以移植 到Linux上面来运行 Borland公司也开发了在Linux下面运行的 DelphiKylix SUN公司表示开放Sorlaris9的源代码,银行 政府 军队,嵌入式领域 手持消费类设备,Linux 应用,Internet网络服务器的应用 网站、域名解析、FTP、邮件系统 中小企业内部服务器的应用 代理上网、网络防火墙、企业网关 DHCP动态地址分配、Samba文件共享 软件开发环境的应用 支持C/C+、Perl、PHP、Java、Python 语言 桌面环境的应用 OpenOffice办公软件、Firefox浏览器 QQ/MSN即时通讯、RealPlayer、Mplayer播放器,Linux 在企业中应用,Linux赢得了大型数据库软件公司支持 IBM HP Dell Haier等厂商全面预装Linux操作系统,HP、SUN公司也将推出自己的桌面发行版本,SGI在开发大型Linux图形工作站 全球十大巨型机中,有四台在使用Linux操作系统 2005年11月的top500超级电脑表列的操作系统里,采用Linux为操作系统的,占了371组(即74.2%),其中的前十位者,有7组是使用Linux的。 当前, Linux赢得大量手机厂商的大力支持,比如Motorola等,虽然Linux具有如此多的好处,但是它先天上有一个足以致命的地方,使它的普及率受到很大的限制,就是Linux需要使用“命令行”的终端机模式进行系统的管理。虽然近年来有很多的图形界面在开发使用在Linux上面,但毕竟要熟悉Linux 还是以命令行来使用使比较好的,因此要接受Linux必须要熟悉对计算机下命令的行为,而不是只点鼠标。,目前已有大量各种各样基于 GNU/Linux 的操作系统,例如:Debian, SuSE, Gentoo, RedHat 和 Mandriva 。 Ubuntu首个版本发布于2004年9月,相对大多数Linux发行版来说,它的起步较晚,但是在朝着“易用”和“免费”方面不断发展的路途中,Ubuntu赢得了大家的喜爱,并成为数一数二的Linux发行版本。 Ubuntu 是基于 Debian 之上,旨在创建一个可以为桌面和服务器提供一个最新且一贯的 Linux 系统。Ubuntu 囊括了大量精挑细选自 Debian 发行版的软件包,同时保留了 Debian 强大的软件包管理系统,以便简易的安装或彻底的删除程序。与大多数发行版附带数量巨大的可用可不用的软件不同,Ubuntu 的软件包清单只包含那些高质量的重要应用程序。 固定的发布周期(6个月);易于初学者学习;丰富的文档(包括官方和用户贡献的 ),无论基于 GNU/Linux 的操作系统有多少,一个典型的Linux发行版应包括: Linux 内核,一些GNU程序库和工具,命令行 shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。,主板核心配置为CPU Samsung S3C6410A,主频533MHZ, 256M RAM , 2GB Nand Flash,底板资源包括 调试口 COM0 + JTAG + USB Slave USB Slave 1 x mini USB(底板没有设计 OTG功能) USB Host 通过 USB HUB 芯片,实现 4 个 USB Host 接口 网络接口 10/100M MB以太网, RJ-45 接口,底板资源 音频输入输出 3.5mm 标准双声道音频输入输出口 SD卡 普通 SD卡座 串口 4 x RS232 DB9 串口,4 x TTL 电平串口座 TV-OUT 1 x RCA输出口 SDIO2 接口座 主要用于接 SD WiFi 模块(还包括 SPI, I2C 接口) LCD接口 3 种 LCD接口引出座蜂鸣器 1 x PWM 控制蜂鸣器输出 红外 1 路红外接收头 温度传感器 1 路 DS18B02 温度传感器 ADC 转换 1 个可调电阻,连接 CPU的 AD0 通道,FriendlyARM6410 开发平台底板,宿主机和目标机,由于嵌入式Linux的开发资源有限,不可能在开发板上运行开发和调试工具。通常需要交叉编译调试的方式进行-即“宿主机(可以运行Linux的PC 机)+目标机(开发板)”的形式。 目标机和宿主机一般采用串口连接,亦可同时通过网口连接,如下图所示。,宿主机是运行Linux的PC。可以是安装了Linux操作系统的本地机,亦可以是Linux服务器(模型假定其IP为0)。 宿主机和目标机的处理器通常情况下都不会相同。宿主机需要建立适合于目标机的交叉编译环境。程序在宿主机上编译连接定位,得到的可执行文件则在目标机运行。 在开发调试过程中,通常的操作界面如下图所示。,在宿主机上一般需要运行2个窗口:宿主机本机操作窗口和串口终端窗口。宿主机操作窗口可以是本机的操作终端(安装Linux的本地机),亦可以Windows下通过远程登录软件如Telnet登录到Linux服务器的操作界面。宿主机只能编译连接程序,不能运行程序)。 串口终端,可以是Linux的minicom。亦可以是Windows的超级终端。目标机可以看成一台计算机,串口终端就相当于这台计算机的显示器,作为人机交互界面。在宿主机编译链接后得到的可执行文件,下载到目标机上运行。,虚拟机VMware及操作系统Ubuntu的安装,虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统VMware 可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。 VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就像标准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。,课程中演示所安装的VMware 版本 VMware-workstation-full-7.1.3-324285.exe Ubuntu版本是 ubuntu-12.04-desktop_cp.iso(也可使用光盘安装),安装后界面,Linux 启动后有可以看到很多目录文件,这些目录存放文件、作用如下 /bin 存放常用命令 /boot 存放启动程序 /dev 存放设备文件 /etc 存放启动、关闭、配置程序文件 /home 用户工作根目录 /lib 存放共享链接库 /root 超级用户的工作目录 /sbin 系统管理员的常用管理程序 /tmp 存放临时文件 /lost+found 系统出现异常时,用于保存部分资料,建立交叉开发环境,宿主机是运行Linux的PC或者服务器。由于Linux版本众多,各版本之间存在差异,我们这里使用的是Ubuntu12.04,安装在windows系统下的虚拟机(VMware-workstation-full-7.1.3)中。 由于目标板平台处理器是ARM,因而需要安装针对ARM的GCC编译器。适用于ARM Linux的编译器为arm-linux-gcc。,arm-linux-gcc安装步骤,将arm-linux-gcc-4.5.1.tgz文件复制到/opt目录下 解压文件。运行命令:#tar zxvf arm-linux-gcc-4.5.1.tgz -C /,解压之后就产生了目录/opt/FriendlyARM (tar zxvf 将目录或文件解压缩并解包) 修改环境变量。执行命令: #vi /.bashrc (或者#gedit /etc/bash.bashrc )打开.bashrc文件,在文件末尾添加exportPATH = $PATH:/opt /FriendlyARM/toolschain/ 4.5.1/bin 运行命令:arm-linux-gcc v 查看是否安装成功,开发板安装Linux系统,安装Linux系统主要有以下步骤: 准备好硬件连接,在PC机上配置超级终端 把开发板设置为SD启动 对 Nand Flash 进行格式化,对应命令f 安装 Bootloader,对应命令v 安装内核文件,对应命令k 安装目标文件系统(yaffs

温馨提示

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

评论

0/150

提交评论