摘要:介绍了光孤子传输用的基本部件,分析了光纤孤子通信传输和控制技术的研究进展,指出了现阶段有待解决问题,最后展望了光孤子通信发展前景。
关键词:孤子理论;光孤子;光纤通信
0 概述
光通信传 输速度及传输容量主要由光纤的群速色散引起的脉冲展宽决定。但利用群速色散为零的波长进行超高速、长距离通信的限制和弊端已日益明显地展露出来。而光孤子 技术便是解决这一问题的手段之一。光孤子通信技术一经提出,便显示出突出的优越性和巨大的发展潜力,并引起人们的广泛关注。虽然这一领域目前仍处于理论研 究和实验的阶段。但可以预计其很有可能将成为未来超长距离信息传输的主要手段。
1 光孤子通信系统
长距离光孤子通信系统由四个基本单元组成:光孤子源、孤子传输光纤、孤子能量补偿放大器与孤子脉冲检测接收单元。
1.1 光孤子源
光孤子源是光功率满足一定要求的,可提供波形稳定无啁啾变换限制的双曲正割波形或高斯波形光脉冲序列的光源,是实现光孤子通信的关键部件。光孤子的产生...
点击此处查看原文
1激光全息照相检测
激光全息照相检测是一种全息干涉计量法。物体内部的缺陷在受到外力作用时,例如抽真空(施加负压)、充气加压、加热、振动、弯曲等加载方式的作用下,与缺陷对应的物体表面将产生与周围不同的局部微小变形(位移),采用激光全息照相的方法,将发生变形前后两个光波的波阵面记录下来进行对比观察,从而可以判断并检出物体的内部缺陷。
激光全息照相是利用光的干涉现象,右图为激光全息照相光路系统示意图,由图中所示可见,激光发生器1(如氦-氖激光器、红宝石激光器、氩离子激光器等)发出的激光束一部分经棱镜2反射到反射镜4再经透镜5扩束投射到试件6的表面(加载),试件表面反射的光波投射到照相干板7上(物波),另一部分激光束通过棱镜2再经透镜3扩束投射到反射镜8,然后再反射投射到照相干板7上(参考波),这两束光波将会发生干涉(它们来自同一激光源,有固定的相位关系),干涉的结果是产生干涉条纹:在有的区域两个波的相位相同时,产生相长干涉,形成干涉条纹图像中的明亮条纹,当两个波的相位相反时则产生相消干涉,形成暗条纹,于是构成了明暗相间的干涉条纹图像。当试件内...
点击此处查看原文
引言
由于电容元件本身的储能特性,因此它被广泛地应用于整流,滤波,耦合,振荡等电路中,几乎成为现代整机产品中不可或缺的分立元器件。因此,无论是对电容生产厂商或整机设计维修工程师来讲,通过电容测量仪准确地了解电容元件的参数特性都非常有必要,尤其是模拟电路和射频电路设计工程师。由于电容元件的本身储能特性,使得人们在测量时总是会因为这样或那样的原因而忘记先放电再测量,导致电容测试仪被烧毁的现象时有发生。因此自电容测量仪诞生以来的过去几十年中,人们就一直在探索既保证电容测量精度的同时又能防高压问题的最佳解决方案。正是基于此,本文介绍了一种基于赛普拉斯的8位PSoC芯片为核心,具有高精度,宽量程,耐高压的电容测量解决方案。
PSoC 简述
PSoC是Cypress半导体有限公司生产的的可编程片上系统芯片。它主要由8位微处理器,可编程模拟模块和数字模块,外加可编程恒流源(IDAC), I2C,Flash, SRAM等周边外围模块组成,如图1所示。
点击此处查看原文
来自人体、环境甚至电子设备内部的静电对于精密的半导体芯片会造成各种损伤,例如穿透元器件内部薄的绝缘层;损毁MOSFET和CMOS元器件的栅极;CMOS器件中的触发器锁死;短路反偏的PN结;短路正向偏置的PN结;熔化有源器件内部的焊接线或铝线。为了消除静电释放(ESD)对电子设备的干扰和破坏,需要采取多种技术手段进行防范。
在PCB板的设计当中,可以通过分层、恰当的布局布线和安装实现PCB的抗ESD设计。在设计过程中,通过预测可以将绝大多数设计修改仅限于增减元器件。通过调整PCB布局布线,能够很好地防范ESD。以下是一些常见的防范措施。
*尽可能使用多层PCB,相对于双面PCB而言,地平面和电源平面,以及排列紧密的信号线-地线间距能够减小共模阻抗和感性耦合,使之达到双面PCB的1/10到1/100。尽量地将每一个信号层都紧靠一个电源层或地线层。对于顶层和底层表面都有元器件、具有很短连接线以及许多填充地的高密度PCB,可以考虑使用内层线。
*对于双面PCB来说,要采用紧密交织的电源和地栅格。电源线紧靠地线,在垂直和水平线...
点击此处查看原文
引言
信息家电(IA,Information Appliances)是融合了计算机和通信技术的新型消费电子产品,随着信息家电进一步数字化、网络化、智能化和自动化的发展趋势,出现了家庭网络。而由于蓝牙技术低成本、低功耗、低复杂性、高效率、高可靠性、强互操作性和良好兼容性等特点,使其被家庭网络所接受。为了合理有效地管理网络中的家电,并使其顺利地实现与家庭网络以外的因特网、移动通信网甚至固定市话网之间的通信,蓝牙网关的如何实现则成为问题的关键。本文基于蓝牙技术,介绍了用Motorola公司的嵌入式处理器MCF5272来实现家庭蓝牙网关的具体方案。
一、蓝牙与家庭网络
蓝牙(Bluetooth)是一种近距离无线通信技术规范,用来描述和规定各种信息产品(包括通信产品、计算机产品和消费电子产品)相互之间是如何用短距离无线电系统进行连接的。蓝牙技术的最大好处是消除了千头万绪、令人头疼的电缆线,从而实现信息电子设备之间的信息传递与同步。它具备通用电缆在成本、安全和承载能力等方面的种种特征。主要有以下几个特点:
蓝...
点击此处查看原文
1 引 言
传统的状态监测与故障诊断装置通常采用现场总线方式,但此方式具有很大局限性:现场总线类型多样,相互之间差异较大,不能实现互操作,彼此连接困难,系统的信息共享和实时性不尽如人意。为了更好地搭起终端设备和远程监控系统通信的桥梁,本文提出并设计了基于工业以太网的嵌入式状态监测与故障诊断装置,和传统装置相比,它有以下优势:实现了系统的高效、统一;用户可以通过Internet随时随地监控大范围的终端设备,取代了大量前置PC,具有更好的实时、实效性[1,2]。本装置将现场采集到的实时数据通过以太网直接传送到内嵌的Web服务器上,服务器生成用于远程监测和远程故障诊断的web页面,用户通过键入设备的IP地址,就可以随时浏览到被监测设备的现场运行情况、数据采集信息以及报警信息等。
2 装置结构与特点
目前,机电设备的状态监测与故障诊断的整个系统结构如图1所示:
点击此处查看原文
一、使用GRUB进行硬盘安装
1.安装前的工作
在安装前要分好区,一般要划出以下几个分区
/根分区 我安装redhat9时给了500M;
/boot分区100M-200M左右;
/swap一般是内存的两倍;
/home分区 保存各个用户的资料,根据你自己的需要决定
/usr分区 所有安装的包都放在这个分区,我安装redhat9时给了5G
如果不想按这么详细的分区,则可以只分/和/swap分区,但是以后资料保存在根分区,重新安装时这些资料就会被覆盖,就象在windows下你把资料保存在操作系统盘然后又同目录下全新安装了操作系统。但是我安装redhat9时,根分区只给了500M可以正常安装,suse linux10好象只能全部安装到根分区。
(1)将5个ISO文件解压到有足够空间的FAT32分区上,如C盘,并置于文件夹iso/cd1、iso/cd2、iso/cd3、iso/cd4、iso/cd5内点击此处查看原文
——存放各种类型数据的容器,包括变量、常量和信号
1. 变量(VARIABLE)
规则:只能在进程(PROCESS)、函数(FUNCTION)和过程(PROCEDURE)中说明和使用的局域量
定义格式:
VARIABLE 变量名:数据类型{:=初始值}
例如:VARIABLE a:INTEGER
VARIABLE b:INTEGER:=2;
变量赋值语句(区别端口赋值语句格式):
目标变量名:=表达式
例如:VARIABLE x,y:REAL
VARIABLE a,b:BIT VECTOR(0 TO 7);
x:=100.0;
y:=1.5+x;
a:=“1010101”
a(3 TO 6):=(‘1’,‘1’,‘0’,‘1’);
a(0 TO 5):=b(2 TO 7);点击此处查看原文
1 嵌入式软件开发流程
参照嵌入式软件的开发流程。第一步:工程建立和配置。第二步:编辑源文件。第三步:工程编译和链接。第四步:软件的调试。第五步:执行文件的固化。
在整个流程中,用户首先需要建立工程并对工程做初步的配置,包括配置处理器和配置调试设备。编辑工程文件,包括自己编写的汇编和C语言源程序,还有工程编译时需要编写的链接脚本文件,调试过程中需要编写存储区映像文件和命令脚本文件,以及上电复位时的程序运行入口的启动程序文件。
对后四种文件的理解很重要,其作用解释如下。
(1) 链接脚本文件:在程序编译时起作用。该文件描述代码链接定位的有关信息,包括代码段,数据段,地址段等,链接器必须使用该文件对整个系统的代码做正确的定位。在SDRAM中调试程序、在FLASH中调试或固化后运行的链接脚本文件应加以区分。(在IDE开发环境中使用扩展名*.ld)
(2)命令脚本文件:在SDRAM中调试程序时起作用。在集成环境与目标连接时、软件调试过程中以及目标板复位后,有时需要集成环境自动完成一些特...
点击此处查看原文
NFS简单配置
NFS是实现两机间进行通讯访问的一种简单方法。在嵌入式Linux实验过程中,我们通过配置NFS实现PC机和实验箱ARM-Linux平台之间的访问。
原理是在PC机Linux中开启LFS服务,设置一个共享目录(这里是/arm2410),所有的源码编辑改动都可以在PC机中进行方便的修改,在ARM-Linux实验环境中,将PC-Linux的/arm2410目录远程mount到本地,实现两机间的同步读写访问,这样程序就可以方便的在ARM-Linux中运行测试。简单说来,目的就是设置一个共享目录,在PC-Linux中进行编辑,在ARM-Linux中进行运行调试。
配置过程:(默认NFS都已经进行安装,PC-Linux的IP为192.168.136.6)
1.#ntsysv运行后,选中
nfs选项,取消[]iptables选项
2.运行安全级别和防火墙,进行安全级别设置。防火墙:Disable
3.运行服务器设置-NFS,添加NFS。...
点击此处查看原文
1、准备安装文件,一般是一个安装可执行文件和一个破解key生成器,安装后一路next到最后,生成一个能用的key复制进去就完成了VMware软件安装;
2、运行软件,建立一个新的虚拟机,起个名字,或者直接选择Red Hat Linux,然后选择虚拟机存放位置,一般在一个区空出8-10G就可以了,注意:存放的区必须是Fat32格式,否则在安装系统格式化硬盘的时候会出现硬件错误,另外这个时候VM/setting选择硬件设置,一般要做嵌入式开发工作,把parallel和serial选上加进去就可以了,注意是物理硬件,如果你压根没有这两个接口就算了吧。
3、建立好了,OK,放入系统安装盘或者直接载入镜像,注意:默认CD-ROM是最后的光驱盘符,而往往这是虚拟光驱,这常常导致总是无法找到自启动光驱的错误,要改成指向你的物理光驱盘符,同样是在VM/setting硬件设置修改。
4、安装系统,和正常机器一样操作。以安装Red Hat Linux为例,swap拨给512M,根目录拨给7-8G,选择完全安装,然后开始漫长的等待(默认虚...
点击此处查看原文
介绍了一个基于WindowsCE 的嵌入式分布控制系统,系统基于以太网和现场总线连接,节点用嵌入式平板计算机实现。给出了系统的硬件组成和软件设计, 该系统已应用于HIRFL_CSR 前端控制系统。
兰州重离子加速器冷却存储环工程(HIRFL_CSR) 控制系统是一个由CSR 电源系统、注入引出系统、内靶系统、真空系统、电子冷却系统等多个分系统组成的多层分布式控制系统, 各分系统通过以太网与前端控制系统连接,其前端控制系统是以嵌入式计算机为控制节点的分布式控制子系统, 系统组成框图见图1。

WindowsCE 嵌入式操作系统
Windows CE 是微软公司推出的一种嵌入式实时操作系统,目前最高版本是WindowsCENet, 具备完整的操作系统特征和端对端开发环境, 包括了基于WindowsCE 的定制设备所需的诸多功能, 可以为有限资...
点击此处查看原文
由于桌面Windows绝大多数情况下运行于X86平台上,也就不存在不同平台的可移植性问题。然而Windows CE运行在四大架构(X86,SHx,MIPS,ARM)的CPU上,编写应用程序时就需要考虑它的移植。
以下通过在wince系统下访问物理地址,来看看如何编写可移植性较好的应用程序。
首先必须明确两个概念。
1. 在X86平台下才有I/O地址这一说,在其他体系的CPU(如ARM/MIPS)下是没有I/O端口的。因为X86下把I/O和存储器分开编址,导致其有两种地址;而别的CPU是把两者统一编址,即把I/O映射到存储器上。
2. WinCE的存储管理是通过MMU实现的,在系统启动后,我们只能访问虚拟存储空间,必须经过MMU。但是在X86下,访问I/O口和存储器走的地址总线不同,不用经过MMU。
比如我们想要访问挂在某总线上物理地址为360h的端口,对于X86平台我们可以直接嵌入汇编操作物理地址, 或者使用地址指针访问物理地址。但对于其他平台,我们必须先作一个物理地址到虚拟地...
点击此处查看原文
Windows CE最大程度继承了桌面版Windows的丰富功能,但是Windows CE并不是一个通用的安装版操作系统。在形形色色的嵌入式设备世界里,一款CE系统通常只会针对某一种硬件平台生成。
一般来说,Windows CE的开发过程可以分为:0AL(OEM Abstraction Layer)、驱动、应用程序开发三个步骤。其中,0AL开发最基本的一步是板级支持包(BSP),而BootLoader设计则在BSP开发中具有极为关键的地位。
1.什么是BootLoader
嵌入式系统的启动代码一般由两部分构成:引导代码和操作系统执行环境的初始化代码。其中引导代码一般也由两部分构成:第一部分是板级、片级初始化代码,主要功能是通过设置寄存器初始化硬件的工作方式,如设置时钟、中断控制寄存器等,完成内存映射、初始化MMU等。第二部分是装载程序,将操作系统和应用程序的映像从只读存储器装载或者拷贝到系统的RAM中并执行。
(1)什么是板级BSP?
BSP(Board Support Pac...
点击此处查看原文
引 言
随着嵌入式技术的发展,单片机、DSP、ARM等处理器已经广泛应用于通信行业,尤其是在无线通信领域更是有其不可替代的作用。本设计中所用的核心器件MSP430FG4619是TI公司推出的MCU,TMS320VC5510(简称“VC5510”)是TI公司的5000系列DSP,而语音编解码芯片AMBE一2000也是以DSP为内核的。
无线对讲机由于具有即时通信、经济实用、成本低廉、使用方便以及无需通信费等优点,因此广泛应用在民用、紧急事件处理等方面。尤其在紧急事件处理以及没有手机网络覆盖的情况,对讲机更加显示出它的不可取代的地位。如今,模拟对讲机仍然占据绝大部分的市场,但是由于数字通信可以提供更丰富的业务种类,更好的业务质量、保密特性和连接性,以及更高的频谱效率,因此数字对讲机的研究、生产和使用是与时俱进的,符合信息化、数字化发展的必然趋势。DMR(Digital Mobile Radi0,数字移动无线电)协议是欧洲电信标准协会(ETSI)于2004年所提出的一种新型的数字集群通信协议,具有很好的发展前途。
1 DM...
点击此处查看原文
引言
疯牛病、口蹄疫、禽流感和人-猪链球菌等动物疾病在全世界范围内发生之后,人们越来越重视对动物疾病的控制、监督和预防。其中,动物监管的重要措施之一是对动物的饲养、运输、屠宰及其产品的加工和流通等环节实施全过程、全方位的有序管理和监控。
动物身份识别的实践表明,射频识别(RFID)在动物管理中起着越来越重要的作用。RFID利用射频通信实现的非接触式自动识别,通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境,以跟随动物生长的整个过程。开发一个性能优异的RFID系统进行动物识别与跟踪具有十分重要的意义,本文提出了基于EM4469的设计方案,以满足人对动物的非接触管理、户外长时间和低功耗的动物识别和跟踪中的各种要求。
系统组成及工作原理
系统的组成
基于RFID技术的动物识别和跟踪管理系统主要由射频电子标签、便携式手持读写器以及计算机网络及数据库管理软件组成。系统组成如图1所示。
点击此处查看原文
ST推出市场上首款集成扩展景深(EDoF)功能的1/4英寸光学格式3百万像素Raw Bayer传感器。意法半导体最新的影像传感器可实现最小6.5 x 6.5mm的相机模块,而且图像锐利度和使用体验非常出色,同时还兼有尺寸和成本优势,是一款智能型自动对焦相机解决方案。
VD6853和VD6803是集成EDoF功能的315万像素的高性能CMOS影像传感器。片上 EDoF与意法半导体最先进的1.75 um像素技术完美整合,使相机在小于15 厘米的对焦距离内可获得优异的画质,把相机对焦距离从近距离的光学字符识别和条形码扫描扩展到无限远。
意法半导体全新CMOS传感器还内置图像增强过滤器,包括4路暗角消除功能,可以平衡不均匀的亮度,在成像过程中修正画面缺陷,确保最佳画质,还让相机调节更简单。除手机应用之外,受成本、功耗和尺寸等限制而无法采用传统自动对焦解决方案的影像应用,如笔记本电脑摄像头、玩具或机器视觉系统,也可选用这两款传感器。
新传感器采用意法半导体的硅通孔(TSV)晶圆级封装,这种封装可制造标准以及晶圆级封装的相机模块...
点击此处查看原文
德州仪器 (TI) 宣布推出两款可将 32 位高级音频处理功能与 20 瓦立体声输出功率完美整合在同一器件上的数字输入音频放大器,进一步壮大了其数字音频产品阵营。TAS5709 与 TAS5710 不但支持扬声器均衡 (EQ)与双频带动态范围控制 (DRC),而且还可提供 TI 独特的 3D 与低音增强技术,从而通过拓展音场 (sound stage) 与改进低音响应来提升整体音效体验。TAS5710 采用 TI 闭环架构,可降低消费类音频产品对电源性能的要求,可在实现丰富、自然音质的同时,降低系统成本,充分满足高清电视 (HDTV)、媒体扩展基座、数字无线电广播以及条型音箱 (sound bar) 等各类应用的需求。
TI发布全新数字输入音频放大器TAS5709/10
TAS5709和TAS5710主要特性与优势:
·在 18 V 电压下为 8 欧姆电阻提供 20 W 的立体声输出功率,通过普通电源轨实现高效、强大的功率性能。闭环架构可最大限度地提高设计灵活性与音质;
·每个通道可提供多达九个双...
点击此处查看原文
英飞凌(Infineon)科技股份公司宣布推出全新霍尔效应开关和锁存器系列,新系列产品主要针对电机控制和自动化系统等多种工业应用。全新TLI49x6产品系列包括高精度霍尔效应开关和锁存器(基于斩波型霍尔传感器)。该系列具备更高的精确度和鲁棒性,能够有效防止电气干扰。它们采用窄引脚微型表贴封装,广泛适用于需要高灵活度、紧凑型设计的工业应用。
新产品系列包含TLI4906x系列开关和TLI4946x系列锁存器,另有不同封装方式的产品方便选型。
TLI4906x 是高精度霍尔效应开关,具备精确的开关阈值,环境工作温度高达125℃。对于需要精确开关点实现位置传感的多种工业和消费应用而言,例如安防系统、准直控制、按钮、键盘、开关和机床,它们是理想的选择。
TLI4946x锁存器是控制无刷直流(BLDC)电机的理想产品。无刷直流电机相对于有刷直流电机的主要优势是无需机械接触即可实现换流,因此,无刷直流电机更可靠、更高效,而且高速运转噪音更低。TLI4946x锁存器被设计用于准确检测无刷直流电机转子的位置,比如用于空调系统、泵、洗...
点击此处查看原文
泰克通信公司日前在2009年世界移动通信大会上推出其最新监测系统K2Air,提供了Uu接口监测功能,支持LTE网络。K2Air通过数字RF接口(如CPRI)采集数据,完善了泰克通信为LTE运营商和网络设备制造商提供的测试、监测和优化系列解决方案。
通过K2Air探头,可以深入了解LTE有线接口上不能监测到的空中接口性能和关键的eNodeB功能。该探头全面集成了泰克通信的协议监测解决方案,可以在实验室检验和现场网络调试环境中进行性能测试和监测,提供了无缝的、全面相关的LTE无线和有线监测功能。
K2Air探头支持混杂模式上行和下行监测,可以在空中接口上同时监测最多300台UE。它把这些信息与固定LTE及传统2G和3G接口上的数据关联起来,可以端到端监测网络和网元性能。K2Air探头的高负荷实时功能与NSA性能监测解决方案的端到端监测功能相结合,较市场上目前提供的其它解决方案拥有明显的优势,后者一般只支持短时间内捕获数据,或只能详细查看一个接口上的信息。对于开发LTE产品的网络设备制造商及试用和部署LTE技术的网络运营商而言,K2Air探头...
点击此处查看原文
驱动程序的使用可以按照两种方式编译,一种是静态编译进内核,另一种是编译成模块以供动态加载。由于uClinux不支持模块动态加载,而且嵌入式Linux不能够象桌面Linux那样灵活的使用insmod/rmmod 加载卸载设备驱动程序,因而这里只介绍将设备驱动程序静态编译进uClinux内核的方法。
下面以uClinux为例,介绍在一个以模块方式出现的驱动程序test.c基础之上,将其编译进内核的一系列步骤:
改动test.c源带代码
第一步,将原来的:
#include
#include
char kernel_version[]=UTS_RELEASE;
改动为:
#ifdef MODULE
#include
#include
char kernel_version[]=UTS_RELEASE;
#else
#d...
点击此处查看原文
简介
Linux是一种很受欢迎的操作系统,它与Unix系统兼容,开放源代码。它原本被设计为桌面系统,现在广泛应用于服务器领域。而更大的影响在于它正逐渐的应用于嵌入式设备。uClinux正是在这种氛围下产生的。在uClinux这个英文单词中u表示Micro,小的意思,C表示Control,控制的意思,所以uClinux就是Micro-Control-Linux,字面上的理解就是"针对微控制领域而设计的Linux系统"。
uClinux小型化的做法
标准Linux可能采用的小型化方法:
1、重新编译内核
Linux内核采用模块化的设计,即很多功能块可以独立的加上或卸下,开发人员在设计内核时把这些内核模块作为可选的选项,可以在编译系统内核时指定。因此一种较通用的做法是对Linux内核重新编译,在编译时仔细的选择嵌入式设备所需要的功能支持模块,同时删除不需要的功能。通过对内核的重新配置,可以使系统运行所需要的内核显著减小,从而缩减资源使用量。
2、制作root文件系...
点击此处查看原文
在ARM系统中,有时需要精确的时间测量。通常,取时间的C函数(如gettime()等)不仅通用性差(必须包含头文件DOS.H,且不支持Unix、Linux和标准C),明显不适用于ARM系统[1];更成问题的是,其最短时间只能到10-2 秒级,不能提供更短的时间分度。根本原因在于: 这类函数是基于系统实时时钟(RTC)的,而RTC通常采用标准化钟表晶振,频率只有32.768 kHz而已。
然而很多应用涉及μs级的时间计量,这是标准化了的RTC以及基于它的时间函数所无能为力的。笔者在移植DES算法到ARM系统的实验过程中,便遇到过要定量评估加密算法耗时多少的问题,发现的确不能用上述常规的C函数解决。经对ARM芯片结构的考察,发现其内置的WatchDog系统是以系统时钟驱动的,定量性能应该很好,区分时间间隔的精细程度也应该足够。于是根据所用ARM芯片的原厂家数据手册中的说明,借用 WatchDog编写了自己的计时函数,使用起来也比较方便。考虑到ARM芯片都带有内置看门狗,笔者觉得这种方法可算是一个不错的“过渡性”解决方案,故在此加以介绍,供同行们参考并指正。点击此处查看原文
一直对linux启动时挂载根文件系统的过程存在着很多疑问,今天在水木精华区找到了有用的资料,摘录如下:
1、Linux启动时,经过一系列初始化之后,需要mount 根文件系统,为最后运行init进程等做准备,mount 根文件系统有这么几种方式:
1)文件系统已经存在于硬盘(或者类似的设备)的某个分区上了,kernel根据启动的命令行参数(root=/dev/xxx),直接进行mount。 这里有一个问题,在root文件系统本身还不存在的情况下,kernel如何根据/dev/xxx来找到对应的设备呢?注意:根文件系统和其他文件系统的mount方式是不一样的,kernel通过直接解析设备的名称来获得设备的主、从设备号,然后就可以访问对应的设备驱动了。所以在init/main.c中有很长一串的root_dev_names(如hda,hdab,sda,sdb,nfs,ram,mtdblock……),通过这个表就可以根据设备名称得到设备号。注意,bootloader或内核中设定的启动参数(root=/dev/xxx)只是一个代号,实际的根文件系...
点击此处查看原文
ARM体系结构:
1、最常用的方式,就是在make config里修改“General Setup”子菜单中的“Defaultkernel command string”选项,通过修改这个选项来修改include/linux/autoconf.h文件中的CONFDS_CMDLINE宏。
2、有的时候为了省去make menuconfig的时间,并且内核命令也是固定的,就可以写死内核arch/arm/setup.c文件default_command_line,这个变量本来是初始化为CONFDS_CMDLINE的。
3、除了方法1之外,另外一种正规的方法就是将内核命令写入内核参数表中,然后通过start_kernel()->setup_arch()->parse_tags()->parse_tag()->parse_tag_cmdline()函数来将内核参数表中的内核命令覆盖default_command_line变量(当然你首先得有内核参数表)。
4、最后,有的板子会采取直接将内核命令通过bootl...
点击此处查看原文