




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM9在Linux内核中添加Led驱动程序和应用程序源文件目录的建立mkdir/tmp/edukit-2410复制所有的源文件到/tmp/edukit-2410,源文件清单如下:linux-2.4.18-rmk7-pxa1-mz5.tar.bz2『Linux内核源码压缩包』root.cramfs.tar.bz2『文件系统源码压缩包』vivi-20030929.tar.bz2『Bootloader源码压缩包』Patch『补丁文件目录,包含VIVI和内核补丁文件,如下』kit2410.patchcramfs-1.1.tar.gz『生成文件系统的工具』linuxsetenv『设置环境变量文件』Led驱动程序目录0701_driver-led,源文件位于第二张光盘镜像\CD3_Linux_070615\04-EduKit2410Linux\drivers\0701_driver-ledLed应用程序目录0701_test-led:源文件位于第二张光盘镜像\CD3_Linux_070615\04-EduKit2410Linux\examples\0701_test-ledLinux交叉编译工具链的建立新建目录/usr/local/arm,解压cross-2.95.3.tar.bz2到根目录:cd/tar–jxvf/tmp/edukit-2410/cross-2.95.3.tar.bz2移动解压生成的目录到/usr/local/armmv/2.95.3//usr/local/arm添加工具链位置到PATH变量vi/etc/profile添加到最后一行:exportPATH=$PATH:/usr/local/arm/2.95.3/bin(暂不运行该文件,即不执行命令source/etc/profile,因为要与后面设置环境变量的文件Linuxsetenv发生冲突)建立环境变量修改文件linuxsetenv,建立五个环境变量:exportWORKDIR=”/usr/local/src/edukit-2410exportSOURCEDIR=”/tmp/edukit-2410exportCROSSDIR=”/usr/local/arm/2.95.3exportINSTALLDIR=”/home/app”...exportPATH=……………….:$PATH(给本行加上#)#exportPATH=$PATH:……………….(删除本行的#)运行linuxsetenv,生成环境变量Sourcelinuxsetenv(若不在文件linuxsetenv所在目录,要加上路径)编译VIVI将VIVI源码压缩包解压到$WORKDIRCd$WORKDIRTar–jxvf$SOURCEDIR/vivi-20030929.tar.bz2生成vivi目录打补丁:进入vivi目录,打补丁cdvivipatch–p1<$SOURCEDIR/patch/kit2410.patchmakecleanmakemenuconfig配置vivi,在菜单中选择Load(加载配置文件),输入文件位置:arch/def-configs/smdk2410-amd,保存退出。make生成启动引导程序vivi,大小为67k左右。将vivi拷贝到windows共享目录中:cpvivi/mnt/hgfs/wds-lnx/images编译内核将内核源码压缩包解压到$WORKDIRcd$WORKDIRTar–jxvf$SOURCEDIR/linux-2.4.18-rmk7-pxa1-mz5.tar.bz2生成kernel目录2、打补丁:进入kernel目录,打补丁cdkernelPatch–p1<$SOURCEDIR/patch/linux-2.4.18-rmk7-pxa1-mz5.tar.bz23、在/usr/local/src/edukit-2410/kernel/drivers目录下,新建一个"led"文件夹,将Led驱动程序3个文件led-edukit-s3c2410.c、Makefile.kernel、Config.in拷贝到Led目录中。cp$SOURCEDIR/0701_driver-led/*$WORKDIR/kernel/drivers/led/rm–fMakefile(删除多余的Makefile文件)mvMakefile.kernelMakefile(修改文件名)rm–freadme.txt(删除说明文件)这样可以在LED目录下看到三个文件:Makefile、Config.in及led-edukit-s3c2410.c。注:修改led-edukit-s3c2410.c第17行…s3c2410/s3c2410.h为…s3c2410/S3C2410.h4、修改drivers/char/Config.in文件,在第113行增加一行把LED配置作为字符配置的一个选项:…//略sourcedrivers/led/Config.insourcedrivers/i2c/Config.in…//略5、修改kernel/drivers/Makefile文件,在“DRIVERS-m:=”之后,添加如下脚本粗的内容,这样使在编译Linux内核驱动时,能把led目录包含进去。在这里使用了宏定义为CONFIG_LED_EDUKIT2410判断是否包含。…//略mod-subdirs:=diomtd…led…为省略的驱动目录名subdir-y:=parportserialcharblocknetsoundmiscmediacdromhotplugsubdir-m:=$(subdir-y)subdir-$(CONFIG_LED_EDUKIT2410)+=led(添加此行)subdir-$(CONFIG_DIO)+=diosubdir-$(CONFIG_PCI)+=pci…//略修改kernel/Makefile文件,为内核启动时加载LED添加选项:…//略DRIVERS-n:=DRIVERS-y:=DRIVERS-m:=DRIVERS-:=DRIVERS-$(CONFIG_LED_EDUKIT2410)+=drivers/led/led.o(添加此行)DRIVERS-$(CONFIG_ACPI)+=drivers/acpi/acpi.o…//略6、配置内核Makexconfig(在配置窗口中选择加载配置文件,输入配置文件的位置:arch/arm/def-configs/edukit2410-amd,并从“Characterdevices->LedSupport”选择添加LED设备保存退出)makedepmakecleanmakezImage(生成内核映像文件zImage在$OWRKDIR/arch/arm/boot/zImage,大小为700多KB)7、将zImage拷贝到windows共享目录中:CpzImage/mnt/hgfs/wds-lnx/images注意:操作第六步前应该使文件linuxsetenv设置的环境变量无效,方法是注销,或者在Xwindows下关闭命令窗口,再重新打开一个命令窗口,可以使用echo命令查看环境变量是否生效,主要使用的环境变量如下:$WORKDIR=”/usr/local/src/edukit-2410”(工作目录$SOURCEDIR=”/tmp/edukit-2410”$CROSSDIR=”/usr/local/arm/2.95.3”$INSTALLDIR=”/home/app”(结果文件存放目录)$PATH(编译工具路径)添加应用程序到文件系统中,制作文件系统映像Source/etc/profile(使该配置文件中的PATH变量生效)将文件系统源码包解压到/usr/local/src/edukit-2410目录,生成root目录。cd/usr/local/src/edukit-2410tar–jxvf/tmp/edukit-2410/root.cramfs.tar.bz22、编译/tmp/edukit-2410/0701_test-led生成可执行文件test-led,将可执行文件test-led放在/usr/local/src/edukit-2410/root/bin目录下cd/tmp/edukit-2410/0701_test-ledmake (编译生成可执行文件test-led)cptest-led/usr/local/src/edukit-2410/root/bin2、建立文件系统编译工具解压Cramfs-1.1.tar.gz到$WORKDIR,生成Cramfs-1.1目录,cd/usr/local/src/edukit-2410tar–zxvf/tmp/edukit-2410/cramfs-1.1.tar.gz进入Cramfs-1.1目录,cdcramfs-1.1make(生成创建文件系统的工具mkcramfs和cramfsck)生成文件系统cd/usr/local/src/edukit-2410cramfs-1.1/mkcramfsrootroot.ramfs执行以上命令后,在当前目录$WORKDIR下生成embest.ramfs文件,大小为1.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论