文档详情

二嵌入式LINUX系统的编程.doc

发布:2017-08-20约字共4页下载文档
文本预览下载声明
二、嵌入式LINUX系统的编程 1、实验目的 熟悉UP-TECHPXA270-S下Linux的开发环境,了解GNU/make工具的工作原理。学会使用makefile管理项目,学会编写一个Makefile文件。熟悉arm-linux-gcc交叉编译的使用,了解嵌入式开发的基本过程。 2、实验内容 新建一个目录,编写几个源文件,使用makefile 管理项目。学习在linux 下的编程和编译过程,以及UP-TECHPXA270-S 开发板开发环境的设置。下载已经编译好的文件到UP-TECHPXA270-S 开发板中运行。 3、预备知识 C 语言的基础知识、程序调试的基础知识和方法,LINUX 的基本操作。 4、实验设备及工具(包括软件调试工具) 硬件:UP-TECHPXA270-S 嵌入式开发板、PC 机Pentumn500 以上, 硬盘10G 以上。 软件:PC 机操作系统REDHAT LINUX 9.0 +MINICOM + ARM-LINUX 开发环境 5、实验步骤 (1)、 建立工作目录 (2)、 编写程序源代码 (3)、 编写makefile 文件 (4)、 编译应用程序 (5)、 下载调试 (6)、 写一个简单的工程,并输出自己的姓名和学号,利用Makefile管理工程,并写出Makefile文件,进行调试。 5、实验报告要求 (1)、写清每步实验步骤的具体操作内容。 答: ①建立工作目录 mkdir 01_hello cd 01_hello ②编写程序源代码 用vi编程在终端上打印出一个菱形.一个三角形(由*号构成)及打印一行字符 hello,my friends。 主函数文件为 start.c: #include starfun.h #include hello.h #include stdio.h int main() { star1(); star2(); showhello(); return 0; } 其中所包含的头文件为:hello.h,starfun.h,stdio.h 在 starfun.h 中定义了两个函数 star1(),star2()打印两个三角形: #ifndef STARFUN_H #define STARFUN_H #define NUM 4 #define NUMBER 3 int star1() { int i,j,k; for(k=1;k=NUM;++k) { for(i=1;i=(NUM-k);++i) printf( ); for(j=1;j=(2*k-1);++j) printf(*); printf(\n); } return 0; } int star2() { int i,j,k; for(k=NUMBER;k=0;--k) { for(i=1;i=(NUMBER-k+1);++i) printf( ); for(j=1;j=(2*k-1);++j) printf(*); printf(\n); } return 0; } #endif 在 hello.h 中定义了一个函数 hello(),此函数中又调用了starfun()中的 star1()函数用来打印一个三角形. #ifndef HELLO_H #define HELLO_H void hello() { star1(); printf(hello,my friends\n); } #endif 在 hello.c 中对 hello 函数进行了调用. void showhello() { hello(); } ③编写 makefile 文件 makefile 命名为:amake。因为所编写的程序要在 pxa270 板上运行,因此指定了交叉编译器。 具体的编写如下: #amake file CC= arm-linux-gcc #指定编译器 EXEC=myprog #定义目标文件名 OBJS=star.o hello. o #为生成目标所使用的.o 文件 $(EXEC):$(OBJS) #目标与.o 文件的依赖关系 $(CC) -o $(EXE C) $(OBJS) #生成可
显示全部
相似文档