嵌入式基础与开发环境.ppt
《嵌入式基础与开发环境.ppt》由会员分享,可在线阅读,更多相关《嵌入式基础与开发环境.ppt(35页珍藏版)》请在三一办公上搜索。
1、学习目标,学员需要掌握如下内容:嵌入式开发环境的搭建嵌入式程序开发的流程,嵌入式linux开发基础,嵌入式系统的构成,嵌入式linux系统,应用程序,硬件平台,嵌入式软件,内核子程序(进程调度、内存管理、文件系统、网络、进程间通信),动态库,BSP包(驱动程序),系统调用,内核软件,嵌入式应用开发过程一个嵌入式应用项目的开发过程是一个硬件和软件设计的综合过程,是一个系统设计过程,主要经历以下步骤:硬件设计与实现引导加载程序的设计操作系统的移植(主要是驱动程序移植)应用程序的设计系统调试,样机交付其中,引导加载程序,操作系统移植,应用程序设计是软件设计,具有自己的特点。,嵌入式软件开发,需要交叉
2、编译硬件平台处理器较慢,内存和外存容量小等等;把软件开发放在高性能的PC机上进行;PC机上CPU指令集与嵌入式CPU的指令集是不同的,因此,在PC机上开发嵌入式软件需要交叉编译。需要移植由于嵌入式系统是一个软硬件定制的系统,硬件平台各不相同,软件设计需要根据不同的硬件设备来添加或修改相应的代码,这就是移植。,嵌入式软件开发,在一个硬件平台上设计一个基于linux的软件系统,需要的工作可以分为以下三部分:Bootloader设计Linux内核的定制移植,驱动程序的开发应用程序的设计,嵌入式linux软件开发,嵌入式Linux开发环境,嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件
3、平台上编写软件比较困难,有时候甚至是不可能的。解决办法:首先在通用计算机上编写程序;然后通过交叉编译生成目标平台上可以运行的二进制代码格式;最后再下载到目标平台上的特定位置上运行。,嵌入式Linux开发环境,关于交叉编译 在一种平台上编译出能在另一种平台(体系结构不同)上运行的程序。在PC平台(X86 CPU)上编译出能运行在arm平台上的程序,编译得到的程序在X86 CPU平台上是不能运行的,必须放到arm平台上才能运行。用来编译这种程序的编译器就叫交叉编译器。为了不跟本地编译器混淆,交叉编译器的名字一般都有前缀。例如:arm-linux-gcc,嵌入式Linux开发环境,嵌入式Linux开
4、发环境,嵌入式Linux开发环境,需要交叉开发环境(Cross Development Environment)的支持是嵌入式应用软件开发时的一个显著特点。交叉编译器只是交叉开发环境的一部分。交叉开发环境是指编译、链接和调试嵌入式应用软件的环境,它与运行嵌入式应用软件的环境有所不同,通常采用宿主机目标机模式。,嵌入式Linux开发环境,宿主机目标板模式宿主机(Host)是一台通用计算机,它通过串口或者以太网接口与目标机通信。宿主机的软硬件资源比较丰富,能够大大提高嵌入式应用软件的开发速度和效率。目标板(Target),应用程序实际运行的平台,或者是能够替代实际运行环境的仿真系统。软硬件资源通常
5、都比较有限。,嵌入式Linux开发环境,宿主机目标机模式首先利用宿主机上丰富的资源和良好的开发环境开发和仿真调试目标机上的软件;然后通过串口或者以网络将交叉编译生成的目标代码传输并装载到目标机上,并在监控程序或者操作系统的支持下利用交叉调试器进行分析和调试;最后目标机在特定环境下脱离宿主机单独运行。,嵌入式Linux开发环境,开放的交叉开发环境的典型代表是GNU工具链目前已经能够支持x86、ARM、MIPS、PowerPC等多种处理器。商业的交叉开发环境则主要有Mentor Graphics SourceryTools、ARM Software Development Toolkit等等。,嵌
6、入式Linux开发环境,GNU交叉工具链交叉编译器,例如arm-linux-gcc交叉汇编器,例如arm-linux-as交叉链接器,例如arm-linux-ld用于处理可执行程序和库的一些基本工具。例如arm-linux-strip,嵌入式Linux开发环境,arm-gcc 的安装sudo tar xvfj arm-gcc.tar.bz2-C/arm-gcc.tar.bz2 在共享的tools/x210 目录arm-gcc.tar.bz2 包含了4个不同版本的arm-gcc:4.3.2 arm-2009q3 arm-none-eabi-2010-09-51 arm-none-linux-gn
7、ueabi-2010-09-50如果要用哪个编辑器就执行export PATH=/usr/local/arm/xxxx/bin:$PATH这里xxxx指的是上面其中的一个,嵌入式Linux开发环境,GNU交叉工具链的常用工具介绍,嵌入式Linux开发环境,主要工具的使用arm-linux-gcc 的使用arm-linux-gcc o hello hello.carm-linux-ar 和 arm-linux-ranlib 的使用建立一个静态库arm-linux-ar r libhello.a h1.o h2.o为静态库建立索引arm-linux-ar s libhello.aarm-linux
8、-ranlib libhello.a由静态库产生可执行文件arm-linux-gcc-o hello hello.c lhello L./arm-linux-gcc-o hello hello.c libhello.a,嵌入式Linux开发环境,主要工具的使用arm-linux-strip 的使用移除所有的符号信息-strip-allcp hello hello1arm-linux-strip-strip-all hello-rwxr-xr-x 1 arm root 2856 7 月 3 15:14 hello-rwxr-xr-x 1 arm root 13682 7 月 3 15:13 he
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 基础 开发 环境

链接地址:https://www.31ppt.com/p-6569759.html