《最新嵌入式系统平台构建PPT课件.ppt》由会员分享,可在线阅读,更多相关《最新嵌入式系统平台构建PPT课件.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、嵌入式系统平台构建嵌入式系统平台构建第二章开发平台构建Linux简介FriendlyARM6410开发平台简介宿主机和目标机虚拟机VMware及操作系统Ubuntu的安装建立交叉开发环境 开发板安装Linux系统在Windows下进行FTP下载简单的Hello wordLinux 与uC/OS-II的区别开发资源p在开发上,Linux采用统一的API调用,接口文档齐全,书籍、网上资料也比较多puC/OS-II虽然没有标准的API接口,但是其内核非常简单、简洁,且书籍、网上资料也非常丰富。Linux 与uC/OS-II的区别实时性pLinux 内核不关心实时性问题,可以通过和RTLinux配合来
2、实现实时。RTLinux 处理实时任务,非实时任务任务由linux完成RTLinux是为Linux 提供实时性的方法,同样也使用与Linux。通过RTLinux 的patch,可以满足Linux实时性的需求puC/OS-II采用占先式内核,实时性好Linux 与与uClinuxuclinux表示micro-control linux.即“微控制器领域中的Linux系统”,是Lineo公司的主打产品,同时也是开放源码的嵌入式Linux的典范之作。uCLinux是针对控制领域的嵌入式linux操作系统,它从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。适合不具备内存管
3、理单元(MMU)的微处理器/微控制器。没有MMU支持是uClinux与主流Linux的基本差异。Linux 与与uClinuxp标准Linux是针对有MMU的处理器设计的。在这种处理器上,虚拟地址被送到MMU,把虚拟地址映射为物理地址。通过赋予每个任务不同的虚拟物理地址转换映射,支持不同任务之间的保护。puCLinux系统对于内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。操作系统对内存空间没有保护,各个进程实际上共享一个运行空间。一个进程在执行前,系统必须为进程分配足够的连续地址空间,然后全部载入主存储器的连续空间中。p有些内核系统调用也有差异 高效 稳定开源用户级的可裁减 支持
4、多种网络协议 IBM宣布其四个系列的服务器全面支持Linux 用J2EE及Oracle开发的应用程序也可以移植到Linux上面来运行 Borland公司也开发了在Linux下面运行的DelphiKylix SUN公司表示开放Sorlaris9的源代码 银行 政府 军队 嵌入式领域 手持消费类设备Linux 应用应用InternetInternetInternetInternet网络服务器的应用网络服务器的应用网络服务器的应用网络服务器的应用 网站、域名解析、FTP、邮件系统 中小企业内部服务器的应用中小企业内部服务器的应用中小企业内部服务器的应用中小企业内部服务器的应用代理上网、网络防火墙、企
5、业网关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图形工作站 全球十大巨型机中,有四
6、台在使用Linux操作系统2005年11月的top500超级电脑表列的操作系统里,采用Linux为操作系统的,占了371组(即74.2%),其中的前十位者,有7组是使用Linux的。当前,Linux赢得大量手机厂商的大力支持,比如Motorola等 虽然Linux具有如此多的好处,但是它先天上有一个足以致命的地方,使它的普及率受到很大的限制,就是Linux需要使用“命令行”的终端机模式进行系统的管理。虽然近年来有很多的图形界面在开发使用在Linux上面,但毕竟要熟悉Linux 还是以命令行来使用使比较好的,因此要接受Linux必须要熟悉对计算机下命令的行为,而不是只点鼠标。目前已有大量各种各样
7、基于 GNU/Linux 的操作系统,例如:Debian,SuSE,Gentoo,RedHat 和 Mandriva。Ubuntu首个版本发布于2004年9月,相对大多数Linux发行版来说,它的起步较晚,但是在朝着“易用”和“免费”方面不断发展的路途中,Ubuntu赢得了大家的喜爱,并成为数一数二的Linux发行版本。Ubuntu 是基于 Debian 之上,旨在创建一个可以为桌面和服务器提供一个最新且一贯的 Linux 系统。Ubuntu 囊括了大量精挑细选自 Debian 发行版的软件包,同时保留了 Debian 强大的软件包管理系统,以便简易的安装或彻底的删除程序。与大多数发行版附带数
8、量巨大的可用可不用的软件不同,Ubuntu 的软件包清单只包含那些高质量的重要应用程序。固定的发布周期(6个月);易于初学者学习;丰富的文档(包括官方和用户贡献的)无论基于无论基于 GNU/Linux 的操作系统有多少,一的操作系统有多少,一个典型的个典型的Linux发行版应包括发行版应包括:uLinux 内核,一些GNU程序库和工具,命令行 shell,图形界面的X Window系统和相应的桌面环境,如KDE或GNOME,并包含数千种从办公套件,编译器,文本编辑器到科学工具的应用软件。FriendlyARM6410开发平台硬件配置开发平台硬件配置u主板核心配置为CPUSamsungS3C64
9、10A,主频533MHZ,256MRAM,2GBNandFlashu底板资源包括调试口 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,I
10、2C 接口)LCD接口 3 种 LCD接口引出座蜂鸣器 1 x PWM 控制蜂鸣器输出 红外 1 路红外接收头 温度传感器 1 路 DS18B02 温度传感器 ADC 转换 1 个可调电阻,连接 CPU的 AD0 通道 FriendlyARM6410开发平台底板宿主机和目标机宿主机和目标机由于嵌入式Linux的开发资源有限,不可能在开发板上运行开发和调试工具。通常需要交叉编译调试的方式进行-即“宿主机(可以运行Linux的PC机)+目标机(开发板)”的形式。目标机和宿主机一般采用串口连接,亦可同时通过网口连接,如下图所示。宿主机是运行Linux的PC。可以是安装了Linux操作系统的本地机,亦
11、可以是Linux服务器(模型假定其IP为192.168.0.10)。宿主机和目标机的处理器通常情况下都不会相同。宿主机需要建立适合于目标机的交叉编译环境。程序在宿主机上编译连接定位,得到的可执行文件则在目标机运行。在开发调试过程中,通常的操作界面如下图所示。在宿主机上一般需要运行2个窗口:宿主机本机操作窗口和串口终端窗口。宿主机操作窗口可以是本机的操作终端(安装Linux的本地机),亦可以Windows下通过远程登录软件如Telnet登录到Linux服务器的操作界面。宿主机只能编译连接程序,不能运行程序)。串口终端,可以是Linux的minicom。亦可以是Windows的超级终端。目标机可以
12、看成一台计算机,串口终端就相当于这台计算机的显示器,作为人机交互界面。在宿主机编译链接后得到的可执行文件,下载到目标机上运行。虚拟机虚拟机VMware及操作系统及操作系统Ubuntu的安装的安装 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统VMware 可以使你在一台机器上同时运行二个或更多Windows、DOS、LINUX系统。与“多启动”系统相比,VMWare采用了完全不同的概念。多启动系统在一个时刻只能运行一个系统,在系统切换时需要重新启动机器。VMWare是真正“同时”运行,多个操作系统在主系统的平台上,就像标
13、准Windows应用程序那样切换。而且每个操作系统你都可以进行虚拟的分区、配置而不影响真实硬盘的数据,你甚至可以通过网卡将几台虚拟机用网卡连接为一个局域网,极其方便。课程中演示所安装的VMware 版本VMware-workstation-full-7.1.3-324285.exeUbuntu版本是ubuntu-12.04-desktop_cp.iso(也可使用光盘安装)安装后界面安装后界面Linux 启动后有可以看到很多目录文件,这些目录存放文件、作用如下/bin存放常用命令/boot 存放启动程序/dev存放设备文件/etc存放启动、关闭、配置程序文件/home用户工作根目录/lib存放共
14、享链接库/root 超级用户的工作目录/sbin 系统管理员的常用管理程序/tmp存放临时文件/lost+found系统出现异常时,用于保存部分资料建立交叉开发环境建立交叉开发环境宿主机是运行Linux的PC或者服务器。由于Linux版本众多,各版本之间存在差异,我们这里使用的是Ubuntu12.04,安装在windows系统下的虚拟机(VMware-workstation-full-7.1.3)中。由于目标板平台处理器是ARM,因而需要安装针对ARM的GCC编译器。适用于ARMLinux的编译器为arm-linux-gcc。arm-linux-gcc安装步骤安装步骤l将arm-linux-g
15、cc-4.5.1.tgz文件复制到/opt目录下l解压文件。运行命令:#tarzxvfarm-linux-gcc-4.5.1.tgz-C/,解压之后就产生了目录/opt/FriendlyARM(tarzxvf将目录或文件解压缩并解包)l修改环境变量。执行命令:#vi/.bashrc(或者#gedit/etc/bash.bashrc)打开.bashrc文件,在文件末尾添加exportPATH=$PATH:/opt/FriendlyARM/toolschain/4.5.1/binl运行命令:arm-linux-gccv查看是否安装成功开发板安装开发板安装Linux系统系统安装Linux系统主要有以
16、下步骤:u准备好硬件连接,在PC机上配置超级终端把开发板设置为SD启动u对NandFlash进行格式化,对应命令fu安装Bootloader,对应命令vu安装内核文件,对应命令ku安装目标文件系统(yaffs2或ubifs格式),对应命令y或u在在Windows下进行下进行FTP下载下载l设置目标板的IP为192.168.1.1,保证与宿主机在同一IP段(ifconfigeth0192.168.1.1netmask255.255.255.0)l设置TFTPSERVER软件(设置input目录和output目录为PC机桌面)l在Windows的超级终端中执行文件传输命令(tftp-g-ra.ou
17、t192.168.1.10)将文件发送到目标板l在Windows的超级终端中执行文件传输命令(tftp-p-la.out192.168.1.10)将文件发送到PC机Tftp 指令指令utftp-dignv主机名称或IP地址u-gGetfile(从宿主机获得文件)u-r文件名remotefile(远程文件)u-pPutfile(发送文件到宿主机)u-l文件名localfile(本地文件)简单的简单的hello wordn创建一个名位hello.c的文件,代码如下#includeintmain(void)printf(Helloworld!n);return0;u将文件复制到ubuntu进行编译,执行命令:arm-linux-gcchello.c执行后会产生一个名为a.out的二进制文件u将a.out文件复制到widows系统桌面u将文件传入到目标板u在windows系统的超级终端执行a.out文件