基于arm9和linux嵌入式系统设计

基于arm9和linux嵌入式系统设计

ID:27659715

大小:947.50 KB

页数:136页

时间:2018-12-02

基于arm9和linux嵌入式系统设计_第1页
基于arm9和linux嵌入式系统设计_第2页
基于arm9和linux嵌入式系统设计_第3页
基于arm9和linux嵌入式系统设计_第4页
基于arm9和linux嵌入式系统设计_第5页
资源描述:

《基于arm9和linux嵌入式系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第9章基于ARM9和Linux嵌入式系统设计9.1嵌入式Linux的开发环境9.2Linux开发工具的使用9.3GNUmake命令和makefile文件9.4嵌入式Linux引导程序9.5嵌入式Linux下程序调试应用举例9.1嵌入式Linux的开发环境9.1.1嵌入式Linux开发环境建立嵌入式Linux开发环境有几个方案:(1)在WINDOWS下安装Linux虚拟机后,目前大多情况下使用VWare软件;(2)直接安装Linux操作系统。9.1.2嵌入式Linux开发的一般过程1.了解硬件;2.准备需要使用的Linux工具以及其他工具;3.安排

2、内存地址;4.编写启动代码和机器相关代码;5.编写驱动程序;6.C库、GUI和系统程序的移植;7.调试.9.2Linux开发工具的使用9.2.1Linux开发工具GNUgcc的使用1.GCC简介GCC是GNUCompilerCollection的简称,GCC是Linux平台下最常用的编译程序,是Linux平台编译器的事实标准。GCC支持的体系结构有40余种,常见的有x86系列、Arm、PowerPC等。同时,GCC还能运行在不同的操作系统上,如Linux、Solaris、Windows等。GCC除了支持C语言外,还支持多种其他语言,例如C++、A

3、da、Java、Objective-C、Fortram、Pascal等。2.GCC常用模式及选项gcc最基本的用法是:gcc[options]file...其中option是以“-”开始的各种选项,file是相关的文件名。在使用gcc的时,必须给出必要的选项和文件名。gcc的整个编译过程分别是:预处理、编译,汇编和链接。例如,$gcc-ohellohello.cgcc编译器就会生成一个hello的可执行文件。在hello.c的当前目录下执行./hello。gcc编译器生成的目标文件默认格式为elf(executivelinkedfile)格式,是

4、Linux系统所采用的可执行链接文件的通用文件格式。elf格式由若干个段(section)组成,由标准c源代码生成的目标文件中包含以下段:●.text(正文段)包含程序的指令代码。●.data(数据段)包含固定的数据,如常量,字符串等。●.bss(未初始化数据段)包含未初始化的变量和数组等。GCC常用两种模式:编译模式和编译连接模式。例:假设全部的源代码都在一个文件test.c中。$gcc-otest此命令是把源文件test.c直接编译成可执行程序test。$gcc-ctest.c此命令是把源文件test.c编译成不可执行目标文件test.o。默

5、认情况下,生成的目标文件名为test.o,但也可以为输出文件指定名称,如下所示:$gcc-ctest.c–omytest.o此命令是把源文件test.c编译成不可执行目标文件mytest.o。下面的命令将同时编译3个源文件,即first.c、second.c和third.c,然后将它们连接成一个可执行程序test。命令如下:$gcc-otestfirst.csecond.cthird.c3.其他常用选项的使用$gcctest.c–I../inc-otest此命令告诉GCC包含文件存放在./inc目录下,在当前目录的上一级。如果在编译时需要的包含文

6、件存放在多个目录下,可使用多个-I来指定各个目录。如:$gcctest.c–I../inc–I../../inc2-otest此命令指出了另一个包含子目录inc2,较之前目录它还要在再上两级才能找到。另外,还可在编译命令行中定义符号常量。可简单的在命令行中使用-D选项即可,如下例所示:$gcc–DTEST_CONFIGURATIONtest.c-otest上面的命令与在源文件中加入下列命令是等效的:#defineTEST_CONFIGURATION3.其他常用选项的使用$gcctest.c–I../inc-otest此命令告诉GCC包含文件存放在

7、./inc目录下,在当前目录的上一级。若在编译时需要的包含文件存放在多个目录下,可使用多个-I来指定各个目录:$gcctest.c–I../inc–I../../inc2-otest上面命令告诉GCC包含文件存放在./inc目录下,在当前目录的上一级。若在编译时需的包含文件存放在多个目录下,可使用多个-I来指定各个目录:$gcctest.c–I../inc–I../../inc2-otest这里指出了另一个包含子目录inc2,较之前目录它还要在再上两级才能找到.另外,我们还可以在编译命令行中定义符号常量。为此,我们可以简单的在命令行中使用-D选项

8、即可,如下例所示:$gcc-DTEST_CONFIGURATIONtest.c-otest上面的命令与在源文件中加入下列命令是等效的:#

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。