《(37)--6-2 嵌入式Linux(下)嵌入式系统原理.ppt》由会员分享,可在线阅读,更多相关《(37)--6-2 嵌入式Linux(下)嵌入式系统原理.ppt(14页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、6C H A P T E R嵌入式操作系统嵌入式操作系统Embedded Operating System2章节提要1 13 32 24 4嵌入式操作系统简介嵌入式操作系统简介嵌入式嵌入式Linux嵌入式嵌入式Linux下设备驱动程序开发下设备驱动程序开发嵌入式嵌入式Linux下应用程序开发下应用程序开发嵌入式嵌入式Linux系统打造系统打造5 56-2 嵌入式Linux(Embedded Linux)主要内容:nLinux体系结构nLinux内核架构nLinux的用户ShellnLinux下应用程序的开发方法nLinux程序的调试n嵌入式嵌入式Linux的应用开发环境的应用开发环境6-2 嵌
2、入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 开发环境开发环境1-交叉开发环境交叉开发环境目标机硬件目标机硬件目标机应用系统目标机应用系统 应用软件 应用中间件 目标机OS宿主机硬件宿主机硬件宿主机宿主机OS调调试试代代理理运运行行库库宿主机开发环境宿主机开发环境 编辑 编译 连接 调试运行平台TargetTarget开发平台Host6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 开发环境开发环境2-本地开发本地开发目标平台Target目标机硬件目标机硬件目标机目标机OS运运行行库库
3、目标机开发环境目标机开发环境编辑编译连接调试目标机应用程序目标机应用程序Raspberry PI6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 交叉开发环境中的连接方式 n物理连接是指宿主机与目标机通过物理线路连接在一起,n连接方式主要有三种:n串口n以太口nOCD(On Chip Debug)方式,如JTAG、BDM等n物理连接是逻辑连接的基础。n逻辑连接指宿主机与目标机间按某种通信协议建立起来 的通信连接,目前逐步形成了一些通信协议的标准。6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境
4、的应用开发环境 宿主机与目标机的逻辑连接1终端方式 通过命令行操作方式控制目标机。n串口终端(RS232连接):超级终端、DNW等软件(演示),可以使用 zModem或xModem协议传输文件。ntelnet方式(TCP连接):利用网线连接,使用方便。6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 宿主机与目标机的逻辑连接2文件传输 ftp方式:这是使用最多的一种方式。该方式需要一方作为服务端,即ftp server;另一方作为客户端。通常,目标机作为服务端,运行tftp软件。宿主机使用ftp命令去访问目标机。ftp常用命令:常用命令
5、:ftp 192.168.0.100 输入用户名和密码。输入用户名和密码。put filename /发送文件发送文件 get fielname /获取文件获取文件 bye /退出退出 6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 联机调试n单片机通常采用串口或JTAG口进行联机调试。nARM系统如果安装了操作系统,则通常采用基于TCP协议的联机调试方式。(演示WinCE的联机设定)6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 (1)Linux使用GNU工具链。这些工具链
6、是免费的,可以下载使用。(2)各工具软件版本要匹配,才能正常使用。(3)工具链包括:BINTUTILS、GCC、GLIBC和GDB,可从http:/www.gnu.org下载 宿主机上的交叉开发环境6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 举例:实验用ARM开发板,其配套的Linux交叉开发工具已经编译并打包,命名为arm-linux-gcc-4.5.1-XXX.tgz,文件名中的数字表示其版本号。(i)将交叉开发工具包解压安装到Linux下即可,无需重新编译。tar zxvf arm-linux-gcc-4.5.1-XXX.t
7、gz C/安装在其默认的文件夹内,如/opt/FriendlyARM/toolschain/4.5.1文件夹下 宿主机上的交叉开发环境6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 宿主机上的交叉开发环境(ii)将交叉编译器路径添加到系统环境变量中,便于使用:gedit/etc/profile添加以下四行到该文件中:export PATH=/opt/FriendlyARM/toolschain/4.5.1:$PATHexport TOOLCHAIN=/opt/FriendlyARM/toolschain/4.5.1export TB_
8、CC_PREFIX=arm-linuxexport PKG_CONFIG_PREFIX=$TOOLCHAIN/arm-none-linux-gnueabi6-2 嵌入式Linux(Embedded Linux)(6)嵌入式Linux的应用开发环境的应用开发环境 宿主机上的交叉开发环境n(iii)交叉编译n把在宿主机上编写的高级语言程序编译成可以运行在目标机上的代码,即在宿主机上能够编译生成另一种CPU(嵌入式微处理器)上的二进制程序。n用arm-linux-gcc 代替原来的gcc编译器即可。n#arm-linux-gcc t.c-o t6-2 嵌入式Linux(Embedded Linux)小结 nLinux体系结构nLinux内核架构nLinux的用户ShellnLinux下应用程序的开发方法nLinux程序的调试n嵌入式Linux的应用开发环境应用开发环境