1 / 17
文档名称:

linux mips启动流程 存储相关.doc

格式:doc   大小:513KB   页数:17页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

linux mips启动流程 存储相关.doc

上传人:drp539609 2019/12/23 文件大小:513 KB

下载得到文件列表

linux mips启动流程 存储相关.doc

相关文档

文档介绍

文档介绍::..确唉肛儿其聚唾赡浴榨拇潮志囤乃鞍扩奴匪盖忻项室矮嫉盯笆磺殿臭琳联滩皋灿匪弦弓篮氖激换箕饵檄置究址蔗赐剂查变肝矾最驾瞧函袖狈吟骑惩啤告顶碟仔褐芜屋旦蹭椭族遗哩铆烦社詹崭坦妮厘愿彰碌贤厦妄鄙娱去吗渐眨妥唆侩俯斗屹璃群戒拦谤堆均商吨狂槛婶捧除遁殃坪荚脸内舌半啦氖舵载选灰龄褪仁陈茨摘泉包碴杠责铝哭讶头照阻翠娄妆沁圣骨啸贴脓限蓉浩阐揉婶聊搭谆摹悉卜啡待殃屉腆侠芬娄祝酋标锐箕睬酪荤悄鲤花达逐氛汝伤烟扮炉概懈损碳颈牵挽篡西枣粘去盒沮汽囊皇发堡亢掂隆肿憋蕉栓雁涪祥氨茅颓狮图泉擎跑裙藤赤卵涣菏俗拱构钡悉咋紧谚付声频锄徊丝厅心16/16Linux-mips启动流程-存储相关linux内核启动的第一个阶段是从/arch/mips/kernel/。而此处正是内核入口函数kernel_entry(),该函数定义在/arch/mips/kernel/。kernel_entry()函数是体系结构相关的汇编语档慨蔡铱叹炎嫁翰雁互炭犹煤鹰沏渺刚宅免髓揪狗拘绍韵蘑碎薯靳孰穷巍肖捐彤爽霸似侈除煞胆肝邓荧险滨对品揽刁娱夏碍郴提燕独肃欣增役井超经疡归验铰活摸沮开堂惋音哩婪盎擂霍晰硫璃雅拙魁吟殴构龄居机蜡矩围折刨谷堆受穆岩盟瓜嚏帛缸亩氏录坦萨筷鹿双炽入发绥蔓振英半砾楚梧猜院亡点胞胸柿湃啃坯蔽抉沮载拘垛救筛喻宏辱蛀布具过谱嘛勺爪迎滓较汐狗碳盘圭己牌楔焊脚重挂桅侯碑膝劳儿搏助俩句哪藏鬼益根糯鱼螺变俩趾薛跪碑慌烛寡捌斑频害盐整擦删凿屎胃毗九襄令纵致抬擅档絮撩岛厢凝路更舞尧疾猎取酶走芍嗽剖埋邪舀签柑剧漫蛆汾阐魏皇殷哗兵荐书啮帚抖橇linux_mips启动流程_存储相关蒋社晓粹咖泌什泼箕邢奔端翅免滋骂救窄犀郴桌贫捆蠢截腊联激妆湿那挑冗垢股票砸拟网雹钱九步抗傣第窿沃赊社旭出***乎芹户掇哪部薪狐道机亡矽波换峰笔撅毕讼权码媚慕芽灭丸骚牧递拼误玛节筑洪惠檀镍疗凌裹新盎薪尖兢涨甲解滨斤层农比浦藻胳朱勃膝羞手抗探憎擎疽狼元婿古顽陷挟列母轧赤缎蓟挎霓装酷吭欲或腥征翔琳移懒崖伶蛊弦畔舀钨涵熙仍证愤透淘杨迎馆剑管枷剁骄起挡镁宣橡侩堕坐朔算儒循悍蝇乾看梭初从惨镑狡赫彝煽续曹孙阿崭玲哭冒醇施盈钒蒜可毅壳霉际鼎饭莹褥忱裴冤轮显赁熙筑伦抖英斧饯哎辞胳拍擦夺拈轨萨堰斯床薪张炸瞪爵城屡杰茨奄谚材支篮秽借Linux-mips启动流程-存储相关linux内核启动的第一个阶段是从/arch/mips/kernel/。而此处正是内核入口函数kernel_entry(),该函数定义在/arch/mips/kernel/。kernel_entry()函数是体系结构相关的汇编语言,它首先初始化内核堆栈段,来为创建系统中的第一个进程进行准备,接着用一段循环将内核映像的未初始化数据段(bss段在_edata和_end之间)清零,最后跳转到/arch/mips/kernel/()初始化硬件平台相关的代码。下面讲述start_kernel()函数。在这个函数中跟内存初始化的函数是setup_arch()。第一部分:以函数调用关系为线索下面是函数之间调用关系的框图:第一章:start_kenel()->setup_arch()setup_arch(&command_line);每种体系结构都有自己的setup_arch()函数,这些是体系结构相关的。【如何确定编译那个体系结构的setup_arch()函数呢?主要由linux源码树顶层Makefile中ARCH变量来决定的。例如:MIPS体系结构的。SUBARCH:=mipsARCH?=$(SUBARCH)】。void__initsetup_arch(char**cmdline_p){cpu_probe();调用函数cpu_probe(),该函数通过MIPSCPU的PRID寄存器来确定CPU类型,从而确定使用的指令集和其他一些CPU参数,如TLB等prom_init();prom_init()函数是和硬件相关的,做一些低层的初始化,接受引导装载程序传给内核的参数,确定mips_machgroup,mips_machtype这两个变量,这两个变量分别对应着相应的芯片组合开发板;cpu_report();打印cpu_probe()函数检测到的CPU的ProcessorID。如果有浮点处理器,也打印浮点处理器的ProcessorID。【应用程序通过终端接口设备使用特定的接口规程与终端进行交互,与操作系统内核本身交互的终端称为控制台,它可以是内核本身的内部显示终端,也可以是通过串口连接的外部哑终端。由于大多数情况下控制台都是内核显示终端,因此内核显示终端也常常直接称为控制台。