欢迎来到天天文库
浏览记录
ID:11156645
大小:330.50 KB
页数:42页
时间:2018-07-10
《嵌入式linux系统移植和简单驱动讲稿》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、http://blog.sina.com.cn/niuniumeng嵌入式linux系统移植和简单驱动文件状态:[]草稿[]正式发布[√]正在修改文件标识:华清远见嵌入式linux系统移植和简单驱动当前版本:0.1作者:蒙洋博客:http://blog.sina.com.cn/niuniumeng进度记录GNUtools完成Bootloader部分还有待丰富内容完成日期:2009-4-942http://blog.sina.com.cn/niuniumeng嵌入式Linux开发环境搭建内容提纲}嵌入式linux开发介绍
2、}嵌入式系统简介}嵌入式linux系统构成}嵌入式linux系统开发移植主要工作}嵌入式Linux开发环境的搭建}搭建嵌入式Linux开发环境的主要工作}嵌入式Linux交叉开发环境硬件基本组成}为什么需要交叉编译?}gnu工具链简介}安装交叉编译工具,开源的gcc的编译}主机、目标机通讯及为提供开发效率辅助方法介绍}主机端需要什么}目标机端需要什么GNUTools建立和开发环境GUNTools是Linux环境下的主要开发工具,掌握这些开发工具的使用是嵌入式Linux开发人员所必须的技能,必须的!这一讲我们将花费很长的
3、时间来介绍GUNTools开发工具中的核心软件及其调试工具,为后面的驱动和应用的开发打下坚实的基础。我们这里只是涉及到了在嵌入式开发经常用的工具软件,更多的参数和功能大家可以参考手册。我这里是抛砖引玉,希望能发现几块好玉,呵呵!1、GUNTools简介嵌入式软件开发与普通的软件开发没有什么不同,但是由于嵌入式系统的可配置性和定制性,需要开发者对嵌入式系统的每个环节要十分的了解(举例在PC下写应用不需要了解系统的很多机制)。为了更好的进行嵌入式linux开发至少要了解如下4类开发工具:l编译工具:源程序—》可执行程序,G
4、CCl调试工具:debug源程序,包括c代码和汇编代码,GDBl软件工程工具:用于大型项目的管理,make,CVS(注)l其他工具:连接器,格式转换的工具注:CVS:全称是CurrentVersionControl.CVS是一种GNU软件包.由Intersolv公司开发,最新的版本是1.10.8.它是一种基于RCS系统的维护工具.它明确的将源文件的存储和用户的工作空间独立开来,有在一定的模式上扩展了RCS的恢复提交功能.并使其有利与并行开发.2、GCC和GNUTools工具集介绍在为Linux开发应用程序时,绝大多数情
5、况下使用的都是C语言,因此几乎每一位Linux程序员面临的首要问题都是如何灵活运用C编译器。目前Linux下最常用的C语言编译器是GCC(GNUCompilerCollection),它是GNU项目中符合ANSI42http://blog.sina.com.cn/niuniumengC标准的编译系统,能够编译用C、C++和ObjectC等语言编写的程序。GCC不仅功能非常强大,结构也异常灵活。最值得称道的一点就是它可以通过不同的前端模块来支持各种语言,如Java、Fortran、Pascal等。GNUTools工具集G
6、cc:符合ISO标准的C编译器G++:符合ISO标准的C++编译器GNUbinutils是一组二进制工具集。包括:addr2line、ar、as、gprof、ld、nm、objcopy、objdump、ranlib、size、strings、strip.这里归纳他们的常用法。arar用于建立、修改、提取档案文件(archive)。archive是一个包含多个被包含文件的单一文件(也称之为库文件),其结构保证了可以从中检索并得到原始的被包含文件(称之为archive中的member)。member的原始文件内容、模式(权
7、限)、时间戳、所有着和组等属性都被保存在archive中。member被提取后,他们的属性被恢复到初始状态。ar可以主要用于创建C库文件 多说没用,大家可以参考数据手册。举个简单的例子:建立程序add.cintAdd(inta,intb){intresult;result=a+b;returnresult;}建立程序minus.cintMinus(inta,intb){intresult;result=a-b;returnresult;}执行命令:42http://blog.sina.com.cn/niuniumeng
8、gcc–cadd.cminus.c-c的含义是只编译生成object文件,生成add.o和minus.oarrvlibtest.aadd.ominux.o生成一个libtest.a的库文件将libtest.a文件拷贝到/usr/lib/下,下面我们编写一个测试程序来验证一下我的库文件是否好用。建立test_ar.c文件用于测试#i
此文档下载收益归作者所有