搜档网
当前位置:搜档网 › 【SoCVista】OpenRisc系列教程

【SoCVista】OpenRisc系列教程

【SoCVista】OpenRisc系列教程
【SoCVista】OpenRisc系列教程

OpenRISC解剖系列课程

【版权说明】本文系作者原创,转载请说明出处和链接,否则将根据《中华人民共和国著作权法》依法追究法律责任。欢迎访问:https://www.sodocs.net/doc/e111897519.html,/

作者:范国平

前言

很多朋友都知道,我们同好会的第一个目标是要建立一个最小SoC系统,这个系统只有CPU、总线、存储器和跟踪输出用的UART。这样的一个最小系统,我们已经完成移植了,大家可以访问下载相关的代码和文档。下载地址是: https://www.sodocs.net/doc/e111897519.html,/viewthread.php?tid=94&extra=page%3D1

完成系统移植后,很多朋友都来信说希望进一步了解OpenRISC的工作机制。为此,我们开设了这个解剖教室,希望有兴趣的朋友们一起来参加学习和讨论。我们争取每两天上一次课,讲义贴出后,请大家通过回帖的形式提问、讨论。我们的讲义摘自网络和书籍,抛砖引玉,更重要的是大家通过回帖提问和讨论来释疑解惑。要说明的一点是,我们都不是OpenRISC的专家,希望通过我们的自主学习和集合讨论,在课程结束后所有人都能真正掌握OpenRISC的结构和用法。

001 - 做好学习前准备

【版权说明】本文系作者原创,转载请说明出处和链接,否则将根据《中华人民共和国著作权法》依法追究法律责任。欢迎访问:https://www.sodocs.net/doc/e111897519.html,/

作者:范国平

根据调查发现,x86系列和ARM系列已经成为了桌面系统和嵌入式系统的最常用CPU。但是它们价格昂贵,技术保密,不适合作为我们解剖的对象。我们的目光转移到开源的CPU系列,这样的CPU也有不少,比如OpenRISC和LEON等。由于笔者个人经历的关系,这里我们选择OpenRISC的 OR1200作为我们研究的对象。

OR1200是OpenCores组织提供的基于GPL协议的开放源代码处理器,有人认为其性能介于ARM7和ARM9之间,适合一般的嵌入式系统使用。最重要的一点是OpenCores组织提供了大量的开放源代码IP核供研究人员使用,因此对于一般的开发单位具有很大的吸引力。

OR1200在使用0.18um及6层金属工艺时,主频可以运行在300MHz,可以提供300Dhrystone、2.1MIPS和300次的 32x32 DSP乘加操作。默认配置下进行流片时约有100万个晶体管,以NAND2为基本单元计算时,相当于25万门的规模。利用Virtex2进行实现时,大约占用7000+ Slices,14000+ LUT4单元。如果去掉Cache和MMU则可以进一步节省大约1/2的资源。因此这款RISC也可以在大部分FPGA器件上轻松实现。

OR1200是32位标量RISC处理器,具有哈佛结构、5级整数流水线、支持MMU和Cache,带有基本的DSP功能。外部数据和地址总线采用Wishbone片上总线标准。

---- 课外作业 ----

1. 什么是Dhrystone?试举例说明某类CPU的这个指标大概是多少。

2. 什么是MIPS?试举例说明某类CPU的这个指标大概是多少。

3. 如果实现Openrisc需要14000 LUT4,那么Xilinx的哪些产品可用,Altera的哪些产品可用?

4. 什么是哈佛结构?

5. 整数流水线是什么意思?

---- 参考文献 ----

1. https://www.sodocs.net/doc/e111897519.html,

2. Wikipedia

3. 《CPU源代码分析与芯片设计及linux移植》

002 - OR1200不得不说的那些事

【版权说明】本文系作者原创,转载请说明出处和链接,否则将根据《中华人民共和国著作权法》依法追究法律责任。欢迎访问:https://www.sodocs.net/doc/e111897519.html,/

作者:范国平

第一章的习题大家做得不错,足见热情之高。可能有些朋友已经迫不及待想跳进源代码的海洋去畅游一番了吧。不过且慢,汪洋大海进去容易出来难,别忘了带上地图、指南针和救生用具。同样的,在我们一头钻进浩瀚的源代码之前,让我们先来了解一下他的概貌,这样我们才不至于迷路,才不至于在一个大浪打过来的时候就选择放弃。我们要知道这个海洋长什么样,哪里有避风港,哪里有暗礁,如何行船才能一路顺风。为了简化理解,如果不做特别说明,我们讨论的只是OpenRISC的32位实现,不考虑浮点,也不考虑向量和DSP功能,我们就是聚焦一个普通CPU的简单基本功能。

-- 地址与寻址 –

先来看看OR1200的地址空间和他的寻址方法。32位OR1200采用的是32位地址,所以他的寻址能力就是2^32=4G字节的空间。虽然这个空间十分庞大,但是OR1200只提供了两种简单的寻址模式来对其进行访问。第一种是寄存器间接寻址方式,为什么叫寄存器间接寻址呢?因为这种方式的地址不是直接产生的,首先要从指令指定的寄存器中读出一个基本地址,然后这个地址和指令中的16位偏移地址相加才最终得到一个有效地址。大家可以想象,这种指令的格式简单表示的话就是【指令类型,寄存器ID,16位立即数】这样一个三元组,当然这是我们为了方便理解而简化的一个指令模型,实际指令会较之复杂一些,不过知道这个三元组已经足够了。另外的一种寻址方式叫PC相对寻址。PC是Program Counter的简称,指的是当前正在执行的指令的地址。所谓相对寻址,就是在这个PC的基础上增加一个相对偏移,然后得到有效地址。这个相对偏移从哪里来呢?显然是正在执行的指令提供的,这个偏移数是一个有符号的26位立即数,所谓有符号意味着可以取正数也可以取负数,所以这个最终的有效地址可以比当前 PC小也可以比当前PC大,从而实现前后双向跳转。

那么我们什么时候会需要寻址呢?主要有两类情况。第一类:读写内存中的数据;第二类读取内存中的指令。读写内存数据和PC没有关系,所以显然我们只能采用寄存器间接寻址。读取内存中指令显然和当前的指令地址即PC密切相关,我们只要知道两者偏移即可实现跳转,因此此类寻址就采用PC相对寻址,我们熟知的 jump类指令就是这么做的。

---- 寄存器 ----

OR1200的寄存器可以简单分为两大类,一类称作特殊寄存器SPR,另一类叫做通用寄存器GPR。特殊寄存器和CPU硬件相关,用于配置CPU的各个功能并监控其状态。相对的,通用寄存器和CPU硬件管理无关,只是用于当前环境下的运算目的,比如操作数的存储等。特殊寄存器在OR1200中只有一套,但是通用寄存器可以有多套,每一套通用寄存器和特定的上下文环境相关。当异常发生时,一般会发生上下文环境的切换,相应的,我们所使用的通用寄存器也切换到了另一套上面。特殊寄存器虽然只有一套,但是他可以分成32组,每一组对应一种硬件功能的管理,比如第2组负责管理指令MMU,第8组则负责电源管理。每一组特殊寄存器内部又有多个寄存器,具体内容大家可以参考手册,这里就不多做介绍了。

---- 异常处理 ----

当异常发生时,当前的环境被保存,同时CPU跳到指定入口开始异常处理。当异常处理结束时,先前保存的环境被恢复,同时CPU又返回到刚才异常发生前所处的指令地址处。如果要举个不恰当的例子,就好比一个有精神疾患的病人突然接收到一个异常信号,他的大脑瞬间保存当前的环境,然后对异常进行处理,比如大喊大叫、又苦又笑,但是完成这一系列动作后,他又突然恢复先前的记忆,开始正常的行为。关于异常处理的具体细节我们将在后面的课程中用源代码来详细说明。

---- 课外作业 ----

1. 阅读openrisc_arch档中的指令部分并回答哪些指令有寻址操作,分别采用了哪一种寻址模式。

2. 阅读寄存器部分并回答特殊寄存器分成哪几组,通用寄存器中有哪几个是有固定用途的。

3. 阅读异常处理部分并回答在默认配置下系统启动时从哪个地址开始执行,中断发生时指令跳到哪个地址开始执行。

参考文献:

openrisc_arch文档https://www.sodocs.net/doc/e111897519.html,/attachment.php?aid=13下载

003 - 惊鸿一瞥:OR1200经典结构

【版权说明】本文系作者原创,转载请说明出处和链接,否则将根据《中华人民共和国著作权法》依法追究法律责任。欢迎访问:https://www.sodocs.net/doc/e111897519.html,/

作者:范国平

前面两节课我们描述了OR1200作为一颗嵌入式CPU所被人关注的一般性能和主要特点。从这节课开始我们将带领大家一步步深入其内部构造,直到将其源代码完全解析。今天的任务是OR1200之“惊鸿一瞥”,惊鸿的现代含义比较复杂,不过在古诗里面多用于形容美丽女性的轻盈之态,比如曹植在他的《洛神赋》里就用“翩若惊鸿,婉若游龙”来描绘洛神的美态。出于对OR1200的喜爱,加上其本身结构的简约轻盈,我在这里就把它也比喻成了翩若惊鸿。所谓惊鸿一瞥自然就是匆匆的看美女一眼的意思了,我们的课程为了避免大家产生学习疲劳都尽量简短,因此今天也只会对OR1200简单“一瞥”,让大家在心里留下无限惆怅,这样才能继续后面的课程。

---- OR1200结构 ----

好了,言归正传。我们来看OR1200的一个通用框架。

____________________________________________

| __________________ |

| | | |

|Power-Manager --| | -- IMMU |

| | | |

| Debug --| | -- I-Cache |

| | CPU | |

| Tick-Timer --| | -- D-Cache |

| | | |

| PIC --| | -- DMMU |

| |_________________| |

|___________________________________________|

你会惊讶的发现原来OR1200并不是CPU那么简单,CPU其实只是其中的一个部分而已。当然他是最核心的部分,就相当于一个Linux操作系统里面的Kernel,缺了它就跑不起来了。但是如果只有CPU,那这个功能就无趣得很了,就好比linux没有图形界面,没有上网功能,哪还有什么意思。所以设计师又加上了一堆外围的模块,使得OR1200的功能更加完善。我们逐一来介绍这些模块。

---- CPU ----

CPU是OR1200的核心,正是在这里发生了著名的5级流水事件。这5级流水是:指令预取-IF、指令译码-ID、运算执行-EX、内存存取-MA、数据回写-WB。流水操作的每一级都对应着一个或者多个内部模块,此外运算所需的通用寄存器和异常处理模块也在这里实现。

---- Cache ----

数据缓存D-Cache和指令缓存I-Cache都是可选的,如果希望提高CPU的效率一般会选择加载这两个模块。由于功能类似,我们以数据缓存为例进行介绍。在流水的第4级中将会发生内存存取的操作,比如要从内存读一个数据进来,在没有Cache的情况下,CPU需要通过总线操作将数据从内存读入,这个操作耗费较长周期,因此极大影响CPU的实际性能。为了解决这个问题,工程师们引入了缓存机制。比如在上面的第4级流水操作中,如果要读取内存,则CPU 会先到缓存中寻找是否有此数据,如果数据存在则立刻读取,省去了冗长的总线操作,极大的提高了CPU的工作效率。那么如果缓存中没有要找的数据呢?那就没有办法了,当然只能通过总线来读取内存了,不过即便如此,我们的缓存机制也为将来做了缜密的考虑。首先,缓存会执行突发操作,一次读入16个字节,这样不但当前需要的数据读入了,而且将来可能需要的数据也被读入,提高了下一次数据命中的机会;另一个机制是当数据读回来的时候,不但要缓存到Cache中,而且马上转发到CPU中的Load/Store单元,以减小时间损失。所以,对于缓存如果不能很好理解,就想像成在CPU本地创建了一个内存的小镜像,大多数情况下,我们可以直接读这个镜像,但是有时候我们的数据超出了镜像的范围,因此需要等待镜像更新,然后我们才能继续使用这个更新后的镜像。

---- MMU ----

内存管理单元有两个作用,一是禁止对受保护空间的访问,二是将应用程序的虚拟地址翻译成物理地址。对于嵌入式系统而言,这两个功能都不是很必要,而且 OR1200中MMU的实现对软件的依赖程度很高,因此我们在后面讲到这部分的时候再讨论。可能有些朋友很着急,怎么又不往下说了呢。其实我们的课程重在理解和源代码分析。我的目标是用最浅显的语言给大家勾勒出一个CPU 的大概模样,如果讲太深了,可能就没人看了,而且网上的资料汗牛充栋,也无需我去赘述。所以,如果各位一定要知道MMU是个什么样的东西,那我可以告诉大家一个简单的理解方法:MMU就是一个地址处理器,它先验证这个地址是否可以访问,如果不能访问就报告异常,如果可以访问就给你翻译成实际的物理地址,然后这个地址才被送去访问Cache和内存。

---- PIC ----

PIC是可编程中断控制器的简称,这个玩意实在太古老了,大概从有CPU的那天开始,这个东西就也同时存在了吧。为什么这么说呢?因为CPU其实是个书呆子,两耳不闻窗外事,一心只读圣贤书。这个圣贤书就是内存中的指令。但是我们的实际系统是需要经常交互的,比如我敲键盘了,我点鼠标了,这种突然的操作你 CPU是无法事先估计到何时会发生的,因此引入了中断机制。你CPU读你的圣贤书好了,但是一旦发生了重要的事情,我们就会把你打断,你必须先给我处理好了,你才能继续读书。这种处理方法十分自然,因此几十年来中断控制器始终都是CPU系统中不可或缺的重要部分。OR1200支持32个中断源,也就是有 32种情况下你都可以打断这个书呆子让他给你干活。当然通过配置,有些中断源可以被屏蔽,也就是说即使这些中断发生了,CPU也可以装聋作哑不来理你。

---- TICK定时器 ----

操作系统有时候需要精确的测量时间并调度系统任务,那么谁来提供这个时间呢?答案就是这个tick定时器。由于我们的CPU有自己的Clock时钟,比如是40MHz的,那么我们这个tick计时器每次计数到40M的时候就意味着1秒过去

了,因此操作系统可以通过观察这个定时器来掌握时间。

---- 电源管理 ----

很多嵌入式系统对节电性能都有很高要求,比如我们随身携带的电子设备,必须尽量省电才行。为了满足这个要求,CPU中加入了电源管理模块。所以这个模块其实不是必须的,当然本着节能环保的目的,我们还是要大概了解一下它的原理的。电源管理模块提供了发呆、瞌睡、睡眠三种模式,这三个名字是我给取得,其实和我们人类行为很接近。你看我们忙的时候神采奕奕,一旦没事干了,先是坐着发呆,然后就开始犯困瞌睡,最后实在顶不住了,就干脆躺下睡觉。所以我们让CPU 也享受这个待遇。那么是怎么做的呢?发呆的时候,我们降低它的时钟频率,学过半导体课程的朋友都知道,CPU的功耗和频率是成正比的,因此降低频率就直接降低了功耗。瞌睡的时候,我们就关掉CPU的一部分功能,让他半睡半醒,只有中断来了才开始工作。睡着的时候我们就把整个CPU的功能关掉,只保留对中断的反应。大概就是这样了,以后看代码再讲吧。

---- dubug ----

做软件的朋友都会用到在线调试的功能,程序跑着跑着,出现了问题,我就把它给挂起来,然后慢慢查看问题出在哪里。那么这个程序凭什么就能挂起来,这就需要debug 模块的支持了。明白这一点就可以了,至于怎么实现的,先吊一下胃口。

---- 其他 ----

还有一些啰里吧嗦的内容,不打算讲了,讲的太多就没有重点了。不用关注的就直接跳过。干净利索。

---- 课外作业 ----

1. 什么叫做流水线?为什么要引入流水线?N级流水线比没有用流水线的顺序操作要快多少倍?

2. PC用CPU的Cache一般容量多大?嵌入式CPU的Cache有多大?试举例。后续章节,更多精彩内容,请访问:https://www.sodocs.net/doc/e111897519.html,/,期待您的建议和意见。

论坛正在上升期,各方面人手明显不足,欢迎有时间有热情的朋友加入我们.

基本要求:

做事认真,喜欢思考问题(技术问题或者论坛发展问题)

特别欢迎

1)有SOC设计经验的朋友,这样我们可以按计划开辟总线和外设或者其他技术板块,具体方式大家再商量。

2)有网站推广经验的朋友,能帮助我们一起思考论坛的定位和发展线路以及各个细节。

特别说明:大家都是业余时间做的,暂时没有任何报酬,所以我们期待的是志同道合的朋友^_^。

联系方式:aqam@https://www.sodocs.net/doc/e111897519.html,或者dancia04@https://www.sodocs.net/doc/e111897519.html,

Matlab GUI编程教程

Matlab GUI编程教程 介绍 什么是GUI呢 ? GUI是Graphical User Interface 图形用户界面的意思,象很多高级编程语言一样,Matlab也有图形用户界面开发环境,随着计算机技术的飞速发展,人与计算机的通信方式也发生的很大的变化,从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式,而现在绝大多数的应用程序都是在图形化用户界面下运行的。 记得读书的时候,大学开学不久,学校很多同学就开始报考全国计算机等级考试了,当然我也是其中的一分子,其中C语言是大多数人选择的科目,当时在学C 语言的时候,经常也会遇到人机交互的例子,譬如一个计算两个数相加的程序,运行程序后便切换到了Dos模式,然后在此模式下输入两个数,再回车,才能返回运算结果。当时就觉得很不方便,也不友好,后来才得知C语言是面向过程的语言,是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。 Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:File/New/GUI 如下图所示; 选择Blank GUI(Default)

2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。 3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB

诺基亚手机系统历史【VIP专享】

诺基亚系统 塞班 Symbian系统是塞班公司为手机而设计的操作系统。2008年12月2日,塞班公司被诺 基亚收购。2011年6月22日,诺基亚将塞班承包给埃森哲。2011年12月21日,诺基亚 官方宣布放弃塞班(Symbian)品牌。由于对新兴技术支持欠佳,塞班的市场份额日益萎缩。截止至2012年2月,塞班系统的全球市场占有量仅为16.9%,中国市场占有率则降至18.7%,均被安卓超过。诺基亚宣布,2014年将彻底终止对塞班系统的所有支持。 塞班操作系统的前身是英国Psion公司的EPOC操作系统,其理念是设计一个简单实用 的手机操作系统。虽然塞班以EPOC为基础,而它的架构却包含了多任务、多运行绪和存 储器保护等功能。塞班中的节省存储器和清除堆栈能有效地降低资源消耗,该技术也运用 于手机内存和存储卡。塞班的编程使用事件驱动,当应用程序没有处理事件时,CPU会被 关闭,因此使得塞班系统非常节能。这些技术让塞班的C++开发变得非常复杂。然而,许 多塞班设备也支持Python、QT以及J2ME来进行开发。 历史 1980年 David Potter成立Psion公司。 1998年 在爱立信、诺基亚、摩托罗拉和Psion的共同合作下成立塞班公司。 1999年 塞班公司推出Symbian OS v5.x操作系统。 2000年 全球第一款Symbian系统手机:爱立信R380正式出售。 2001年 塞班公司推出Symbian OS v6.x。 2003年 塞班公司推出Symbian OS v7.x,同时创始人之一的摩托罗拉退出塞班公司。 2004年 塞班公司推出Symbian OS v8.x。 2005年 塞班公司推出Symbian OS v9.x。 2006年 全球Symbian手机总量达到一亿部。 2008年 诺基亚收购塞班公司,塞班成为诺基亚独占系统。 2009年 LG、索尼爱立信等各大厂商纷纷宣布退出塞班平台,转而投入谷歌Android领域。 2010年 三星电子宣布退出塞班转向Android,塞班仅剩诺基亚一家支持。

MCreator系列教程-第七章 食物和燃料

MCreator系列教程——第七章食物和燃料 在上一章中,我们给MOD添加了工具和防具,接下来我们要继续给MOD添加一些有趣的东西——食物和燃料 这次我们要添加的有:压缩饼干(Compressed biscuits)(我承认这是苏打饼干,本 来是想做压缩饼干的!!!)和超科学煤(Super Science coal)。 我们来先做压缩饼干,首先点击New mod,选择Food[食物],然后名字输入Compressed biscuits。 点击OK进入下一步。

将材质君放进去,然后下一步。 Name 名称作用 Name in GUI 在GUI上显示的名字在GUI上显示的名字 Stack size 堆叠大小所谓的一组的最大数量Nutritional value 饱食度吃一个增加的鸡腿数量[1=半 个鸡腿] Is food of dogs?这个食物是给狗吃的吗?把这个食物给狗吃 Has effect of potion?是否拥有药水效果吃了会给予药水效果

Potion type 药水效果类型吃了给予的药水效果,需勾选 上面选项 Food animation 吃的时候的效果Eat=吃,drink=喝,声音不同。说实话看到这个食物是给狗吃的吗我突然想做一个狗饼干。 这就是我们的狗饼干……阿不!压缩饼干的设置啦。然后点击Next进入到下一步。 事件继续无视,如果要看关于事件请看扩展二,点击Next下一步。 然后设置我们的压缩饼干的合成公式。 直接弄一个无序合成也可以。

然后就完成了我们的压缩饼干的制作啦。 接下来我们开始制作我们的超科学煤。 但是如果要制作燃料,需要先制作一个物品(作为燃料),这个同学们都学过了是吧。 合成公式如上,一个超科学球+一个煤。 同理,New mob,名字,选择Fuel[燃料]

塞班固件diy

人家DIY的固件总是会某些方面不如自己意的,所以还是自己动手的好——更体现的DIY的意义。拿来的,不如自己做的! 本帖主要目的是抛砖引玉,希望高手不要藏着掖着了,多多交流发表出来吧…… 在论坛上用关键词“DIY固件”搜索看看(包括97区),相关内容有很多,但有多少是教人修改的?傻瓜化DIY固件容易,个性化?——找资料找得好痛苦的…… DIY的主要内容大都有包,大家可以直接下载覆盖即可。想个性化多点东西就要认真看完整个帖了。 求学:主屏主题元素的修改与整合方法。 请高手开帖开讲,为我们解惑。

固件DIY帖传送门: https://www.sodocs.net/doc/e111897519.html,/thread-7100007-1-245-1.html kaqpa 的“手把手教你学会自己DIY自己的完美固件!定制自己的特效!”帖,里面的DIY包很全了。 https://www.sodocs.net/doc/e111897519.html,/thread-8071750-1-271-1.html 5RIDAY 发布的“Kynus_DIY固件修改笔记_大整理”,DIY 包在此大都可以下载到。 https://www.sodocs.net/doc/e111897519.html,/thread-6300574-1-245-1.html 卐踏雪無痕卐的“【卐踏雪無痕卐】(原创教程)我的固件我做主,小踏手把手教你DIY你自己的5800固件!”有修改教程,也有DIY包。在58区这个是较早就有的技术贴,我最开始就是在这里学习到一部分知识的。当然还有其他前辈的相关技术贴也留下了我的足迹,就不一一列举致谢了。 https://www.sodocs.net/doc/e111897519.html,/thread-6844243-1-341-1.html 穿越、寂寞的菜单布局及分类,较复杂。 上面几个链接与下面内容相结合,大部分修改都不是问题了。

MCreator系列教程-第四章 第一个方块

o MCreator系列教程——第四章第一个方块 在上一章,我们制作了超科学锭,可是如何获取和更好的储存这个锭呢?我们需要一个矿物,本期我们就来制作超科学方块(Super Science block)和超科学矿(Super Science ore)。 首先我们需要导入材质: 然后单击New mod,选择Block[方块],然后输入名称Super Science block 注意:这个名称不能有空格,需要把名称的空格删掉 单击OK开始制作

我们看到有6个框,从红框的左边到右边分别是:左,前,右,后。上面是上,下面是下。自行发挥想象力吧。 上 左前右后 下 Name 名称作用/功能 Reader type 渲染类型不明觉厉 Don’t render as normal block 不渲染为正常块不明觉厉 Has alpha?不明不明觉厉 mX(mix X)最小X坐标调整方块的大小 mY(mix Y)最小Y坐标 mZ(mix Z)最小Z坐标 MX(max X)最大X坐标 MY(max Y)最大Y坐标 MZ(max Z)最大Z坐标 然后将材质添加进去,其他的不要动就好了,进入下一步

现在我们看到,界面被分为了4个区域。 Name 名称作用/功能 Basic properties 基本设置 Name in GUI 在GUI上显示的名称在GUI上显示的名称Hardness 硬度硬度是关于玩家挖掘速度的 重要系数[Wiki上有,泥土 =0.75,粘土块=0.9,石头 =2.25,黑曜石=50]

Resistance 抗暴度抗暴度是关于爆炸对方块影 响的重要系数[Wiki上有,] Has gravity?是否受物理效果受物理效果,沙子掉落等Creative inventory tab 创造标签创造打开背包时的分类标签Advanced properties 高级设置 Isn’t collidable?是否可以穿过?玩家可以穿过这一方块并且 可以挖掘,例如藤蔓。 Can provide power? 是否发出红石信号?发出红石信号 Light opacity 透光度透光度 Material 材质打破时发出的声音[不对题 吧] Droping properties 掉落设置 Tool able to destory it 采集需要的工具采集需要的工具 Doesn’t drop itself?不掉落它自己?让采集这个方块时掉落其他 物品或方块 Block that drops 方块掉落的东西需要其上功能开启时才能设 置方块掉落的东西[而不是它 自己] Drop amount 掉落的数量掉落的数量 Light,sound and hardness 亮度,声音和硬度 Sound on step 踩在上面发出的声音踩在上面发出的声音[可自定 义] Luminance 亮度方块发出的光[火把为15,红 石火把为7] Is unbreakable?牢不可破?让方块像基岩那样硬!Harvest level to break 打破方块的工具等级设置方块需要那个等级的工 具打破,0=手/木,1=石/金, 2=铁,3=钻石。第一个框是 最小级别,第二个框是最大级 别。

一个简单的Matlab_GUI编程实例

Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下

图所示; 布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。 1. 2. 3.function edit1_Callback(hObject, eventdata, handles) 4.% hObject handle to edit1 (see GCBO) 5.% eventdata reserved - to be defined in a future version of MATLAB

6.% handles structure with handles and user data (see GUIDATA) 7.% Hints: get(hObject,'String') returns contents of edit1 as text 8.% str2double(get(hObject,'String')) returns contents of edit1 as a double 复制代码 然后在上面这段代码的下面插入如下代码: 1. 2.%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字,则现实空白内容input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0if (isempty(input)) set(hObject,'String','0')endguidata(hObject, handles); 复制代码 这段代码使得输入被严格限制,我们不能试图输入一个非数字。 4.为edit2_Callback添加同样一段代码 5 现在我们为计算按钮添加代码来实现把数据1和数据2相加的目的。 用3中同样的方法在m文件中找到pushbutton1_Callback代码段 如下; 1.function pushbutton1_Callback(hObject, eventdata, handles) 2.% hObject handle to pushbutton1 (see GCBO) 3.% eventdata reserved - to be defined in a future version of MATLAB 4.% handles structure with handles and user data (see GUIDATA) 复制代码

Mkvmerge_GUI教程

Nov 6 使用mkvmerge gui 2.3 提取,合并,剔除及剪切延时操作MKV文件的图文教程_BentleyWu_百度空间 Post at 2010-11-6 in 网志精选 | 0 comments | 引用:0 MKV文件由视频,音轨,字幕三大独立模块组成,MKV只是一个封装容器,把3大模块封装在了一起。编辑MKV文件mkvmerge软件是必须工具。 需要软件mkvmerge gui 2.3 下载:https://www.sodocs.net/doc/e111897519.html,/auto/stable/mkvtoolnix-unicode-2.3.0.zip 解压后点击mkvmerge.exe 即可 1.提取,合并,剔除等封装操作。

把mkv文件往mkvmerge软件里面拖,可见上图的mkv文件由7大独立模块合成的 第1轨道 V_MPEG4 ... 这是1条视频轨道 第23轨道 A_AAC ... 这是2条音频轨道 第4567轨道 S_TEXT ... 这是4条字幕轨道 1.1 剔除 如果你不想要 007皇家赌场无删节.Casino.Royale.2006.BDRip.x264.2Audio.AAC.miniSD-TLF.mkv这个文件的国语音轨,选中第3轨道,track name(轨道名)为chi,说明是国语音轨,只要把前面的√去掉,换一个文件名保存即可。 1.2 提取 如果你想提取国语音轨,那么除了第3轨道打上√外,其他√都去掉,保存即可。 1.3 合并 对于外挂的音轨,也是一样的,先打开原mkv文件,再把外挂音轨往mkvmerge软件里面拖,然后点up(向上)至A_AAC ... 轨道,然后保存 1.4总的来说,也就是,你想要的就打上√,不要的就去掉√,然后保存。 1.5 分段文件的合并 如果有两个mkv,一个是上集,一个是下集,要合并这两个就另当别论了。先打开上集,然后点如图1的“append”(追加),出现如图2即可,然后保存。

Dynamipsgui入门教程

Dynamipsgui入门教程 声明:本文主要是为刚刚认识dynamips这个模拟器的朋友.我写这个东西也是因为这个模拟器比较有实用价值.希望大家用好这个模拟器.完成学习.有什么问题欢迎大家在本论坛发帖. 不说废话了直接进入主题吧,看门见图: 首先我按图中序号对每个区域进行介绍: ①:此区域是选择交换机和路由器的个数(有点废话) ②:这个地方是选择设备类型,IOS路径,idle-p值NPE类型,虚拟(表示虚拟设备的RAM所占的内存大小,因为dynamips在模拟时候需要将主机的物理内存模拟成模拟设备的RAM) ③:此区域是配置分布式的dynamips的设置区域(请看分布式专题),对谛率掷此?这个区域暂时还用不到. ④:这里可以选择一些不需要IOS的模拟设备。如:FrameRelay交换机ATM交换机,以太网交换机(现在已经有支持交换的模块NM-16ESW).由模拟器自己提这些功能. ⑤:设备类型,选择你所需要模拟的设备,以上的设备为dynamips目前支持的类型,其他的都不支持. ⑥:这里可以设置连接到主机通信(下文详细介绍) ⑦:可以直接读取真实设备里的NVRAM里的配置文件(.ini格式) ⑧:输出目录(自己先建立).

(根据上面这个拓扑来介绍,希望大家在弄懂基本东西以后,可以在举一反三吧.东西是活的,活学活用) 接下来,我从起始配置到最后开始实验在做逐步讲解. 1.首先选择根据上面这个拓扑图(建立在做实验的时候在草稿纸上画好拓扑图,注释好个端口设备的IP).我们来用dynamipsGUI来配置脚本文件 (注意:现在的dynamipsGUI和dynamipsee都是可以视化的写dynamips的脚本程序.不是模拟器.有的初学者.总以为这两个程序是模拟器.真正的模拟器是dynamips 点击进入作者BLGO).未安装的朋友请点下载.下载好安装.点击桌面DynamipsGUI图标打开. 2.好了,打开以后,根据上面的图我们假设R1,R2,R3都使用3640,而R4使用7200.那么我们选择路由器个数为4,并选择桥接到PC.在⑤设备类型里钩选3640 和7200.如图:

诺基亚 塞班系统 JAF刷机教程

▓?12-10:刷机教程(看完傻瓜也会刷)有图..附上刷机后装机软件..?▓ 许久不看,刚发现自己辛苦整理的帖子怎么全乱了....算了,没多少人欣赏,不排版了,如 果人多了会考虑重新排版的,请原谅了 首先声明部分转自诺基亚手机论坛,塞班论坛和小酒馆前辈的经验与作品...本人不会排版,但会标点符号,请大家将就着看了 这里需要声明:我不是借此炫耀自己多威武,只是分享一下经验,智能机就是用来研究的。(由个人操作失误所引起的后果本人概不负责)所以,借小酒馆在11.16推出V21.6.005 版DIY固件的机会,决定以此版本在WINXP下的刷法为例,写这样一个教程,希望可以帮助一些小白。 刷固件或者说刷机有什么好处: 第一是:可以修改诺基亚自带的软件和各种设置,使其更符合自己的使用习惯。 第二是:除去固化软件,流氓软件和各类隐秘软件!(相信有些玩家对流氓软件深有体会...) 第三是:享受“免签补丁”和“权限补丁”带来的方便。(也就是俗称的“手机破解”,港台地区有的也叫“手机自由化”)

第四是:可以去除已经忘记了的手机锁码。刷机需要什么:一,固件文件;二,JAF刷机软件;三,正确的驱动;四,手机做些简单准备;五,具体操作步骤和一些注意事项,我们就可以实现把固件刷到手机里这个“刷固件”的全过程了。 下面做些刷机前准备:诺基亚5230手机的驱动对于很多电脑来讲很简单,只要下载官方的OVI套件并安装即可。需要说明的是,OVI套件安装完成之后就立刻退出,我们只要它安装上驱动文件即可,不使用套件中的任何功能。 如果该链接被屏蔽,请自己下载,很简单不做介绍了 再次强调:OVI套件安装完成直接点左上角的退出。 退出套件之后,手机开机,用USB线将手机和电脑相连(手机电量要充足),然后点击手机屏幕选择“PC套件”这个时候手机会自动安装驱动。 把手机放在那里让它自己安装就可以了。 与此同时,我们要去查看电脑的“设备管理器”看看驱动安装得怎么样了。 “设备管理器”的打开方法是在桌面“我的电脑”上点击右键,然后点“属性”,点完“属性”之后, 点“硬件”选项卡,再点“设备管理器”就可以了,如下图

【杨鹏881】RK3066RK291820130101固件DIY教程V1.1版要点

[杨鹏881]RK2918固件DIY教程V1.1版-20130101の本教程来自QQ:1007501083,感谢百度ID大神:【杨鹏881】の编辑于2013年1月1日,望探花们不辜负本人的新年礼物. のDIY非常简单,XP系统更易用,WIN7稍微复杂 の不多讲了,加入QQ群:192786000亦可与我联系,下版本教程将于近期发布,请关注↑面的QQ群. 1.DIY第一步设置一个NTFS分区, 先查看硬盘是否是NTFS格式:在磁盘图标(右击)-属性-文件系统

*** 如果不是NTFS 设置方法见(注意:换格式后盘里的东西全部都会消失的哦): 准备好NTFS分区后快点下载一个DIY工具吧----- RK2918(官方版,不可以设置ROOT): https://www.sodocs.net/doc/e111897519.html,/share/link?shareid=187705&uk=1093590690 RK2918(御酒探花版,可以设置ROOT,稳定性尚欠佳): https://www.sodocs.net/doc/e111897519.html,/share/link?shareid=187706&uk=1093590690 第一讲:对应官方版解包工具: 下载好后解压发送至NTFS磁盘,将固件也放在一起

打开:FWFactoryTool.exe-导出固件-密码是:rkdroid-耐心等待几分钟 此时文件夹里会自动生成一个Temp,里面就是系统文件了 对应这官方工具的我们可以详细看这些说明(可能个别电脑会遇到未知BUG): 第二讲:御酒探花版DIY工具: 下载好后解压发送至NTFS磁盘,将固件也放在同一个文件夹

把固件改名为:update.img, 注意: 1、请将名为update.img固件放在本工具包目录; 2、本工具包需放在NTFS分区里; 3、以前遗留的同名文件将被覆盖 打开工具:会看到1.解包固件 2.打包固件 3.取得权限 4.精简系统 5.退出工具 按1键,然后按回车,工具会自动解包固件,解包后自动生成Temp文件夹(里面就是系统) 好了两个工具的解包程序都讲了,现在要讲的两个工具都通用大家请保证NTFS盘有5G左右的磁盘空间哦O(∩_∩)O~

GUI新手之教你读懂GUI的M文件——非常经典

[教程] GUI新手之教你读懂GUI的M文件——非常经典 GUIDE生成的GUI的M文件控制了你编制的GUI界面的所有属性和行为,或者说外观和对用户操作的响应。比如说按下一个按钮或者选择了一个菜单项之类。M文件包括了运行你整个界面程序所需要的全部代码,包括所有GUI组件的CALLBACKS函数。其实这些callbacks 函数算是M文件里的子程序,callback里面就填写你所期望程序做的动作,比如画一个图或者算一个算式。 ------------------------------------------------------- 插入,关于什么是子程序懂的人跳过^_^ function [avg, med] = newstats(u) % Primary function % NEWSTATS Find mean and median with internal functions. n = length(u); avg = mean(u, n); med = median(u, n); function a = mean(v, n) % Subfunction % Calculate average. a = sum(v)/n; function m = median(v, n) % Subfunction % Calculate median. w = sort(v); if rem(n, 2) == 1 m = w((n+1) / 2); else m = (w(n/2) + w(n/2+1)) / 2; end 以上就是一个大的程序function nestats,它下面另外包含了两个小的function mean和median,这样在大程序的里面就可以以如上的方式调用它们了。子程序的好处在于如果你总是要重复用到一组计算方式的时候,那你就把这组重复计算方式类似以上的方法编写成一个子程序,避免大量重复代码。在M文件里面,会看到最外层,也就是最上面那一一行function varargout = setfire(varargin) (setfire是我m文件存的名字)就是那个大程序框,它下面有很多小function 比如什么什么creatFcn或者什么callback之类。看上去那个复杂,其实就跟上面这个一样的道理。只不过是M文件的类似avg = mean(u, n);med = median(u, n);这两句话系统隐藏(就当它是隐藏好了)起来了,它会在你点击鼠标(或者响应操作)时候自动去调用执行一次callback函数。所以你只用管把代码写入响应的函数名下就行了。至于系统为什么会自动调用,我们不用管,我们只用知道,我点击鼠标,我拖动滑竿时,系统会执行哪里的代码。就够了。 ----------------------------------------------------插入结束----------------------------------------------- 一、M文件的数据管理模式----------------------------------------------------------------- Sharing Data with the Handles Structure 用handles这个东西共享数据 在你运行你的GUI的时候,M文件会自动生成一个叫做handles的东西(准确的说它属于handles 类型的结构体,且取的名字也叫做handles),不用管那么复杂,只用知道你可以从它这里找到GUI的所有数据,比如说控件的信息,菜单信息,axes 信息。想象handles 就是一个缸了,它里面装载了所有的信息,而且这个缸在各个控件的callback之间传来传去,

matlab中gui教程

11 图形用户界面(GUI )制作 用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。 图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。 假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。 MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。 即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。读者只要输入所提供的程序,就可引出相应的界面。 本章第2节叙述图形用户界面的设计原则和一般制作步骤。第3、4节分别介绍用户菜单、用户控件的制作。出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。MATLAB 5.x 版为方便用户制作图形界面,提供了一个交互式的设计工具guide 。关于该工具的使用方法,被放在第6节中,以一个综合例题为设计目标逐步展开。 在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第10章关于图柄的内容。 11.1 入门 【*例11.1-1】对于传递函数为1 212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。本例演示:(A )图形界面的大致生成过程;(B )静态文本和编辑框的生成;(C )坐标方格控制键的形成;(D )如何使用该界面。 (1)产生图形窗和轴位框: clf reset H=axes('unit','normalized','position',[0,0,1,1],'visible','off'); set(gcf,'currentaxes',H); str='\fontname{隶书}归一化二阶系统的阶跃响应曲线'; text(0.12,0.93,str,'fontsize',13); h_fig=get(H,'parent'); set(h_fig,'unit','normalized','position',[0.1,0.2,0.7,0.4]); h_axes=axes('parent',h_fig,... 'unit','normalized','position',[0.1,0.15,0.55,0.7],... 'xlim',[0 15],'ylim',[0 1.8],'fontsize',8);

教程系列十--使用mStudio开发MiniGUI应用程序

天行健,君子以自强不息;地势坤,君子以厚德载物 天 嵌 通 途 工 作 室 教程系列 <十> 使用mStudio开发MiniGUI应用程序 工作室网址 https://www.sodocs.net/doc/e111897519.html,/embedroad BBS https://www.sodocs.net/doc/e111897519.html,/embedroad/bbs 金 陵 科 技 学 院 信息技术学院 天嵌通途工作室教程系列/ EmbedRoad Studio Tutorials Series

https://www.sodocs.net/doc/e111897519.html,/embedroad jinwenjie2007@https://www.sodocs.net/doc/e111897519.html, 第 2 页 共 11 页 天嵌通途工作室是由学生自发组织的半商业性质的团体, 主要由金陵科技学院嵌入式爱好者以及软件工程爱好者组成, 使用mStudio开发MiniGUI应用程序 mStudio 是飞漫软件推出的面向MiniGUI 开发的一款可视化集成开发环境,基于Eclipse CDT,为开发人员提供所见即所得(WYSIWYG)的界面设计环境,同时,自动生成代码,维护工程框架等。运行于Windows 版本的mStudio 采用了MinGW 运行环境。 版本与运行环境: FMSoft mStudio 1.0 with MiniGUI-BE V3.0 for Windows 支持操作系统:Windows 2000 / XP / 7操作系统 支持硬件平台:x86 一、软件安装 1.1 安装C/C++运行环境 如果您未安装VS2005的运行环境,请安装vcredist_x86.exe ,也可以在工作室网站上下载:https://www.sodocs.net/doc/e111897519.html,/embedroad/down.asp 。 如果你已经装过VS2005集成开发环境,则这步可以省略。 1.2 安装JRE或者JDK 如果您未按照JRE运行环境,请安装Windows版本JRE 。 (jre-6u19-windows-i586.exe) 以上两个全部默认路径安装即可。JRE 的安装目录是:C:\Program Files\Java。 1.3安装mStudio 下载网址:https://www.sodocs.net/doc/e111897519.html,/index.php?id=136&L=1。 运行mStudio-1.0-MiniGUI-BE-3.0-MinGW-en.msi ,这个软件免费,一路默认安装即可。 1.4 选择Workspace路径 双击软件运行Eclipse,第一次启动时需要选择Workspace 路径,但工程存储路径中不能包含空格和中文字符。例如:

matlab gui教程

什么是GUI呢? GUI是Graphical User Interface 图形用户界面的意思,象很多高级编程语言一样,Matlab也有图形用户界面开发环境,随着计算机技术的飞速发展,人与计算机的通信方式也发生的很大的变化,从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式,而现在绝大多数的应用程序都是在图形化用户界面下运行的。 记得读书的时候,大学开学不久,学校很多同学就开始报考全国计算机等级考试了,当然我也是其中的一分子,其中C语言是大多数人选择的科目,当时在学C语言的时候,经常也会遇到人机交互的例子,譬如一个计算两个数相加的程序,运行程序后便切换到了Dos模式,然后在此模式下输入两个数,再回车,才能返回运算结果。当时就觉得很不方便,也不友好,后来才得知C语言是面向过程的语言,是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。 Matlab GUI编程教程(适用于初学者) 1.首先我们新建一个GUI文件:File/New/GUI 如下图所示; 选择Blank GUI(Default) 2.进入GUI开发环境以后添加两个编辑文本框,6个静态文本框,和一个按钮,布置如下图所示;

布置好各控件以后,我们就可以来为这些控件编写程序来实现两数相加的功能了。3.我们先为数据1文本框添加代码; 点击上图所示红色方框,选择edit1_Callback,光标便立刻移到下面这段代码的位置。function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double 然后在上面这段代码的下面插入如下代码: %以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字, 则现实空白内容 input = str2num(get(hObject,'String')); %检查输入是否为空. 如果为空,则默认显示为0 if(isempty(input)) set(hObject,'String','0')

改CODE官方在线升级(刷新固件)NSS+NSU详细操作教程

〓〓◆诺基亚N97改CODE官方在线升级(刷新固 件)NSS+NSU详细操作教程(附图)◆〓〓 很久没有编辑这个帖子了,不管出于什么原因,还是想对各位说声抱歉。关于本帖,有几点想和大家说明:本帖的刷机方法只是我自己看过论坛的一些刷机帖子然后经过自己的思考和刷机实践整理出来的,目前浏览量和回帖量还是比较高的,应该讲是一种比较傻瓜但是成功率比较高的方法,包括也有个别机油看到后稍加整理发表到其它论坛,并被相关论坛当作置顶贴。帖子后面我也提到过,刷机是一件有风险而且需要大家有一定的动手动脑能力,还要有一定的勇气的事,毕竟是几千块的东西,万一出了问题也不开心,这年头大家赚几个钱都不容易,就算天下掉的也还得弯下腰捡吧。我从来没有说过我的方法能100%成功,这一点,我想诺基亚的工程师也没法保证(有个别的机油抓住这个事回帖闹得大家不开心,我也挺郁闷)。另外毕竟我手上只有一台自己用的机器,加上用此法帮朋友刷了两台5800,都是一次性成功(因为刷机原理是一样的,只是CODE不同)。所以只能做到知道的能回答的问题就尽量解答。有些问题没有跟贴回答是因为帖子里面已经有答案了,只是个别朋友还

是看得不够仔细,尽管我已经通过加粗字体设置不同的字体颜色来引起大家的注意。另外一些我自己也不知道的,我也会回帖或PM说明,不知道的不能乱说,呵呵。。关于有机油的NSS检测不到手机或者改CODE 不成功,如果重复帖子中的相关步骤仍然没有进展的话可以考虑换PC或者系统,目前基本上大家用的都是XX的XP系统,各种论坛什么的修改的系统盘也是乱七八糟,所以不能排除由于PC系统的原因造成的刷机问题。。如果本人有条件比如说自己就是维修技师或者手机卖家,我倒是很有兴趣尝试各种刷机的办 法可惜目前条件有限,希望大家多多包涵!!! 改好CODE后,不管是V10升V11,或是V10升V12,V11升V12,亦或是以后的Vxx升Vyy都可以直接用NSU升,不用再改CODE。。。(XX代表低版本固件,yy 代表高版本固件)。只要是从低版本往高版本的固件刷,不管是连续的版本号还是跨版本,都是一样的操作方式。 从目前机油们的顶帖回复来看,普遍反映本教程操作简单易懂,哪怕是新手朋友也能轻易上手并且刷机成功,前提是一定要认真把此教程从头至尾看完,

最新红雪RedSn0w 0.9.9b1详细图文教程(有锁iPhone4的福音:备份shsh、自制固件、刷自制固件、越狱)

最新红雪RedSn0w 0.9.9b1详细图文教程 1、红雪Redsn0w 0.9.9b1的本次更新并不支持对4.3.4/4.3.5 、iOS 5测试版的完美越狱,但是简化了越狱步骤,即不需要手动选择固件,它会自己检测(只针对正式版,不包括iOS 5 Beta版),并从服务器上下载所需固件片段; 2、能储存并将你的SHSH数据并发送到Cydia,需要使用时RedSn0w会自动从苹果的服务器下载需要的IPSW文件并且会自动备份; 3、如果是iOS 5测试版固件,由于iOS 5还没正式发布,因此用户需要自己准备IPSW; 最新版RedSn0w 0.9.9b1可以说是ifaith、ireb、tinyumbrella等软件的结合: 1、支持iOS 4.2.1/4.3.1/4.3.2/4.3.3完美越狱; 2、支持iOS 4.3.4/4.3.5 、iOS 5测试版的不完美越狱以及引导开机; 3、支持备份已经关闭验证的SHSH文件,并支持通过该SHSH文件制作自定义固件 4、支持在引导iPhone进入DFU模式刷自定义固件 注意: 1、Redsn0w 0.9.9b1和iFaith抓取的SHSH都只是“部分”SHSH,只能用于Redsn0w制作自制固件,自制固件只能在软件引导的DFU模式下才能刷。目前只有Apple发的Cydia备份的才是完整的SHSH,从这个意义上说,RedSn0w 0.9.9b1目前还是没办法完全替代Tinyumbrella,所以还是需要及时备份SHSH文件(点击查看详细教程) 2、目前iPad 2只有JailbreakMe可以越狱4.3.3,点击查看详细教程 3、本教程主要分为四个部分,分别是: ①通过RedSn0w备份SHSH; ②依据该SHSH文件制作自定义固件; ③通过RedSn0w刷该自定义固件; ④通过RedSn0w 0.9.9b1越狱和引导iPhone 根据自己的PC操作系统下载红雪,本教程于Windows下制作,以4.3.3固件为例。 第一步:通过新版RedSn0w备份SHSH 一、将下载好的redsn0w 0.9.9b1解压 二、打开redsn0w.exe文件。注:WIN7用户需要以兼容模式运行。在redsn0w.exe上点击右键--属性--兼容性打开后如下 图,在兼容模式中选择Windows Vista。

经典GUI基础入门:MATLAB中GUI用户图形界面学习

GUI指导教程系列(1):GUI入门基本操作 为什么在MATLAB中要使用GUI呢?其实GUI就是Matlab中的Visual Basic,是面向对象的编程,可以使Matlab程序的终端用户,即使不懂的Matlab也可以轻易操作该程序! 如果没有图形用户界面(GUI)我们只能从命令行(Command Window)中调用相关程序,这相对比较繁琐,并且不是所有用户都是这个能力。就好比计算机的DOS 系统,在有windows的情况下,您会选择DOS吗?当然我们也不排除骨灰级的人物! 在本节教程我们主要针对没有GUI创建和使用经历的网友,但是必要的MATLAB 基础知识是需要的。在教程中我们将创建一个简单的GUI程序,它执行两个数的加法运行,然后显示其运算结果。 好下面开始我们的教程! 一、打开和创建GUI界面 1、首先打开Matlab,在Command Window中输入guide回车 2、此时打开GUI编辑器GUIDE(GUI Developer的缩写) 2.1 界面上有两个标签也“Creat New GUI”和“Open Existing GUI” 如果创建新的GUI此时我们选择第一个标签页,但如果打开其它已经存在的GUI 就点击第二个标签吧

2.2 这里我们选择第一个标签下的“Blank GUI”(空白GUI),下面还有几个系统GUI模版,你可以根据需要选择其它的。 2.3 点击“OK”我们正式进入GUIDE界面,呵呵,是不是感觉似曾相识 3、添加你需要的控件到figure中 在添加控件之前,您最好对您的GUI界面布局已经有一定的构思了,否则盲目性太大了不利于您的编程。下面是我们构思的布局。

四种刷机教程

四种刷机教程 (本教程转自塞班论坛) 免责声明: 刷机有风险,刷机之前的相关知识学习是必要的,如果您不知道自己在做什么请不要继续操作 否则本人即默认您已经了解了相关说明并做好了承担由此产生的一切后果的准备 如果您打算继续操作,请看下文: 【刷机方法一】 直接用诺基亚官网Nokia Software Updater或诺基亚PC套件或诺基亚Ovi套件升级教程 第一步,在电脑上到诺基亚官网下载Nokia Software Updater并安装运行。 根据PC套件的提示,一步一步点击下一步继续操作 第二步,根据提示,点击“开始”

第三步,根据提示,用数据线连接好手机 第四步,升级前,根据提示要记着进行信息和通讯录备份(如不需要可略过)

第五步,连接设备后,自动进行升级更新即可 另,手机电池电量不高的情况下,电脑会提示电池电量不够,不能升级,如下图 【刷机方法二】 NSS改CODE刷机教程 NSS改CODE

第一步,下载并按照默认路径安装NSS 第二步,点击“下一步”进行完全安装 第三步,手机与电脑进行连接,必须选择PC套件模式,如下图

第四步,按照如下图所示提示继续 第五步,点击手机图标右侧的Flash,再点击软件右侧的Scan,此时软件会扫描手机的CODE

信息 第六步,重新点第二排的手机图标,软件右侧会有Production Data Edit(产品数据编辑) 在第一栏Product CODE栏里输入你要修改的CODE,并勾选Enable,再点击该区域的Write(数据写入)按钮 2-3秒后,软件左下角会提示Write New Value...Done(写入新的值完成),此时修改CODE 成功 以上通过NSS修改完CODE后,直接再返回刷机情况一,通过NSU进行官网连接升级刷机即可 【NSS下载】: 下载:NSS103814.part1.rar您必须[url=http://profile.**********/login.php]登录才可以下载此附件

相关主题