资源描述:
《ARM Cortex-A9 嵌入式技术教程教学课件 作者 张石第6章 Linux编程基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ARM应用系统设计第6章Linux编程简介佘黎煌东北大学信息科学与工程学院电子信息工程研究所linux嵌入式linux的学习方法(初级,入门,没有硬件)1.找一本关于操作系统书,最好一本中文的,一本英文的,从头读到尾,知道一些术语,一些概念2.找一本linuxc语言的书,3.找一本驱动程序的书,4.充分利用网络上的资源嵌入式linux嵌入式linux的学习方法(中级,实践)1.嵌入式调试流程,1)应用程序交叉编译,下载调试2)配置Bootloader,linux内
2、核,文件系统以及下载调试2.嵌入式应用程序开发,图形用户界面开发,简单的驱动程序开发嵌入式linux的学习方法(高级,实践)1.复杂的驱动程序开发,(比如USB,编解码器外部硬件的控制等)2.文件系统的移植(jffs2,yaffs),内核的移植,Bootloader的移植现在Linux广泛用于各类计算应用,不仅包括IBM的微型Linux腕表、手持设备(PDA和蜂窝电话)、因特网装置、瘦客户机、防火墙、工业机器人和电话基础设施设备,甚至还包括了基于集群的超级计算机。嵌入式Linux概况Linux操作系统开放源代码,可以裁剪内核,并已在x86、Alpha、Sparc
3、、MIPS、PPC、Motorola、NEC和ARM等硬件平台上稳定、高效地运行。Linux操作系统作为一种多任务、稳定可靠、内核可裁剪的系统,是开发嵌入式软硬件产品的优秀软件平台。嵌入式Linux是一种开放源码、软实时、多任务的嵌入式操作系统。嵌入式Linux概况Linux入门需要掌握的内容Linux环境的使用会使用VI编辑器掌握一些基本的命令Linux编程需要掌握的内容GNUGCC编译工具进程文件操作线程操作信号处理消息管理网络编程Linux入门需要掌握的内容6.1GNUGCC编译工具Linux操作系统界面在Linux系统中打开终端的方式有以下两种:种是在桌
4、面上依次单击“主程序→系统工具→终端”可打开如图2-1的终端窗口;另一种是在Linux桌面上单击鼠标右键,从弹出的快捷菜单中选择“终端”命令,也可打开终端窗口。Linux入门需要掌握的内容GNUGCC编译工具进程文件操作信号处理消息管理线程操作网络编程Linux下C代码的编译开发工具GNU的介绍GNU软件包括C编译器GCC,C++编译器G++,汇编器AS,链接器LD,二进制转换工具(OBJCOPY,OBJDUMP),调试工具(GDB,GDBSERVER,KGDB)和基于不同硬件平台的开发库。在GNUGCC支持下用户可以使用流行的C/C++语言开发应用程序,满足生
5、成高效率运行代码的需求Linux下C代码的编译/********************************************FileName:hello.c*Description:introducehowtocompileasourcefilewithgcc********************************************#includevoidmain(){printf("Helloworld");}$gcc-ohellohello.cLinux下C代码的编译GCC是一个多目标的工具。GCC最基本的用法
6、是:gcc[options]file...,其中的option是以“-”开始的各种选项,file是相关的文件名。在使用GCC的时候,必须要给出必要的选项和文件名。GCC的整个编译过程,实质上是分4步进行的,每一步完成一个特定的工作,这4步分别是:预处理、编译、汇编和链接。它具体完成哪一步,是由GCC后面的开关选项和文件类型决定的。Linux下C代码的编译GCC编译器有许多选项,但对于普通用户来说只要知道其中常用的几个就够了。在这里列出几个最常用的选项。-o选项表示要求编译器生成指定文件名的可执行文件。-c选项表示只要求编译器进行编译,而不要进行链接,生成以源文件
7、的文件名命名但把其后缀由.c或.cc变成.o的目标文件。-g选项要求编译器在编译的时候提供以后对程序进行调试的信息。-E选项表示编译器对源文件只进行预处理就停止,而不做编译、汇编和链接。-S选项表示编译器只进行编译,而不做汇编和链接。-O选项是编译器对程序提供的编译优化选项,在编译的时候使用该选项,可以使生成的执行文件的执行效率提高。-Wall选项指定产生全部的警告信息。gcc-Wall-O-g-cmain.c-omain.oLinux下C代码的编译GNUMake是负责从项目的源代码中生成最终可执行文件和其他非源代码文件的工具。$make-fmakefilena
8、memakefile的例