




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux系统的裁剪与移植装订线摘 要 嵌入式系统是以应用为中心,以计算机技术为基础、软硬件均可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。其发展已有二十多年的历史,国际上也出现了一些著名的嵌入式操作系统,如VxWorks,Palm OS,Windows CE等等,但这些操作系统均属于商品化产品,价格昂贵且由于源代码不公开导致了诸如对设备的支持 ,应用软件的移植等一系列的问题。而Linux作为一种优秀的Free OS,近几年在嵌入式领域异军突起,成为了最有潜力的嵌入式操作系统。 Linux从1991年问世到现在,短短的十几年时间已经发展成为功能强大、设计完善的操
2、作系统之一;可运行在X86、Alpha、Sparc、MIPS、PPC、Motorola、NEC、ARM等多种硬件平台,而且开放源代码,可以定制;可与各种传统的商业操作系统分庭抗争。越来越多的企业和研发机构都转向嵌入式Linux的开发和研究上,在新兴的嵌入式操作系统领域内也获得了飞速发展。关键词:嵌入式;Linux; 操作系统Linux system of cutting and transplantation装订线abstractEmbedded system is used as the center, take the computer technology as the foundati
3、on, the software and hardware can be cut, adapt to function, application system reliability, cost, volume, power strict specialized computer system. The development history of 20 years, there were also some international famous embedded operating system, such as Palm OS, VxWorks, Windows CE etc, but
4、 these operating system belong to product, the price is expensive and commercialization of open source is not due to the support of equipment such as the transplant, application software and so on a series of problems. But as a kind of excellent Linux in different areas in the embedded OS, bouncy, b
5、ecame the most potential embedded operating system.Linux from 1991 to now, was a decade has become a powerful, perfect design of the operating system, But in X86 operating gamerelease, Sparc and the MIPS, Motorola, NEC, PPC, various hardware platform, ARM, and open source can be customized, All kind
6、s of traditional commercial operation system Chambers. More and more enterprises and research institutes to research and development of embedded Linux, in the emerging field of embedded operating system also won the rapid development.Keywords:embedded;Linux;Operating system目 录1 引言12主要术语解析22.1交叉编译器2装
7、订线2.2linux剪裁23设计流程33.1linux系统的剪裁与移植3Uboot烧写3内核的裁剪与移植5文件系统的移植与烧写64 设计体会8参考文献91 引言随着linux功能不断加强,灵活多样的实现加上其可定制的特性以及开放源码的优势, Linux 在各个领域的应用正变得越来越广泛。而随着嵌入式领域,的兴起更是为Linux 的长足发展提供了无限广阔的空间,现在出现了越来越多的标准LINUX 在各个硬件体系结构的移植版本。装订线主要是通过把uboot、内核、文件系统的源文件先在linux环境下进行相应的配置(比如通过menuconfig命令),之后通过相应的编译生成可执行的文件(bin文件)
8、,最后通过相应的命令把这些可执行的文件烧写到arm端的flash中,重启arm可以发现相应的变化。用开机之后先进入Bootloader,通过bootloder引导进入内核再进行相应的文件读写操作。如下流程:根文件系统Bootloader启动参数内 核图1-1 实验流程图它们在移植到arm端flash中固定的地址上,uboot:0x300000000x30008000,内核:0x300080400x33f80000。 2 主要术语解析2.1 交叉编译器交叉编译环境的建立最重要的就是要有一个交叉编译器。所谓的交叉编译就是:利用运行在某机器上的编译器编译某个源程序生成在另一台机器上运行的目标代码的过
9、程。这里我主要用到的编译器是arm-linux-gcc,它是gcc 的arm 改版。gcc 是个功能强大的c语言编译工具,其年龄比Linux 还长。装订线2.2 linux剪裁Linux裁剪看上去只是对配置菜单的简单选择。但是配置菜单本身结构庞大,内容复杂。因此熟悉与了解该菜单的各项具体含义就显得比较重要。Linux编译菜单主要有:1)make config:进入命令行,可以一行一行的配置,这不好使用所以我们不具体介绍。2)make menuconfig:进入我们熟悉的menuconfig 菜单,相信很多人对此都不陌生。3)make xconfig:在以及以前版本中xconfig 菜单是基于T
10、CL/TK 的图形库的。3 设计流程3.1 linux系统的剪裁与移植装订线一个完整的系统主要5部分组成:硬件、Bootloader 、操作系统内核、操作系统服务和用户应用程序。用户应用程序是指那些字处理程序、互联网应用程序或其它用户自行编制的各种应用程序;操作系统服务程序是指向用户提供的系统调用等接口程序, Bootloader 主要完成硬件检测和系统引导。操作系统内核是操作系统的主要核心部分,是整个系统的灵魂。操作系统服务程序、操作系统内核及Bootloader 被看作是操作系统部分。3.1.1 Uboot烧写主要包括编译Uboot和烧写Uboot(1)编译UbootLinux虚拟机下建立
11、Uboot目录mkdir uboot把Uboot源码包压缩到uboot目录下tar xivf u-boot-.tar.bz2进入解压后的目录,清除原来编译环境的依赖关系make disclean配置开发板make uptech_2410class_configclass boardmake编译完成后会在当前目录下生成u-boot二进制文件uboot.bin。(2)烧写Uboot把整个GIVEIO目录拷贝到c:/windows下,并把该目录下的giveio.sys文件拷贝到c:/windows/system32/drivers下。在控制面板的添加硬件中安装刚才考到C盘下的镜像文件Giveio,完
12、成硬件的安装。将sjf2410-s.exe烧写文件和以上生成的可执行文件uboot.bin一同放在D盘下,打开开发板的电源。进入Doc命令对话框D:>sjf2410-s.exe /f:u-boot.bin出现图3-1信息。选择flash,输入的参数为0Select the function to test:0信息如下:K9S1208 NAND Flash JTAG ProgrammerK9S1208 is detected. ID=0xec76 0:K9S1208 Program 1:K9S1208 Pr BlkPage 2:Exit选择对flash的两种功能,同样选择0Select t
13、he function to test :0+-+| SEC JTAG FLASH(SJF) v 0.7 | (S3C2410X & SMDK2410 B/D) | PROVIDED BY KENT 20050628 | kentup- |+-+Usage: SJF /f:<filename> /d=<delay>> S3C2410X(ID=0x0032409d) is detected.SJF Main Menu 0:K9S1208 prog 1:K9F2808 prog 2:28F128J3A prog 3:AM29LV800 Prog 4:Memor
14、y Rd/Wr 5:Exit装订线图 3-1信息如下:SMC(K9S1208V0M) NAND Flash Writing ProgramSource size:0h21237hAvailable target block number: 04095选择起始地址,同样选择0Input target block number:0信息如图3-2:target start block number =0target size (0x4000*n) =0x24000STATUS:EppppppppppppppppppppppppppppppppEpppppppppppppppppppppppppppp
15、ppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEppppppppppppppppppppppppppppppppEpppppppppppppppppppppppppppppppp0:K9S1208 Program 1:K9S1208 Pr BlkPage 2:Exit图 3-2选择参数2,退出烧写Selec
16、t the function to test :2此时完成了对Uboot的烧写工作。重启开发板,可以发现按空格键则进入了Uboot环境下,可以输入相应的命令进行相应的操作。显示如图3-3:U-Boot 1.3.2 (Dec 5 2008 - 10:35:38)DRAM: 64 MBFlash: 512 kBNAND: 64 MiB* Warning - bad CRC or NAND, using default environmentIn: serialOut: serialErr: serialHit any key to stop autoboot: 0UP-2410-S #图 3-3装
17、订线 内核的裁剪与移植所谓Linux 移植就是把Linux 操作系统源码针对具体的目标平台做必要改写之后,安装到该目标平台使其正确的运行起来。在Linux 移植的过程中可以通过裁减、修改源码等达到增强新系统的实时性或者减小新系统的体积等目的。主要步骤:主要包括配置、编译内核(包括配置系统硬件处理器、配置LCD驱动、配置系统启动LOGO、配置网卡驱动、配置文件系统支持、编译内核、生成uImage文件)烧写内核、引导内核。(1)配置内核在linux虚拟机下建立kernel目录 mkdir kernel,将kernel源码解压至kernel目录下,tar -xjvf linux-,进入解压目录用ma
18、ke menuconfig命令对内和进行配置。配置系统硬件处理器:-> System Type -> S3C2410 Machines配置LCD驱动-> Device Drivers -> Graphics support -> Support for frame buffer devices (FB =y) 配置系统启动LOGO-> Device Drivers -> Graphics support -> Bootup logo (LOGO =y) 配置网卡驱动:-> Device Drivers -> Network devic
19、e support (NETDEVICES =y) -> Ethernet (10 or 100Mbit) (NET_ETHERNET =y)配置文件系统支持:->File systems ->Miscellaneous filesystemsNFS文件系统支持: -> File systems -> Network File Systems (NETWORK_FILESYSTEMS =y)选择第一项NFS file system support此时,最基本的内核就配置好了。(2)编译内核:进入内核源码跟目录下输入make命令编译内核,成功编译后会在内核arch/
20、arm/boot目录下生成内核文件zImage。使用由u-boot生成的工具mkimage,生成uImage文件。执行脚本程序make_uImage。(3)烧写内核打开arm端电源,打开arm终端进入uboot环境下。修改arm机的IP地址命令:setenv .13,保存修改后的IP地址命令:saveenv。Windows平台下tftp服务的配置:把tftpd32.exe。在arm终端下输入命令:tftp flash kernel uImage,显示如图3-4: 装订线Found DM9000 ID:90000a46 at address 10000000 !DM9000 work in 16
21、 bus widthbd->bi_entaddr: 08:00:3e:26:0a:5beth_initMAC:8:0:3e:26:a:5b:TFTP from server 40; our IP address is 99Filename 'uImage'.Load address: 0x30008000Loading: T # #doneBytes transferred = 1814104 (1bae58 hex) 图3-4擦出nandflash空间:nand erase 0x80000 0x200000写入nandflas
22、hnand write 0x30008000 0x80000 0x200000这样就把内核文件固化到flash中了,arm重启之后会点击非空格键出现如图3-5:Starting kernel . test:machid:805306624test: bi_boot_params:0x33f5bfb8test:starting 1Uncompressing Linux. done, booting the kernel.图3-53.1.3 文件系统的移植与烧写Linux是通过把系统支持的各种文件系统链接到一个单独的树形层次结构中,来实现对多文件系统的支持的。该树形层次结构把文件系统表示成一个整个
23、的独立实体。无论什么类型的文件系统,都被装配到某个目录上,由被装配的文件系统的文件覆盖该目录原有的内容。(1)配置文件系统创建实验目录rootfs mkdir rootfs ,解压实验压缩包 tar xjvf busybox-.tar.bz2,进入busybox源码目录,修改该目录下Makefile文件中的ARCH和CROSS_COMPIL,指定交叉编译器和目标系统,与本机的路径一致:CROSS_COMPILE ?= arm-linux- .ARCH ?= arm编译busybox。先make menuconfig对其进行配置。(2)编译文件系统装订线保存退出,直接make,make install。以看到生成的目录_install。使用mkcramfs工具将rootfs文件系统目录制作成CRAMFS根文件系统映像 mkcramfs rootfs root.cramfs,生成root.cramfs根文件系统文件。(3)烧写根文件系统拷贝刚刚生生成的根文件系统文件root.cramfs和本机(宿主机)TFTP服务器tftpd32.exe文件放在同一文件夹下,打开arm终端,进入uboot控制台 tftp flash root root.cramfs,显示如下:擦除NANDFLASH空间:nand erase 280000 400000写入NANDF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财产险知识精要
- 离婚房产分割协议中关于未成年子女权益保障细则范本
- 离婚房屋产权转移协议书范本三则
- 通信设备知识产权补充协议含多款通信专利
- 班组管理安全培训记录课件
- 达州公安安全知识培训课件
- 第04章 常用体外诊断仪器的功能模块
- 催收质检培训员工
- 《范爱农》课件大纲
- 文旅企业IP创新开发策略与2025年市场拓展分析报告
- JGJ46-2024 建筑与市政工程施工现场临时用电安全技术标准
- 《铁路轨道维护》课件-钢轨钻孔作业
- 《酶切连接与转化》课件
- 中药处方点评培训
- 危险固体废物处理项目可行性研究报告
- 西点制作工艺-第二版教材全套课件教学教程整本书电子教案全书教案课件
- 酸枣仁介绍课件
- 《开国大典》教学设计与指导课件(第二课时)
- 软硬结合板的设计制作与品质要求
- 乡镇报灾系统培训课件
- 如何辅导初中数学差生
评论
0/150
提交评论