- 2
- 0
- 约3.72千字
- 约 7页
- 2018-02-24 发布于河南
- 举报
构造嵌入式Linux
构造嵌入式Linux 来源:internet 点击:2578 添加时间:2003-12-19?21:19:23?????? ????????? ? Linux自身具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越嵌入式系统开发中的仿真工具(ICE)的障碍。内核的完全开放使人们可以自己设计和开发出真正的硬实时系统,软实时系统在Linux中也容易得到实现。强大的网络支持使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。? Linux提供了完成嵌入功能的基本内核和所需要的所有用户界面,它是多面的。它能处理嵌入式任务和用户界面。? 一个小型的嵌入式Linux系统只需要下面三个基本元素:? *?引导工具? *?Linux微内核,由内存管理、进程管理和事务处理构成? *?初始化进程? 如果要让它能干点什么且继续保持小型化,还得加上:? *?硬件驱动程序? *?提供所需功能的一个或更多应用程序。? 再增加功能,或许需要这些:? *?一个文件系统(也许在ROM或RAM)中? *?TCP/IP网络堆栈? 下面我们就从精简内核、系统启动、驱动程序将、X-Window换成MicroWindows四个步骤介绍嵌入式Linux的实际开发。? 精简内核? 构造内核的常用命令包括:make?config、dep、clean、mrproper、zImage、bzImage、modules、modules_install。命令说明略。? 现在举个例子说明一下:? 我使用的是?Mandrake内附的?2.2.15。我没有修改任何一行程序码,完全只靠修改组态档得到这些数据。? 首先,使用?make?config?把所有可以拿掉的选项都拿得。? 不要?floppy;不要SMP、MTRR;不要?Networking、SCSI;把所有的?block?device?移除,只留下?old?IDE?device;把所有的?character?device?移除;把所有的?filesystem?移除,只留下?minix;不要?sound?支援。相信我,我己经把所有的选项都移除了。这样做之后,我得到了一个?188K?的核心。? 还不够小吗??OK,再加上一招,请把下列两个档案中的?-O3,-O2?用?-Os?取代。? ./Makefile? ./arch/i386/kernel/? Makefile? 这样一来,整个核心变小了?9K,成为?179K。? 不过这个核心恐怕很难发挥?Linux?的功能,因此我决定把网络加回去。把General中的?network?support?加回去,重新编译,核心变成?189?K。10K就加上个?TCP/IP?stack,似乎是很上算的生意。? 有stack没有driver也是枉然,所以我把?embedded?board常用的RTL8139的driver加回去,195K。? 如果你需要?DOS?档案系统,那大小成为?213K。如果?minix?用?ext2?换代,则大小成长至?222K。? Linux所需的内存大约在600K~800K之间。1MB内存就可能可以开机了,但不太有用,因为连载入C程序库都有困难。2MB内存应该就可以做点事了,但要到?4MB以上才可以执行一个比较完整的系统。? 因为Linux?的filesystem?相当大,大约在?230K?左右,占了?1/3?的体积。内存管理占了80K,和核心其它部分的总和差不多。TCP/IP?stack?占了65K,驱动程序占了120K。SysV?IPC占了?21K,必要的话可以拿掉,核心档应该可以再小个10K左右。? 如果要裁剪核心大小,应该动那里呢??答案很明显,当然是文件系统。Linux?的?VFS简化了档案系统的设计,buffer?cache,?directory?cache增加了系统的效率。但这些embedded系统根本就用处不大。如果可以把它们拿掉,核心可以马上缩小?20K?左右。如果跳过整个?VFS,直接将文件系统写成一个?driver?的型式,应该可以将?230K缩减至50K左右。整个核心缩到100K左右。? 系统启动? 系统的启动顺序及相关文件仍在核心源码目录下,看以下几个文件:? ./arch/$ARCH/boot/? bootsect.s? ./arch/$ARCH/boot/setup.s? ./init/main.c? boots
您可能关注的文档
最近下载
- 射线检验报告.pdf VIP
- 机械工程师(中级资格)试卷题库及答案.docx VIP
- 外国文学2知到智慧树期末考试答案题库2024年秋绍兴文理学院.docx VIP
- 高标准基本 农田项目施工总结报告教学教案.doc VIP
- 园林绿化养护合同(2025年小区).docx
- 人教版四年级数学下册第二单元观察物体(二)质量测评卷(含答案).pdf VIP
- 外国文学2智慧树知到期末考试答案章节答案2024年绍兴文理学院.docx VIP
- GB 55030-2022 建筑与市政工程防水通用规范.docx VIP
- 湘教版地理八年级下册 第六章 第一节 东北地区的地理位置与自然环境 课件.ppt
- 外国文学2知到智慧树期末考试答案题库2025年绍兴文理学院.docx VIP
原创力文档

文档评论(0)