mips32 pc取mips指令集为什么是2到11位

君,已阅读到文档的结尾了呢~~
基于 FPGA 的 MIPS32 流水线处理器的设计与实现
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于 FPGA 的 MIPS32 流水线处理器的设计与实现
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口');(window.slotbydup=window.slotbydup || []).push({id: '2769125',container: s,size: '',display: 'inlay-fix'});})();
MIPS指令集(1)
贡献者:娜希希i本站编辑:杭州厨师培训
MIPS CPU的一次操作可加载或存储1到8个字节的数据。由于乘法的结果返回的速度不足以使下一条指令能够自动得到这个结果,乘法结果寄存器是互锁的(interlocked)。在乘法操作完成之前试图读取结果寄存器就是导致CPU停止运行,直到完成。 和其他一些更简单的RISC体系结构相比,MIPS体系结构的目标之一是:体系结构朝着64位发展,从而使得地址的段式结构变得没有任何必要。(在64位版本的X86核PowerPC中还有这个负担) 功能分组: 空操作:nop、ssnop(不能和其他指令同时发射,至少需要一个时钟周期) 寄存器间的数据传送指令:move、movf、movt、movn、movz(后四个为条件传递指令) 常数加载指令:dla、la(获取某些标号地址或程序中变量地址的宏指令);dli、li(加载常数立即数指令);lui(加载高位立即数指令) 算术/逻辑操作指令:addu、addiu、daddu,daddiu(加法指令);dsub、sub(会触发溢出陷入的减法操作);dsubu、subu(普通减法指令);abs、dabs(求绝对值操作);dneg、neg、dnegu、negu(一元非操作);and、andi、or、ori、xor、xori、nor、not(按位逻辑指令);drol、dror、rol、ror(循环左移和右移);dsll、dsll32、dsllv(64位左移,低位补零);dsra、dsra32、dsrav(64位算术右移指令);dsrl、dsrl32、dsrlv(64位逻辑右移指令);sll、sllv(32位左移指令);sra、srav(32位算术右移指令);srl、srlv(32位逻辑右移指令);slt、slti、sltiu、sltu(硬件指令,条件满足就写入1,否则写0);seq、sge、sgeu、sgt、sgtu、sle、slue、sne(根据更复杂的条件设置目的寄存器的宏指令) 整数乘法、除法以及求余指令:ddiv、ddivu、div、divu(整数除法的3操作数宏指令分别处理64位或32位有符号或无符号数);divo、divou(明确该指令是带有溢出检查的除法指令);dmul、mul(3操作数64位或32位乘法指令,没有溢出检查);mulo、mulou、dmulo、dumlou(乘法宏指令,如果结果不能存入一个通用寄存器,发生溢出,触发异常);dmult、dmultu、mult、multu(执行有符号/无符号32/64位乘法的机器指令);drem、dremu、rem、remu(求余操作);mfhi、mflo、mthi、mtlo(用于访问整数乘除单元的结果寄存器hi和lo) 存取指令(内存访问指令):lb、lbu(加载一个字节,高位可以补零,或进行符号扩展,以补充整个寄存器的长度);ld(加载一个双字);ldl、ldr、lwl、lwr、sdl、sdr、swl、swr(向左、向右加载、存储一个字、双字);lh、lhu(加载一个半字,高位可以补零,或进行符号扩展,以补充整个寄存器的长度);lw、lwu(加载一个字);pref、prefx(把数据预取到缓冲);sb、sd、sh、sw(存储字节、双字、半字、字);uld、ulh、ulhu、ulw、usd、usw、ush(地址非对齐的数据存取宏指令);l.d、l.s、s.d、s.s(存取双精度和单精度浮点数的指令,地址必须对齐);ldxcl、lwxcl、sdxcl、swxcl(采用基址寄存器+偏移寄存器的寻址方式存取指令); 跳转、分支和子程序调用指令:j(无条件跳转到一个绝对地址,访问256M的代码空间);jal、jalr(直接或间接子程序调用,这种跳转不仅能跳转到指定地址,而且可以顺便把返回地址(当前指令地址+8)放到ra寄存器中);b(基于当前指令地址的无条件相对跳转);bal(基于当前地址的函数调用指令);bc0f、bc0f1、bc0t、bc0t1、bc2f、bc2f1、bc2t、bc2t1(根据协处理器0和2的条件标志进行跳转);bc1f、bc1f1、bc1t、bc1t1(根据浮点条件标志位进行跳转);beq、beq1、beqz、beqz1、bge、bge1、bgeu、bgeu1、bgez、bgez1、bgt、bgt1、bgtu、bgtu1、bgtz、bgtz1、ble、ble1、bleu、bleu1、blez、blez1、blt、blt1、bltu、bltu1、bltz、bltz1、bne、bnel、bnez、bnezl(双操作数和单操作数的比较跳转指令);bgeza1、bgeza11、bltza1、bltza11(如果需要 ,这些指令是用于有条件函数调用的原始机器指令); 断点及陷阱指令:break(产生一个“断点”类型的异常);sdbbp(产生EJTAG异常的断点指令);syscall(产生一个约定用于系统调用的异常类型);teq、teqi、tge、tgei、tgeiu、tgeu、tlt、tlti、tltiu、tltu、tne、tnei(条件异常指令,对一个或两个操作数进行条件测试);
点击显示全文
蛋黄并且能够增加食物色则,添加食物香味 烘培入门——烘焙用油脂全接触烘培入门——烘焙用油脂全接触 一、油脂的种类 1、天然油脂 《1》植物油 在豆油、棉子油、...贡献者:
烘焙知识大全——新手必备_人文社科_专业资料。新手必备的烘焙知识大全。既有烘焙工具、材料、各类点心制作的方子和详细做法,更有烘焙的小技巧。实在是烘焙新手的入门...贡献者:lguanr
焊接材料烘焙记录_建筑/土木_工程科技_专业资料
暂无评价|0人阅读|0次下载|举报文档焊接材料烘焙记录_建筑/土木_工程科技_专业资料。焊接材料烘焙记录 C5表 C5-...贡献者:lilin2880
五谷杂粮烘焙参数物料名称 糙米 糯米 荞麦 燕麦米 黑米 玉米 薏米 黄豆 红豆 黑豆 绿豆 白扁豆 苦瓜籽 芹菜籽 胡萝卜籽 冬瓜籽 葡萄籽 生菜籽 苹果干 草莓干 ...贡献者:
10款最经典湘菜_语文_高中教育_教育专区。10 款最经典湘菜《中国湘菜标准》确定了“酸辣香浓、熏腊味厚、质嫩色亮”的现代湘菜风格,并收录了 十道大众湘菜,大厨......贡献者:fymao2000
湘菜简介_管理学_高等教育_教育专区。 湘菜简介: 潇湘风味,以湖南菜为代表,简称“湘菜”,是我国八大菜系之一。湖南省,位于中 南地区,长江中游南岸。 这里气候温......贡献者:Co半格调
川湘菜_文学研究_人文社科_专业资料。文章中的内容来自百度各类的资料,是拼凑而成的 湘菜与川菜的异同比较学号 姓名 学院 中国文化博大精深。是一个餐饮文化大国,......贡献者:梦依非
湘菜餐饮经营计划书_商业计划_计划/解决方案_实用文档。革命根据地 经营策划书 《草案》 前言 餐饮行业以舒适的环境、 优良的服务和菜品的特色赢得经济效益, 根据现......贡献者:廖松平yin
湘菜简称湖南菜,它历史悠久,源远流长,逐步发展成为颇负盛名的地方菜系 湖南地处长江中游南部,气候温和,雨量充沛,土质肥沃,物产丰富,素称“鱼米之乡” 。 优越......贡献者:qccsnow
湘菜的来源历史及特色_饮食_生活休闲。潇湘风味,以湖南菜为代表,简称“湘菜”,是我国八大菜系之一。潇湘风味,以湖南菜为代表,简称“湘菜” ,是我国八大菜系之一......贡献者:夏墨一样
湘菜餐厅名字: 潇湘风情 湘阁里辣 湘野食府 &锦湘楼&& 沁湘苑&湘菜馆 毛轩湘菜馆 天心阁湘菜馆 滴水洞湘菜馆 果园湘菜馆 洞庭春湘菜馆 聚湘福湘菜馆 芙蓉......贡献者:天簌至尊
湘菜调研报告总稿_调查/报告_表格/模板_应用文书。挑战杯黄伟、 一.项目背景---黄伟、张美娜 项目背景 黄伟 1.1 湘菜品牌理论研究 俗语有云——“民以食为天”......贡献者:我生气时会发飙
赣菜_饮食_生活休闲。赣菜赣菜赣菜最早文字记载见于两千年前; “物华天宝,人杰地灵”的鱼 米之乡江西,养育了千千万万的江西人,同时也孕育了独具一格的赣 菜文化......贡献者:新KD
中国赣菜名菜名点名师大师名店名单 一、中国赣菜名菜 100 个 南昌市《 南昌市《27 个》 : 西施金丝缠大虾、海参眉毛丸、稻香鸭、新雅四宝、瓦罐煨 猪手、酱香......贡献者:wwusn
赣菜历史悠久_其它_工作范文_应用文书。赣菜历史悠久,是在继承历代“文人菜”基础上发展而成的乡土味极浓的“家乡菜”。传统意义 上的赣菜主要由南昌、上饶、九江......贡献者:一如既往354
赣菜的发展历程及味型结构_销售/营销_经管营销_专业资料。赣菜的发展历程及味型结构邓 云 江西简称赣,江西菜又称赣菜。它的形成有其社会、经济、文化、物产 资源......贡献者:Dy邓妍
赣菜 粉蒸肉_文化/宗教_人文社科_专业资料。 赣菜有着数千年饮食文化的积淀,《后汉书》中的《豫章记》称江西“嘉蔬精稻,擅味八方”;而后,“初唐四杰”之一的......贡献者:djfiengljc
学做赣菜——清炖狮子头_饮食_生活休闲。学做赣菜——清炖狮子头赣菜是江西地区汉族饮食文化的总称,具有浓郁地域特色。江 西菜历史悠久,是在继承历代“文人菜”......贡献者:新疆新东方258
赣菜——莲花血鸭_饮食_生活休闲。莲花血鸭的做法,赣菜 莲花血鸭莲花血鸭属赣菜系萍乡菜一支,是江西省萍乡市莲花县的一道汉族名菜。 莲花血鸭因具有“色美味香......贡献者:早安曹妃甸
特色农家赣菜西江美食坊
特色农家赣菜西江美食坊
特色农家赣菜西江美食坊 特色农家赣菜西江美食坊
特色农家赣菜西江美食坊......贡献者:爱乐活网
但同时徽徽菜的重色 也非一成不变, 现代社会人们追求标新立异, 同样的菜肴重以不同的色将能增加人们的消费 欲望,同时由于重油的变化,重色的需求之然也就降低......贡献者:张欣欣1990
徽菜简介_设计/艺术_人文社科_专业资料。徽菜是中国汉族八大菜系之一,仅仅指徽州菜,而不能等同于安徽菜。徽菜来自徽州,离不开徽州这个特殊的地理环境提供的客观条件......贡献者:吃货吃吧78
徽菜系又称“徽帮”、“安徽风味”,是中国著名的八大菜系之一。 徽菜的原料, 由于资源丰富、 质地优良、 取之不尽用之不竭。 安徽地处华东腹地, 气候温和雨量......贡献者:
浅谈安徽徽菜文化_历史学_高等教育_教育专区。浅谈安徽徽菜文化 浅谈安徽徽菜文化【摘要】徽菜为全国八大菜系之一,起源于歙县,绩溪的徽帮厨师将它发扬光大。据 《......贡献者:文化产业吧
1 徽菜的历史 1.1徽菜的定义 徽菜作为中国八大菜系之一,但在语义理解往往有所偏差。关于徽菜的定义, 但它却与安徽菜有着不同的含义。徽菜来自古徽州,古徽州,......贡献者:黄收藏夹
徽菜的特点与代表菜。徽菜是我国八大菜系之一。徽菜就是徽州菜。根据史料记载,徽菜开始于南宋时的歙县,明清以后绩溪逐渐变成了徽菜的中心。 许多绩溪人在长江流域的......贡献者:君子之交休宁
徽州美食欣赏 专业:信息与计算科学 组员:张春彬 目录 徽菜简介---第 3 页 毛豆腐---第 4 页 菜品来历---第 4 页 工艺......贡献者:蓝天宇下
徽菜的民间故事_文化/宗教_人文社科_专业资料。有关徽菜的民间故事 胡宗宪与冬瓜鱼 嘉靖三十三年《1555》 ,胡宗宪受命抗倭大任来到宁波。次年,宗宪采取让手下扮成......贡献者:xialan050300
日本料理常见的菜单及配料 日本料理常见的菜单及配料: 日本料理餐厅经常见到的菜单类别大概可以分为下列五种: 《一》生鱼片:简单的来说就是各式的生食海鲜,如鱼、...贡献者:zhaobeikang956中国十大著名日本料理店 清水海 清水海餐饮集团始建于 2003 年 8 月,是在中国北方美丽的海滨城市青岛建立的一家以经营 纯正日式料理为主的大型高档餐饮连锁企业。...贡献者:朗杰007日本料理_物理_自然科学_专业资料。日本料理即和食,起源于日本列岛,主要以米饭,面条为主,副食多为新鲜鱼虾等海产,常配以日本酒.和食以清淡着称.最有代表性有...贡献者:发乌沙日本料理基础知识介绍 料理在汉语中的本意是处理、整理,料理一词在日语却是菜肴的意思。随着日本经济的急剧扩张, 日本生活方式也逐渐向世界各地扩散。作为世界美食中...贡献者:Max认真学习可以在家做的日本料理。精心典藏日式手卷原料:海苔、米饭、生菜。 做法: 1、铺一张海苔,放适量米饭,插几片生菜,漏斗形卷起来; 2、卷好后随意放上喜欢的食材,挤...贡献者:ls
川菜文化的发展历程作为中国八大菜系之一,同时也是味型最多、最有特色、民间的最大菜系,四川菜系以 调味与菜式复杂多样且富有特色, “五味俱全”而突出麻辣,口味...贡献者:jiong家常川菜做法大全_经管营销_专业资料。川菜乃是我国的八大菜系之一,它是色、香、味俱全,有了它,就能丰富你的餐桌。家常川菜做法大全豉汁蒸排骨 菜系: 时间: ...贡献者:zhoupengnet温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
&& ------涂鸦部分为个人gmail帐号-------3.把得到授权后的username和password粘到~/.netrc文件里,如果没此文件,新建。即加入下面部分:4.强制访问googlesource,执行初始化命令注意由原来的$ repo init -u /platform/manifest改成了$ repo init -u /a/platform/manifest 对于下载不同版本的android代码,指定一个manifest分支(即只指明android对应的版本),使用-b参数(即下载某个版本的源代码),如:下载基于android4.0的分支为android-4.0.1_r1的代码$ repo init -u /a/platform/manifest -b android-4.0.1_r1这里以下载android4.2的分支为de&android-4.2_r1的de&代码为例:$ repo init -u /a/platform/manifest -b android-4.2_r1也可尝试一下不加“/a”,自己试吧:$ repo init -u /platform/manifest -b android-4.2_r1执行以上命令后,会在/home/zhoulc/work/android4.2/目录中生成一个.repo的目录,此目录保存了将要下载的源代码的相关信息。---------------------------------------------------------------------------------------------------------可能的错误信息(没有,则跳过红色部分):如果执行$ repo init -u /a/platform/manifest -b android-4.2_r1/home/zhoulc/bin/repo: line 1: syntax error near unexpected token `newline'/home/zhoulc/bin/repo: line 1: `&!DOCTYPE html&解决方案:原来下载的repo不能用,得换一个:执行:$ curl "http://php.webtutor.pl/en/wp-content/uploads/2011/09/repo"& ~/bin/repo$ chmod a+x ~/bin/repo再运行就OK了:$ repo init -u /a/platform/manifest -b android-4.2_r1gpg: keyring `/home/zhoulc/.repoconfig/gnupg/secring.gpg' createdgpg: keyring `/home/zhoulc/.repoconfig/gnupg/pubring.gpg' createdgpg: /home/zhoulc/.repoconfig/gnupg/trustdb.gpg: trustdb createdgpg: key 920F5C65: public key "Repo Maintainer &repo@android.kernel.org&"表ed。。。。。Testing colorized output (for 'repo diff', 'repo status'):& black&&& red&&&&& green&&& yellow&& blue&&&& magenta&& cyan&&&& white & bold&&&& dim&&&&& ul&&&&&& reverse Enable color display in this user account (y/n)? yrepo initialized in /home/zhoulc/work/android4.2仓库初始化完毕了------------------------------------------------------------------------------执行之后的打印信息:zhoulc@zhoulc-PC:~/work/android4.2$ repo init -u /a/platform/manifestGet /git-repo/clone.bundleGet /a/platform/manifest& % Total&&& % Received % Xferd& Average Speed&& Time&&& Time&&&& Time& Current&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Dload& Upload&& Total&& Spent&&& Left& Speed100&&&& 1& 100&&&& 1&&& 0&&&& 0&&&&& 3&&&&& 0 --:--:-- --:--:-- --:--:--&&&& 4100 9126&&& 0&&&& 0&& 120k&&&&& 0 --:--:-- --:--:-- --:--:-- 1168kReceiving objects: 100% (398/398), 85.13 KiB, done.Resolving deltas: 100% (143/143), done.From /home/zhoulc/work/android4.2/.repo/manifests.git/clone.bundle&* [new branch]&&&&& tradefed&& -& origin/tradefed&* [new branch]&&&&& tradedef&& -& origin/tradedef&* [new branch]&&&&& tools_r20& -& origin/tools_r20&* [new branch]&&&&& master-dalvik -& origin/master-dalvik&* [new branch]&&&&& master&&&& -& origin/master&* [new branch]&&&&& ics-mr1&&& -& origin/ics-mr1&* [new branch]&&&&& ics-mr0&&& -& origin/ics-mr0&* [new branch]&&&&& gingerbread-release -& origin/gingerbread-release&* [new branch]&&&&& gingerbread -& origin/gingerbread&* [new branch]&&&&& froyo&&&&& -& origin/froyo&* [new branch]&&&&& android-sdk-adt_r20 -& origin/android-sdk-adt_r20&* [new branch]&&&&& android-sdk-adt_r16.0.1 -& origin/android-sdk-adt_r16.0.1........................&* [new tag]&&&&&&&& android-4.1.1_r1 -& android-4.1.1_r1&* [new tag]&&&&&&&& android-4.1.1_r1.1 -& android-4.1.1_r1.1&* [new tag]&&&&&&&& android-4.1.1_r1_ -& android-4.1.1_r1_&* [new tag]&&&&&&&& android-4.1.1_r2 -& android-4.1.1_r2&* [new tag]&&&&&&&& android-4.1.1_r3 -& android-4.1.1_r3&* [new tag]&&&&&&&& android-4.1.1_r4 -& android-4.1.1_r4&* [new tag]&&&&&&&& android-4.1.1_r5 -& android-4.1.1_r5&* [new tag]&&&&&&&& android-4.1.1_r6 -& android-4.1.1_r6&* [new tag]&&&&&&&& android-4.1.1_r6.1 -& android-4.1.1_r6.1&* [new tag]&&&&&&&& android-4.1.2_r1 -& android-4.1.2_r1&* [new tag]&&&&&&&& android-4.2.1_r1__ -& android-4.2.1_r1__&* [new tag]&&&&&&&& android-4.2_r1___ -& android-4.2_r1___&* [new tag]&&&&&&&& android-cts-4.1_r1 -& android-cts-4.1_r1&* [new tag]&&&&&&&& android-sdk-support_r11 -& android-sdk-support_r11Your identity is: xxxx &&If you want to change this, please re-run 'repo init' with --config-namerepo initialized in /home/zhoulc/work/android4.2zhoulc@zhoulc-PC:~/work/android4.2$5.同步代码即可:&$ repo sync-----------------------------------------------------------------repo sync时如果出现错误信息(没有出现此错误,请跳过):$ repo syncInitializing project platform/abi/cpp ...fatal: '../platform/abi/cpp.git' does not appear to be a git repositoryfatal: The remote end hung up unexpectedlyerror: Cannot fetch platform/abi/cpp解决方案:可以查看根目录下有个.repo文件夹,在.repo目录下的manifest.xml里找到fetch属性
fetch=&"git://Android.git.linaro.org/&"即$ vi .repo/manifest.xml&?xml version="1.0" encoding="UTF-8"?&&manifest&& &remote& name="aosp"&&&&&&&&&& fetch=".."&&&&&&&&&& review="https://android-/" /&& &default revision="refs/tags/android-4.2_r1"&&&&&&&&&& remote="aosp"&&&&&&&&&& sync-j="4" /&将fetch=".."修改成fetch=&"git://Android.git.linaro.org/&",再sync就OK了--------------------------------------------------------------
如果中间出现中断,这个很正常,你可以再次输入 ~/bin/repo sync 命令来进行下载。
根据网速的不同,下载时间也有快慢,最好在睡觉前或下班后下载代码,由于源文件比较大,一般国内都要5小时左右甚至更久。
若是出现以下信息,表示代码以下载完成:........................From /home/zhoulc/work/android4.2/.repo/projects/tools/motodev.git/clone.bundle&* [new branch]&&&&& tools_r21& -& aosp/tools_r21&* [new branch]&&&&& master&&&& -& aosp/master&* [new branch]&&&&& jb-mr1-release -& aosp/jb-mr1-release&* [new branch]&&&&& jb-mr1-dev -& aosp/jb-mr1-devremote: Counting objects: 2506, doneremote: Finding sources: 100% (4/4)remote: Total 4 (delta 0), reused 4 (delta 0)Unpacking objects: 100% (4/4), done.From /a/platform/tools/motodev&* [new tag]&&&&&&&& android-4.2.1_r1 -& android-4.2.1_r1&* [new tag]&&&&&&&& android-4.2_r1 -& android-4.2_r1&* [new tag]&&&&&&&& android-cts-4.2_r1 -& android-cts-4.2_r1&* [new tag]&&&&&&&& android-sdk-support_r11 -& android-sdk-support_r11Fetching projects: 100% (329/329), done. &Checking out files: 100% (), done.out files:& 44% ()& &Checking out files: 100% (), done.out files:&& 0% (2/6764)& &Checking out files: 100% (), done.ut files:& 40% ()& &Checking out files: 100% (), done.ut files:&& 1% (357/18696)& &Checking out files: 100% (361/361), done.ng out files:& 48% (175/361)& &Checking out files: 100% (175/175), done.ng out files:& 43% (76/175)& &Checking out files: 100% (), done. out files:&& 1% (39/2407)& &Checking out files: 100% (137/137), done.ng out files:& 44% (61/137)& &Checking out files: 100% (), done.ut files:& 14% ()& &Checking out files: 100% (93/93), done.Checking out files: 100% (450/450), done.Checking out files: 100% (), done. out files:& 35% ()& &Checking out files: 100% (13/13), done.king out files:& 15% (2/13)& &Syncing work tree: 100% (329/329), done. &zhoulc@zhoulc-PC:~/work/android4.2$&运行~/bin/repo sync 还可以重新校对下载的源码,若是有问题或遗漏了一些文件会重新下载,并从.repo目录中导出到实际源码中
注:此步可能会出现下载错误,请查看本文最后部分的说明
2、编译环境的安装 首先若是没有修改源,请修改为国内的源,从而提高软件的下载安装的速度 可以参考下面博客的内容添加一些速度快的源,如:台湾源、Ubuntu官方上海源、网易、搜狐、
基本只要安装以上软件即可,官方网站上说的其它一些软件或者设置可以不用理会。 注:此步可能会出现错误,请查看本文最后部分的说明 环境搭建详情:
3、编译源代码 3.1编译初始化: 在终端中执行: source build/envsetup.sh 或: . build/envsetup.sh 执行后输出: source build/envsetup.sh
including device/asus/grouper/vendorsetup.sh including device/asus/tilapia/vendorsetup.sh including device/generic/armv7-a-neon/vendorsetup.sh including device/generic/armv7-a/vendorsetup.sh including device/generic/mips/vendorsetup.sh including device/generic/x86/vendorsetup.sh including device/samsung/maguro/vendorsetup.sh including device/samsung/manta/vendorsetup.sh including device/samsung/toroplus/vendorsetup.sh including device/samsung/toro/vendorsetup.sh including device/ti/panda/vendorsetup.sh including sdk/bash_completion/adb.bash
3.2选择编译目标: $ lunch full-eng 或$ lunch 1执行后会又以下信息提示: ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=4.2 TARGET_PRODUCT=full TARGET_BUILD_VARIANT=eng TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a HOST_ARCH=x86 HOST_OS=linux HOST_OS_EXTRA=Linux-2.6.32-45-generic-x86_64-with-Ubuntu-10.04-lucid HOST_BUILD_TYPE=release BUILD_ID=JOP40C OUT_DIR=out ============================================
3.3编译代码: 在终端中执行:make -j4 -j4:表示用四个线程来编译:
编译根据不同机器的配置不同所需时间也有很大差异,如本人电脑为intel i5-2300四核2.8,2G内存,晚上8点开始编译,将近凌晨2点才编译完成,所以编译源代码也最好是在睡觉时或下班后进行。
出现以下信息表示编译完成:..............Done!Install: out/target/product/generic/system/app/Browser.odexInstall: out/target/product/generic/system/app/Browser.apkbuild/tools/generate-notice-files.py& out/target/product/generic/obj/NOTICE.txt& out/target/product/generic/obj/NOTICE.html "Notices for files contained in the filesystem images in this directory:" out/target/product/generic/obj/NOTICE_FILES/srcCombining NOTICE files into HTMLCombining NOTICE files into textInstalled file list: out/target/product/generic/installed-files.txtTarget system fs image: out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.imgRunning:& mkyaffs2image -f out/target/product/generic/system out/target/product/generic/obj/PACKAGING/systemimage_intermediates/system.imgInstall system fs image: out/target/product/generic/system.imgzhoulc@zhoulc-PC:~/work/android4.2$
编译可能出现的错误,请查看本文最后部分的说明
4、运行模拟器 在终端中执行:emulator
5、相关问题的解决办法 5.1 下载源代码可能会提示的错误
5.1.1 error: Exited sync due to fetch errors...
希望各位不要出现这个错误,出现这个错误就要折腾一会了
首先继续repo sync,若是一直提示这个错误,那么就按照下面的方法来做吧:
关于这个问题其实google是有说明的,为了防止连接数过多,每个ip都需要认证。。。
第一步:从这里&&&获取用户名和密码,前提是你在之前填写了你的真实姓名和邮箱&
第二步:将上面的页面上以machine开头的两行复制到 &~/.netrc文件中
第三步:repo init -u /a/platform/manifest &多了个“/a”
然后就可以repo sync了
特别注意.netrc文件是在用户的根目录下,root用户就是/目录下,如果没有的话就自己建一个,把权限改为 *00
5.1.2若是出现这个错误:Exited sync due to gc errors
表示代码基本下载完,需要从repo里面导出来,但是git的版本太低,不支持1.72以下版本。 添加这个源:deb http://ftp.de.debian.org/debian sid main。 在终端中执行:gedit /etc/apt/source.list 在文件的最后添加deb http://ftp.de.debian.org/debian sid main,并保存退出 回到终端中执行:sudo apt-get update 更新完后,安装高版本的git工具 在终端中执行:sudo apt-get install git-core5.1.3 代码下载过程中,经常提示以下错误:
error: Failed connect to :443;Connection
refused while
accessing /a/platform/frameworks/base/info/refs
fatal: HTTP request failed
error: Cannot fetch platform/tools/motodev
error: Cannot fetch platform/frameworks/base
error: Cannot fetch platform/prebuilts/sdk
error: Exited sync due to fetch errors
解决方法:编辑/etc/hosts文件
$ vim /etc/hosts
增加下面内容,保存(提前保存好):
74.125.31.82
74.125.31.82
203.208.46.172 cache.
59.24.3.173 cache.
5.2安装编译环境的软件可能会出现的问题 下列软件包有未满足的依赖关系: libasound2: 破坏: libasound2-plugins (& 1.0.24-0ubuntu3) 但是 1.0.22-0ubuntu6 正要被安装
libglib2.0-0: 破坏: gnome-control-center (& 1:3) 但是 1:2.30.0-0ubuntu4 正要被安装
ppp: 破坏: network-manager (&= 0.8.0.999-1) 但是 0.8-0ubuntu3 正要被安装E: 破损的软件包
某些源有问题,为高版本 ubuntu的源 ,删除即可,如安装高版本的git所用的源就是ubuntu 10.4之后的源,用在10.04上就可以会有问题,引起此提示。 在终端中执行:gedit /etc/apt/source.list 把文件的最后 deb http://ftp.de.debian.org/debian sid main 删除,并保存退出 回到终端中执行:sudo apt-get update 再次重新安装编译环境的软件
5.3、编译可能会遇到的问题: 5.3.1运行make命令后,提示以下错误:/bin/bash: java: command not found 首先检查是否确实安装了jdk,在终端中输入:java -version ,若是有安装jdk,就会显示jdk的版本信息,提示出错,说明没有安装jdk,那么就安装jdk。 安装jdk后还是提示上面的错误信息,则按执行以下命令建立链接文件来解决问题: sudo ln -s /jdk1.6.0_21/bin/jar ~/bin/jar sudo ln -s /jdk1.6.0_21/bin/java ~/bin/java sudo ln -s /jdk1.6.0_21/bin/javac ~/bin/javac sudo ln -s /jdk1.6.0_21/bin/javah ~/bin/javah sudo ln -s /jdk1.6.0_21/bin/javadoc ~/bin/javadoc
重新编译若还是提示一样的错误,再执行下面的命令: sudo ln -s /jdk1.6.0_21/bin/jar /bin/jar sudo ln -s /jdk1.6.0_21/bin/java /bin/java sudo ln -s /jdk1.6.0_21/bin/javac /bin/javac sudo ln -s /jdk1.6.0_21/bin/javah /bin/javah sudo ln -s /jdk1.6.0_21/bin/javadoc /bin/javadoc 至此java的问题应该可以解决
5.3.2 编译出现以下错误提示:
============================================
Checking build tools versions...
************************************************************
You are attempting to build with the incorrect version
Your version is: java version "1.6.0_24".
The correct version is: Java SE 1.6.
Please follow the machine setup instructions at
/source/download.html
************************************************************
build/core/main.mk:141: *** stop。 停止。
切换从普通用户登,然后修改源码目录的存取权限:chmod 777 src
之后再运行编译命令再次编译
5.3.3 No command 'lunch' found, did you mean:
解决方法:
运行以下命令:
source build/envsetup.sh 之后再次运行编译命令:lunch full-eng或lunch full-user ……..
5.4运行模拟器可能会出现的问题:
No command 'emulator' found, did you mean:
编译成功之后,在终端运行emulator命令,却提示:
No command 'emulator' found, did you mean:
Command 'qemulator' from package 'qemulator' (universe)
emulator: command not found
解决方法:
重新运行以下命令:
source build/envsetup.sh
lunch full-eng 之后再次运行 emulator
阅读(8355)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'Android 4.2源码的下载和编译环境的安装及源码的编译(跟着做能成功)',
blogAbstract:'
Google于发布了Android4.2的源码,下面把本人在ubuntu12.04 的64位系统上下载源码,和编译',
blogTag:'android4.2源码下载',
blogUrl:'blog/static/5',
isPublished:1,
istop:false,
modifyTime:3,
publishTime:5,
permalink:'blog/static/5',
commentCount:1,
mainCommentCount:1,
recommendCount:1,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 mips move指令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信