- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
构造嵌入式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
您可能关注的文档
- 考场高分作文的基本特征.ppt
- 75253怎样进.doc
- 假山流水树脂工艺品的作用.doc
- 第六章SQLSERVER数据库.ppt
- 抚州市中小学教育教学研究.doc
- WOW增强萨满评级战场2700+生存作战指南.doc
- 网络下载与规范.ppt
- 迁安市省级新民居示范村规划汇报1.doc
- 07宏的应用.ppt
- 数量关系(S).ppt
- 教科版(2017秋)科学二年级上册2.6 做一顶帽子 教学设计.docx
- 河北高频考点专训四 质量守恒定律的应用教学设计---2024-2025学年九年级化学人教版(2024)上册.docx
- 大单元教学【核心素养目标】6.3 24时计时法教学设计 人教版三年级下册.docx
- 河南省商城县李集中学2023-2024学年下学期九年级历史中考模拟八(讲评教学设计).docx
- 第18章 第25课时 正方形的性质2023-2024学年八年级下册数学课时分层作业教学设计( 人教版).docx
- Module 8 模块测试 教学设计 2024-2025学年英语外研版八年级上册.docx
- 2024-2025学年小学数学五年级下册浙教版教学设计合集.docx
- 2024-2025学年小学劳动四年级下册人民版《劳动》(2022)教学设计合集.docx
- 2024-2025学年小学数学三年级上册冀教版(2024)教学设计合集.docx
- 2024-2025学年高中生物学必修1《分子与细胞》人教版教学设计合集.docx
文档评论(0)