欢迎来到天天文库
浏览记录
ID:56765134
大小:4.76 MB
页数:25页
时间:2020-07-08
《嵌入式操作系统》实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.《嵌入式操作系统》实验报告班级计算机学号姓名指导教师庄旭菲工业大学信息工程学院计算机系2018年6月范文..实验一Linux核移植与编译实验1.实验目的²了解Linux核相关知识与核结构²了解Linux核在ARM设备上移植的基本步骤和方法²掌握Linux核裁剪与定制的基本方法2.实验容²分析Linux核的基本结构,了解Linux核在ARM设备上移植的一些基本步骤及常识。²学习Linux核裁剪定制的基本配置方法,利用UP-Magic210型设备配套Linux核进行自定义功能(如helloworld显示)的添加,并重新编译核源码
2、,生成核压缩文件zImage,下载到UP-Magic210型设备中测试。3.实验步骤实验目录:/UP-Magic210/SRC/kernel/linux-2.6.35.7/编译核:在宿主机端为UP-Magic210设备的Linux2.6.35.7核编写简单的测试驱动(核)程序helloworld.c并修改核目录中相关文件,添加对测试驱动程序的支持。(1)、使用vim编辑器手动编写实验代码helloworld.chelloworld.c如如下:#include#include3、.h>MODULE_LICENSE("DualBSD/GPL");//驱动程序入口函数staticinthello_init(void){printk(KERN_ALERT"##############Hello,world############");return0;}//驱动程序出口函数staticvoidhello_exit(void){printk(KERN_ALERT"###############Goodbye,world#########");范文..}module_init(hello_init);mo4、dule_exit(hello_exit);有关驱动程序的编写规,请参考课程教材,本实验只在编写简单的驱动(核)程序并加入到Linux核目录树中,使用户熟悉编译核的过程。该驱动程序是向终端输出相关程序信息。编写好helloworld.c后将其拷贝到核源码树的drivers/char/目录下。[rootlocalhost/]#cphelloworld.c/UP-Magic210/SRC/kernel/linux-2.6.35.7/drivers/char/(2)、进入实验核源码目录修改driver/char/目录下的Kconfi5、g文件,按照Kconfig语法添加helloworld程序的菜单支持[rootlocalhost/]#cdUP-Magic210/SRC/kernel/linux-2.6.35.7/[rootlocalhostlinux-2.6.35.7]#vidrivers/char/Kconfig例如:在Kconfig文件中的source“driver/char/hw_random/Kconfig”下面添加如下:source“driver/char/hw_random/Kconfig”configHELLO_MODULEbool"Hell6、oWorldTest"dependsonCPU_S5PV210helpThisisademototestkernelexperimentOnUP-Magic210.(3)、进入实验核源码目录修改driver/char/目录下的Makefile文件,按照核中Makefile语法添加helloworld程序的编译支持[rootlocalhostlinux-2.6.35.7]#vidrivers/char/Makefile在Makefile中(大约在91行)添加如下一行obj-$(CONFIG_TOSHIBA)+=toshiba.o7、obj-$(CONFIG_I8K)+=i8k.oobj-$(CONFIG_DS1620)+=ds1620.o范文..obj-$(CONFIG_HW_RANDOM)+=hw_random/obj-$(CONFIG_HELLO_MODULE)+=helloworld.oobj-$(CONFIG_PPDEV)+=ppdev.o(4)、运行makemenuconfig配置核对helloworld程序的支持:[rootlocalhostlinux-2.6.35.7]#makedistclean[rootlocalhostlinux-2.8、6.35.7]#makemenuconfig先加载核配置单,如图:然后进入到DeviceDrivers--->菜单中如图:进入到Characterdevices--->如图:范文..进入该菜单会发现[]HelloWorldTest选项,按下空格将其静态编译进核退出保存核配置(
3、.h>MODULE_LICENSE("DualBSD/GPL");//驱动程序入口函数staticinthello_init(void){printk(KERN_ALERT"##############Hello,world############");return0;}//驱动程序出口函数staticvoidhello_exit(void){printk(KERN_ALERT"###############Goodbye,world#########");范文..}module_init(hello_init);mo
4、dule_exit(hello_exit);有关驱动程序的编写规,请参考课程教材,本实验只在编写简单的驱动(核)程序并加入到Linux核目录树中,使用户熟悉编译核的过程。该驱动程序是向终端输出相关程序信息。编写好helloworld.c后将其拷贝到核源码树的drivers/char/目录下。[rootlocalhost/]#cphelloworld.c/UP-Magic210/SRC/kernel/linux-2.6.35.7/drivers/char/(2)、进入实验核源码目录修改driver/char/目录下的Kconfi
5、g文件,按照Kconfig语法添加helloworld程序的菜单支持[rootlocalhost/]#cdUP-Magic210/SRC/kernel/linux-2.6.35.7/[rootlocalhostlinux-2.6.35.7]#vidrivers/char/Kconfig例如:在Kconfig文件中的source“driver/char/hw_random/Kconfig”下面添加如下:source“driver/char/hw_random/Kconfig”configHELLO_MODULEbool"Hell
6、oWorldTest"dependsonCPU_S5PV210helpThisisademototestkernelexperimentOnUP-Magic210.(3)、进入实验核源码目录修改driver/char/目录下的Makefile文件,按照核中Makefile语法添加helloworld程序的编译支持[rootlocalhostlinux-2.6.35.7]#vidrivers/char/Makefile在Makefile中(大约在91行)添加如下一行obj-$(CONFIG_TOSHIBA)+=toshiba.o
7、obj-$(CONFIG_I8K)+=i8k.oobj-$(CONFIG_DS1620)+=ds1620.o范文..obj-$(CONFIG_HW_RANDOM)+=hw_random/obj-$(CONFIG_HELLO_MODULE)+=helloworld.oobj-$(CONFIG_PPDEV)+=ppdev.o(4)、运行makemenuconfig配置核对helloworld程序的支持:[rootlocalhostlinux-2.6.35.7]#makedistclean[rootlocalhostlinux-2.
8、6.35.7]#makemenuconfig先加载核配置单,如图:然后进入到DeviceDrivers--->菜单中如图:进入到Characterdevices--->如图:范文..进入该菜单会发现[]HelloWorldTest选项,按下空格将其静态编译进核退出保存核配置(
此文档下载收益归作者所有