全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、编写一个简单的C语言程序并在linux系统下进行编译和运行。2、编写一个简单的C语言程序并在linux系统下进行编译和运行,实现交互功能。3、编写一个简单的C语言程序并进行交叉编译,在开发板Linux系统下运行。4、编写一个简单的C语言程序并进行交叉编译,在开发板Linux系统洗运行,并实现交互功能。5、根据下列4个源程序hello.h、hello.c、starfun.h、start.c(见材料包),分别编写3种不同的Makefile文件,并执行观察结果。1)一般的Makefile文件编写:myprog:star.o hello.ogcc star.o hello.o -o myprogstar.o : star.c starfun.h gcc -c star.c -o star.ohello.o : hello.c hello.h starfun.h gcc -c hello.c -o hello.o2)使用环境变量的Makefile文件编写OBJS=star.o hello.oCC=gccCFLAGS= -Wall -O -gEXEC=myprog$(EXEC):$(OBJS)$(CC) $(OBJS) -o $(EXEC)star.o : star.c starfun.h $(CC) $(CFLAGS) -c star.c -o star.ohello.o : hello.c hello.h starfun.h $(CC) $(CFLAGS) -c hello.c -o hello.oclean:rm -f *.o .out $(EXEC) 3)使用环境变量和隐含规则的Makefile文件编写(该法了解相关含义即可,可作为问答)CC=gcc#CC=/up-techpxa270/arm-linux-tools/gcc-3.4.6-glibc-2.3.6/arm-linux/bin/arm-linux-gccCFLAGS= -Wall -O -gEXEC=myprogCOMPILE=$(CC) $(CFLAGS) -cSOURCES := $(wildcard *.c *.cc)OBJS := $(patsubst %.c,%.o,$(patsubst %.cc,%.o,$(SOURCES)DEPS := $(patsubst %.c,%.d,$(patsubst %.cc,%.o,$(SOURCES)all: $(EXEC)$(EXEC):$(DEPS) $(OBJS)$(CC) -o $(EXEC) $(OBJS)%.d : %.c$(CC) -M $ $(CC) -M $ $%.o: %.c$(COMPILE) -o $ $clean:rm -f $(OBJS) $(DEPS) $(EXEC) -include $(DEPS)5、编写一个嵌入式linux Led驱动程序,实现Led流水灯效果。驱动程序位置如下:Linux-2.6.38/drivers/char/mini6410_leds.c,驱动程序:exmple6、编写开发板裸机驱动程序,实现usart输出。7、编写一个裸机交互程序,实现PC机通过串口控制开发板的led亮灭。8、编写一个嵌入式linux内核模块hello module程序,并使用命令进行加载、信息显示、卸载等命令。#include#includestatic int hello_init(void)printk(KERN_INFO Hello World n);return 0;static void hello_exit(void)printk(KERN_INFO hello exitn);module_init(hello_init);module_exit(hello_exit);MODULE_AUTHOR(Mr Yang);MODULE_LICENSE(Dual BSD/GPL);MODULE_DESCRIPTION(A simple hello world module);MODULE_ALIAS(a simplest module);相应的Makefile文件obj-m := hello.oall:make -C /lib/modules/$(shell uname -r)/build SUBDIRS=$(PWD) modules编译:make产生一个hello.ko文件内核中加载该模块insmod hello.kolsmodmodinfo进入相应的内核模块中,用tree a 查看9、制作一个基本的根文件系统,并编译移植到开发板中。1)下载busybox:源码包: busybox-1.19.2.tar.bz22) 在/目录下创建工作目录rootfs1/rootfsrootlocalhost /# mkdir f rootfs1/rootfs3)把buzybox,拷贝到虚拟机fedora系统/rootfs1目录rootlocalhost /# cd rootfs1/rootlocalhost rootfs1#tar zxvf buzybox4)在rootfs下建立如下目录rootlocalhost rootfs1cd rootfsrootlocalhost rootfs# mkdir root proc home dev 。rootlocalhost rootfs# ls rootdir/dev etc lib mnt proc root sys tmp var。5)编译配置busyboxrootlocalhost rootfs# tar xjvf busybox-1.19.2.tar.bz2进入busybox源码目录进行配置rootlocalhost rootfs# cd busybox-1.19.2修改编译选项:rootlocalhost busybox-1.19.2# vi MakefileARCH ?= armCROSS_COMPILE ?= arm-linux-配置如下:rootlocalhost busybox-1.19.2# make menuconfigLinux Module Utilities - * modinfo (NEW) Simplified modutils * insmod * rmmod * lsmod Pretty output (NEW) modprobe (NEW) depmod (NEW) 退出保存。6)编译rootlocalhost busybox-1.19.2# make安装rootlocalhost busybox-1.19.2# make install即可在当前目录下生成_install安装目录rootlocalhost busybox-1.19.2# ls _install/bin linuxrc sbin usr7)拷贝由busybox工具集生成的目录和文件至前面做好的文件系统相应目录中:rootlocalhost busybox-1.19.2# cp ./_install/* ./rootfs/ -arootlocalhost busybox-1.19.2#cd ./这样rootdir目录下又新增了相应目录和文件rootlocalhost rootfs# ls rootdirbin dev etc lib linuxrc mnt proc root sbin sys tmp usr var8)填充etc目录将busybox源码目录中的etc目录模板内容拷贝到前面制作的文件系统目录的etc目录下。rootlocalhost rootfs# cp busybox-1.19.2/examples/bootfloppy/etc/* rootfs/etc/ -arootlocalhost rootdir# lsbin dev etc lib linuxrc mnt proc root sbin sys tmp usr var 9)解压安装mktools工具 #tar xvzf /tmp/linux/mktools.tar.gz C /会在/usr/sbin目录下创建生成相应的工具集。10)制作 yaffs2 文件系统映像:进入工作目录/roo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公共安全视频监控联网合同协议2026
- 7.1《国家权力机关的组成和地位》教学设计
- 2026年金域医学测试题及答案
- 2026年珠算加法测试题及答案
- 2026年吉利汽车测试题及答案
- 2026年自制能力测试题及答案
- 2026年趣味数学达标测试题及答案
- 2026年好差评制度测试题及答案
- 2026年情绪与压力小测试题及答案
- 建筑工程公司办公室管理制度
- 介入治疗中的患者监护要点
- 离婚协议书可编辑模板下载方便修改
- 国开电大本科《管理英语4》一平台机考总题库2026春期珍藏版
- 山东2025年山东省大学生乡村医生专项招聘96人笔试历年参考题库附带答案详解
- 拉沙热课件教学课件
- 2026春人教版八下单词-词性转换背诵默写(背诵版)
- 农村三层瓦房施工方案
- 内部控制采购业务管理
- 酒厂贴牌生产合同范本
- 第四单元《我们生活的空间(一)》练习检测卷(含解析)-北师大版三年级数学下册
- 2025年熔化焊接与热切割焊工作业证理论考试笔试试题(300题)含答案
评论
0/150
提交评论