文档库 最新最全的文档下载
当前位置:文档库 › 3.ADK2.0编译CSR8670固件

3.ADK2.0编译CSR8670固件

路由器固件的解包与打包

路由器固件的解包与打包 一、概述 当前大学生都被校园网的客户端困扰,然而南京工程学院公布了Linux客户度解决方案,或者Mentohust解决方案,可以在Ubuntu系统的计算机上运行了。但进一步的工作就是如何令其在路由器上工作,以达到真正的路由功能。 假定笔者已经把电脑上完美运行的客户端进行了交叉编译,生成了要在路由上运行的拨号程序(假定为Client),且笔者的路由器有合适的固件(假定为firm.bin)。 那么要在路由器上运行Client有三种方法: 1.可以把Client上传到路由器的/jffs目录下。(本文不讨论这种情形) 2.刷写dd后,由于剩余容量太小导致无法加载jffs,那么每次启动路由后,可以将程序Client 上传到刷写了firm.bin路由的/tmp目录下,然后令其运行。简单的说,就是在内存里运行Client。其缺点就是每次路由断电,你必须重新上传。(本文不讨论这种情形) 3.当路由器无法加载jffs时,可以考虑将Client程序增添至固件,并且在自启动命令里输入正确的命令方式,以达到每次路由插上电,都可以自动运行拨号程序的完美效果。以下讨论的为如何将Client固化至固件的方法。 所需软件为firmware-mod-kit,大致步骤为: 1.先用解包软件解包路由器固件将会得到固件核心文件。 2.再把Client复制到固件的某个文件夹内,且注意赋予可执行的权限。 3.用build-ng.sh进行最终的封包,生成新的固件。 操作环境:Ubuntu 11.04版 参考资料:https://www.wendangku.net/doc/3012123510.html,/p/mentohust-wrt/ https://www.wendangku.net/doc/3012123510.html,/p/firmware-mod-kit/ Firmware Modification Kit

编译原理教程课西安电子科大出版社第三版后习题答案——第二章

第二章 词法分析 2.1 完成下列选择题: (1) 词法分析器的输出结果是 。 a. 单词的种别编码 b. 单词在符号表中的位置 c. 单词的种别编码和自身值 d. 单词自身值 (2) 正规式M1和M2等价是指 。 a. M1和M2的状态数相等 b. M1和M2的有向边条数相等 c. M1和M2所识别的语言集相等 d. M1和M2状态数和有向边条数相等 (3) DFA M(见图2-1)接受的字集为 。 a. 以0开头的二进制数组成的集合 b. 以0结尾的二进制数组成的集合 c. 含奇数个0的二进制数组成的集合 d. 含偶数个0的二进制数组成的集合 【解答】 (1) c (2) c (3) d 图2-1 习题2.1的DFA M 2.2 什么是扫描器?扫描器的功能是什么? 【解答】 扫描器就是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。通常是把词法分析器作为一个子程序,每当词法分析器需要一个单词符号时就调用这个子程序。每次调用时,词法分析器就从输入串中识别出一个单词符号交给语法分析器。 2.3 设M=({x,y}, {a,b}, f, x, {y})为一非确定的有限自动机,其中f 定义如下: f(x,a)={x,y} f{x,b}={y} f(y,a)=Φ f{y,b}={x,y} 试构造相应的确定有限自动机M ′。 【解答】 对照自动机的定义M=(S,Σ,f,So,Z),由f 的定义可知f(x,a)、f(y,b)均为多值函数,因此M 是一非确定有限自动机。 先画出NFA M 相应的状态图,如图2-2所示。 图2-2 习题2.3的NFA M 用子集法构造状态转换矩阵,如表 表2-1 状态转换矩阵 1b a

固件升级失败导致路由器变砖头无法使用了

固件升级失败导致路由器变砖头无法使用了,有办法 抢救回来吗? 路由器在进行固件升级的时候,会擦除Flash闪存上面存储的路由器固件,然后再写入新的路由器固件,这是一个比较漫长的过程,根据路由器固件的大小,可能会需要几分钟的时间。在此升级的时间里,如果出现意外状况,如路由器突然断电,或者用户误操作了路由器,就有可能会导致路由器升级失效,Flash闪存遭到破坏的情况,路由器就无法正常使用了,也就是俗称的路由器“变砖”了。实际上路由器固件有两个部分,一部分负责启动,称为Boot部分,类似于计算机的BIOS引导程序,另一部分是固件部分,也就是实际升级的部分。当路由器升级失效时,损坏的是固件部分的那一块Flash闪存,而Boot部分并没有损坏,因此是可以通过努力救援回来的。 救援模式 所谓的救援模式,就是指当路由器固件升级失效后,采用某种特殊方式,将路由器固件重新刷入的模式,也就是可以将路由器从“砖头”变活的操作模式。支持救援模式的型号主要包括:JHR-N815R JHR-N825R JHR-N828 JHR-N835R JHR-N845R JHR-N855R 3R增强版 Q5增强版 JYR-N490增强版 Q7 Q8 JYR-AC520 JYR-AC670 JIR-AC956等。 因型号太多,这里没能一一列举出来,具体情况,建议可以拆开机壳,查看芯片方案确定。本文所述的方式适用于全部Ralink/MTK方案的产品,如下图所示。

进入救援模式 进入救援模式的方法其实很简单。首先需要使用有线连接路由器的局域网接口,并且为计算机设置静态IP地址(因此时路由器已经无法工作,也自然是无法分配IP地址的)。如下图所示,将计算机连接的IP地址设置为:192.168.1.100

TTL路由刷机教程

先学习下编程器固件里面的内容: 编程器固件中包含uboot、fw和art。 uboot就像电脑的bios,是底层的管理系统; fw就像电脑的操作系统,实现路由器的各种功能; art就像电脑的无线驱动程序,是无线校验码; uboot的长度为128KB(0x20000);art为64KB(0x10000);fw有4M和8M的区别,4M的为3840K (0x3c0000),8M的为7936KB(0x7c0000)。在刷机之前要对要刷入flash的uboot、fw、art 的文件长度用ultraedit或winhex进行校验。尤其是uboot,如果大小不对,千万不要尝试刷入,那是一定会变砖的。 uboot、fw和art在flash中的位置如下: 4M的FLASH:flash地址从0x000000~0x3FFFFF ttl访问flash的地址从0x9F000000~0x9F3FFFFF 8M的FLASH:flash地址从0x000000~0x7FFFFF ttl访问flash的地址从0x9F000000~0x9F3FFFFF

准备工作 1、从PCB版上上引出TTL线,一般有三根:TX RX和GND,对应主板上的标记,应该是TP-IN,TP-OUT,主板上焊点较大、覆盖面积较广的一般就是GND,有USB的,外壳连接的就是GND,可以从这些地方引出。 2、USB-TTL板\串口TTL板\CH341编程器的 TTL串口功能,装好驱动,在设备管理器中查出该设备占用的COM端口号. 3、电脑IP设置192.168.1.2,网关255.255.255.0,掩码192.168.1.1,网线连接路由器LAN口和电脑网线接口。 4、需要的软件PUTTY或者SecureCRT。连接好TTL,打开PUTTY或者SecureCRT,点串口,端口改为上面查出的COM端口号,速率选择115200,点确定。如果接上路由器电源以后不出码,请交换ttl的Tx和Rx两线;如果出乱码,请查COM端口的速率是不是都是115200。(注: 有些路由用的波特率是117500,128000的才不会乱码, SecureCRT添加串口的设置RTS/CTS不要打钩) 5、需要的软件tftp32。将固件放到tftp32同一目录,打开ftfp32,一般默认的server interface 就已经是你的网卡IP地址(对于路由器uboot的远端地址不是192.168.1.2的,在TTL中断系统启动以后,输入setenv ipaddr 192.168.1.1;setenv serverip 192.168.1.*(电脑IP地址)命令)。 TTL刷固件的命令 了解以上地址信息以后,就可以利用以上信息在不拆FLASH的情况下利用TTL向FLASH写入编程器固件或者其中的某一部分。

蒋立源 编译原理第三版第二章 习题与答案(修改后)

第2章习题 2-1 设有字母表A1 ={a,b,c,…,z},A2 ={0,1,…,9},试回答下列问题: (1) 字母表A1上长度为2的符号串有多少个? (2) 集合A1A2含有多少个元素? (3) 列出集合A1(A1∪A2)*中的全部长度不大于3的符号串。 2-2 试分别构造产生下列语言的文法: (1){a n b n|n≥0}; (2){a n b m c p|n,m,p≥0}; (3){a n#b n|n≥0}∪{c n#d n|n≥0}; (4){w#w r# | w∈{0,1}*,w r是w的逆序排列 }; (5)任何不是以0打头的所有奇整数所组成的集合; (6)所有由偶数个0和偶数个1所组成的符号串的集合。 2-3 试描述由下列文法所产生的语言的特点: (1)S→10S0S→aA A→bA A→a (2)S→SS S→1A0A→1A0A→ε (3)S→1A S→B0A→1A A→C B→B0B→C C→1C0C→ε (4)S→aSS S→a 2-4 试证明文法 S→AB|DC A→aA|a B→bBc|bc C→cC|c D→aDb|ab 为二义性文法。 2-5 对于下列的文法 S→AB|c A→bA|a B→aSb|c 试给出句子bbaacb的最右推导,并指出各步直接推导所得句型的句柄;指出句子的全部短语。

2-6 化简下列各个文法 (1) S→aABS|bCACd A→bAB|cSA|cCC B→bAB|cSB C→cS|c (2) S→aAB|E A→dDA|e B→bE|f C→c AB|dSD|a D→eA E→fA|g (3) S→ac|bA A→c BC B→SA C→bC|d 2-7 消除下列文法中的ε-产生式 (1) S→aAS|b A→cS|ε (2) S→aAA A→bAc|dAe|ε 2-8 消除下列文法中的无用产生式和单产生式 (1) S→aB|BC A→aA|c|aDb B→DB|C C→b D→B (2) S→SA|SB|A A→B|(S)|( ) B→[S]|[ ] (3) E→E+T|T T→T*F|F F→P↑F|P P→(E)|i 第2章习题答案 2-1 答: (1) 26*26=676 (2) 26*10=260 (3) {a,b,c,...,z, a0,a1,...,a9, aa,...,az,...,zz, a00,a01,...,zzz},共有26+26*36+26*36*36=34658个 2-2 解: (1) 对应文法为G(S)=({S},{a,b},{ S→ε| aSb },S) (2) 对应文法为G(S)=({S,X,Y},{a,b,c},{S→aS|X,X→bX|Y,Y→cY|ε },S) (3)对应文法为G(S)=({S,X,Y},{a,b,c,d,#}, {S→X,S→Y,X→aXb|#, Y→cYd|# },S)

编译原理 第一章 习题解答

第一章习题解答 2.编译程序有哪些主要构成成分?各自的主要功能是什么? 编译程序的主要构成成分有:词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、代码优化程序、目标代码生成程序、表格管理程序及出错处理程序。 (1)词法分析程序:从左到右扫描源程序,识别单词及其有关属性; (2)语法分析程序:分析源程序的结构, 判别它是否为相应程序设计语言中的一个合法程序; (3)语义分析程序:审查源程序有无语义错误,为代码生成阶段收集类型信息; (4)中间代码生成程序:将源程序变成一种内部表示形式; (5)代码优化程序:对前阶段产生的中间代码进行变换或进行改造,使生成的目标代码更为高效; (6)目标代码生成程序:把中间代码变换成特定机器上的绝对指令代码或可重定位的指令代码或汇编指令代码; (7)表格管理程序:保存编译过程中的各种信息; (8)出错处理程序:若编译过程中发现源程序存在错误,则报告错误的性质和错误发生的地点,有些还可以自动校正错误。 3.什么是解释程序?它与编译程序的主要不同是什么? 解释程序接受某个语言的程序并立即运行这个源程序。它的工作模式是一个个的获取、分析并执行源程序语句,一旦第一个语句分析结束,源程序便开始运行并且生成结果,它特别适合程序员交互方式的工作情况。 而编译程序是一个语言处理程序,它把一个高级语言程序翻译成某个机器的汇编或二进制代码程序,这个二进制代码程序再机器上运行以生成结果。 它们的主要不同在于:解释程序是边解释边执行,解释程序运行结束即可得到该程序的运行结果,而编译程序只是把源程序翻译成汇编或者二进制程序,这个程序再执行才能得到程序的运行结果。(当然还有其他不同,比如存储组织方式不同)

最常见的五种开源路由器固件测评

最常见的五种开源路由器固件测评2014.5 除了智能手机外,路由器和无线接入点无疑是最常被破解和修改的消费级设备。一方面破解这些设备较为简单,另一方面破解、修改设备参数后能带来一系列好处,比如拥有更多的特性,改善路由功能,加强安全性,而且破解后还能配置原厂固件通常不允许修改的参数(例如天线输出功率)。 五种最常见第三方固件的测评,重点介绍它们所提供的功能、最适合的用户群,其中有专为嵌入式硬件或特定路由器而设计的,有设计成与硬件无关的解决方案的,也有专为x86设备设计的。 一、DD-WRT:支持广泛、功能全面 DD-WRT是一款比较受欢迎的路由器固件,青睐它的不仅有业余爱好者和破解高手,还有众多路由器厂商。代表性产品是2005年生产的Linksys WRT54G路由器,该路由器基于Linux固件版本,核心软件采用GPL许可方式。巴法络公司(Buffalo)也使用DD-WRT,作为其多款家用和准专业级消费路由器产品的固件。 支持的硬件:DD-WRT支持博通、ADM、Atheros以及Ralink等厂商的芯片组,不过这些芯片组的设备并非全部自动与之兼容。有些设备可能需要破解才可以使用,而有些可能根本就无法使用。 功能特性:DD-WRT提供了消费级路由器通常所不具备的众多强大的功能,比如ChilliSpot(用于建立商用级无线热点)、AnchorFree VPN系统以及支持NoCat无线社区网络系统。另外,DD-WRT有多个版本,有只支持最基本功能的2MB大小的“微型”版本,有支持拥有各种功能的8MB大小的“大型”的版本,这使得DD-WRT能够应用于各种不同级别的设备中。 局限性:DD-WRT的核心版本不经常更新。如果你想要更新较快的版本,只能选择临时的测试版,或者选择由厂商提供的定期修订的版本。 点评:DD-WRT是大多数用户的最佳选择。其预装在很多品牌路由器中,很容易去掌握、操纵,包括调整、更新、升级等。 二、Tomato:衍生版本众多 Tomato原本是作为博通路由器的备用固件而设计的,它因图形用户界面(GUI)、带宽监测工具以及其专业级、可调整的功能特性而备受关注。 支持的硬件:硬件支持方面与DD-WRT大同小异,不过用户要特别注意有哪些版本与你所用的硬件设备兼容。 功能特性:Tomato功能与DD-WRT比较相似,比如拥有复杂精巧的服务质量(QoS)控制、支持telnet或SSH访问命令行接口(CLI)以及Dnsmasq等。不过,Tomato采用了特别的设计方法,因此,在配置改动后一般不需要重启,而配置改动后重启也是用户经常抱怨的一个方面(无论是商用版还是开源版)。另外,还有大量由Tomato社区开发的定制脚本,比如将路由器的系统日志重定向至磁盘或另一台计算机、备份路由器的设置等。

编译原理第二章-课后题答案

第二章 3.何谓“标志符”,何谓“名字”,两者的区别是什么? 答:标志符是一个没有意义的字符序列,而名字却有明确的意义和属性。 4.令+、*和↑代表加、乘和乘幂,按如下的非标准优先级和结合性质的约定,计算1+1*2↑2*1↑2的值。 (1)优先顺序(从高到低)为+、*和↑,同级优先采用左结合。 (2)优先顺序为↑、+、*,同级优先采用右结合。 答:(1)1+1*2↑2*1↑2=2*2↑2*1↑2=4↑2*1↑2=4↑2↑2=16↑2=256 (2)1+1*2↑2*1↑2=1+1*2↑2*1=1+1*4*1=2*4*1=2*4=8 6.令文法G6为 N-〉D|ND D-〉0|1|2|3|4|5|6|7|8|9 (1)G6的语言L(G6)是什么? (2)给出句子0127、34、568的最左推导和最右推导。 (1)由0到9的数字所组成的长度至少为1的字符串。即:L(G6)={d n|n≧1,d∈{0,1,…,9}} 答: (2)0127的最左推导:N=>ND=>NDD=>NDDD=>DDDD=>0DDD=>01DD=>012D=>0127 0127的最右推导:N=>ND=>N7=>ND7=>N27=>ND27=>N127=>D127=>0127 (其他略) 7.写一个文法,使其语言是奇数集,且每个奇数不以0开头。 答:G(S):S->+N|-N N->ABC|C C->1|3|5|7|9 A->C|2|4|6|8 B->BB|0|A|ε [注]:可以有其他答案。 [常见的错误]:N->2N+1 原因在于没有理解形式语言的表示法,而使用了数学表达式。 8.令文法为 E->T|E+T|E-T T->F|T*F|T/F F->(E)|i (1)给出i+i*i、i*(i+i)的最左推导和最右推导。 (2)给出i+i+i、i+i*i和i-i-i的语法树,并给出短语,简单短语和句柄。 答:(1) i*(i+i)的最左推导: E=>T=>T*F=>F*F=>i*F=>i*(E)=>i*(E+T)=>i*(T+T)=>i*(F+T)=>i*(i+T)=>i*(i+F)=> i*(i+i) i*(i+i)的最右推导: E=>T=>T*F=>T*(E) =>T*(E+T)=>T*(E+F)=>T*(E+i)=>T*(T+i)=>T*(F+i)=> T*(i+i)=> F*(i+i) => i*(i+i) (其他略) [注]:要牢记每一步都是对最左(右)的一个非终结符号进行一步推导。 (2) i+i+i的语法树:

路由器固件修改教程(个人理解)-无线路由区-中国无线论坛 -

看很多人咨询修改固件问题决定做一个简易教程!使用软件:1.winhex 下载链接:winhex10.rar(493.48 KB, 下载次数: 5) 1.启动界面 启动界面后选择打开你需要的固件文件就可以了 2.固件文件结构简单讲解 编程器固件中包含uboot、fw和art。 uboot就像电脑的bios,是底层的管理系统; fw就像电脑的操作系统,实现路由器的各种功能; art就像电脑的无线驱动程序,是无线校验码;

uboot的长度为128KB(0x20000);art为64KB(0x10000);fw有4M和8M的区别,4M的为3840K (0x3c0000),8M的为7936KB(0x7c0000)。在刷机之前要对要刷入flash的uboot、fw、art的文件长度ultraedit或winhex进行校验。尤其是uboot,如果大小不对,千万不要尝试刷入,那是一定会变砖的。 uboot、fw和art在flash中的位置如下: 4M的FLASH:flash地址从0x000000~0x3FFFFF ttl访问flash的地址从0x9F000000~0x9F3FFFFF flash起始地址 TTL起始地址 flash终止地址 TTL终止地址 uboot 0X000000 0X9F000000 0X01FFFF 0X9F01FFFF fw 0X020000 0X9F020000 0X3DFFFF 0X9F3DFFFF art 0X3F0000 0X9F3F0000 0X3FFFFF 0X9F3FFFFF 8M的FLASH:flash地址从0x000000~0x7FFFFF ttl访问flash的地址从0x9F000000~0x9F3FFFFF flash起始地址 TTL起始地址 flash终止地址 TTL终止地址 uboot 0X000000 0X9F000000 0X01FFFF 0X9F01FFFF fw 0X020000 0X9F020000 0X7DFFFF 0X9F7DFFFF art 0X7F0000 0X9F7F0000 0X7FFFFF 0X9F7FFFFF

华为HG255D电信原版无线路由器刷机教程实战整理

方法/步骤 1 一、用到的东西 1、网线一条 2、USB转TTL线一条 3、SecureCRT终端仿真程序 4、当然路由器HG255D主体与电源适配器也少不了了 2 二、接驳TTL线 路由器PCB板上的TX、RX、GND分别连接到USBTTL(USB转串口)的TX、RX、GND 插针上 拔掉路由器W AN和LAN口所有网线 HG255D TTL插座定义(V+ 为3.3V的电压,千万不能接) 步骤阅读 3 三、电脑预设1(笔者用的是XP系统) 将USB转TTL接到电脑上,装好USBTTL驱动,选择正确的COM口(在设备管理器中查看第几个COM口,笔者这里是COM9)。

步骤阅读 4 四、电脑预设2(笔者用的是XP系统) 把电脑的网卡地址改成静态IP地址(设置为192.168.1.100) 步骤阅读 5 五、设置SecureCRT相关参数 设置SecureCRT COM口的速率为每秒位数57600(笔者这里用的是SecureCRT,)。 设置SecureCRT里(Protocol:Serrial Port:COM9 Baud rate:57600 Data bits:8 Parity:None Stop bits:1) Flow control选项 DTR/DSR,RTS/CTS,XON/XOFF都不打勾(COM口根据设备管理器中选择相应的数字)。

步骤阅 读 6 六、完成SecureCRT相关参数的设置 点“Connect”完成SecureCRT COM口连接设置,如果连接正确,窗口前会有一个绿色的勾,如下图: 步骤阅读 7 七、准备好路由器与路由器的电源适配器 这时可以打开路由器的电源,如SecureCRT有显示就表示接驳正确。关上电源。如没有,请参考步骤二,(或把RX和TX两根线对调)。 把相关的文件(u-boot、eeprom及Openwrt固件),与TFTPD32放在同一文件夹内,运行

编译原理课后习题答案+清华大学出版社第二版

第 1 章引论 第1 题 解释下列术语: (1)编译程序 (2)源程序 (3)目标程序 (4)编译程序的前端 (5)后端 (6)遍 答案: (1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。 (2)源程序:源语言编写的程序称为源程序。 (3)目标程序:目标语言书写的程序称为目标程序。 (4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶 段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符 号表管理等工作。 (5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。 (6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。 第2 题 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程序的总体结构图。 答案: 一个典型的编译程序通常包含8个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。其各部分的主要功能简述如下。 词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机内表达形式。 语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。 语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。 中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式的中间语言代码,如三元式或四元式。 中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。

编译原理 第二章习题答案

第2章习题解答 1.文法G[S]为: S->Ac|aB A->ab B->bc 写出L(G[S])的全部元素。 [答案] S=>Ac=>abc 或S=>aB=>abc 所以L(G[S])={abc} ============================================== 2. 文法G[N]为: N->D|ND D->0|1|2|3|4|5|6|7|8|9 G[N]的语言是什么? [答案] G[N]的语言是V+。V={0,1,2,3,4,5,6,7,8,9} N=>ND=>NDD.... =>NDDDD...D=>D......D =============================================== 3.已知文法G[S]: S→dAB A→aA|a B→ε|bB 问:相应的正规式是什么?G[S]能否改写成为等价的正规文法?[答案] 正规式是daa*b*;

相应的正规文法为(由自动机化简来): G[S]:S→dA A→a|aB B→aB|a|b|bC C→bC|b 也可为(观察得来):G[S]:S→dA A→a|aA|aB B→bB|ε ===================================================================== ========== 4.已知文法G[Z]: Z->aZb|ab 写出L(G[Z])的全部元素。 [答案] Z=>aZb=>aaZbb=>aaa..Z...bbb=> aaa..ab...bbb L(G[Z])={a n b n|n>=1} ===================================================================== ========= 5.给出语言{a n b n c m|n>=1,m>=0}的上下文无关文法。 [分析] 本题难度不大,主要是考上下文无关文法的基本概念。上下文无关文法的基本定义是:A->β,A∈Vn,β∈(Vn∪Vt)*,注意关键问题是保证a n b n的成立,即“a与b的个数要相等”,为此,可以用一条形如A->aAb|ab的产生式即可解决。 [答案] 构造上下文无关文法如下: S->AB|A A->aAb|ab B->Bc|c [扩展]

路由器刷固件教程

硬件: 1、路由器一台 2、交换机一台(交换机可以免,需划分VLAN以后介绍方法) 软件: 1、Tomato DualWAN 1.23.0483 (官方网站https://www.wendangku.net/doc/3012123510.html,) 条件: 1、上网形式必须为PPPOE拨号(无论采用网线接入还是小猫接入均可) 2、账号形式限制网速(如果是端口限制网速双拨的好处就是多获得了几个IP,没有提速效果) 首先是刷路由器,刚刚买回来的路由器如果卖家没有刷过任何固件,应该是中国电信的原有固件,需要自己对固件进行升级,升级的目的让你的路由器可以支持带宽叠加(很小的功能,更强大的功能后续介绍) 路由器如何了连接,如何插电源我就不介绍了,自己研究吧. 首先设置IP为192.168.1.2 子网掩码255.255.255.0 网关192.168.1.1 见图 然后开始--运行--输入--ping 192.168.1.1 -t 见图

ping 的通表示路由器连接正常,窗口不要关一会有用 先关闭路由器,(后面有个红色开关) 将下载的固件解压并改名为tt.bin放在C盘根目录下(使用8M版本固件文件名为tomato-ND.trx) 开始--运行--输入--cmd--回车 在命令行中输入tftp -i 192.168.1.1 put tt.bin (不要敲回车) 此时打开路由,眼睛观察ping的窗口,一旦ping通在tftp中敲回车,只要不显示下面的图,基本上固件都上传成功的,固件上传成功会显示上传了多少字节,再来说一下路由器tftp 刷机的原理,给大家补补课,高手可以无视我。

固件上传成功会如下图 tftp是一个主动连接协议,他会主动连接路由器监听端口69,当然69端口要开放,路由器加载CFE成功后就会开放69端口等待数据,这个时间很短大约1到3秒左右,一旦有数据路由器停止固件的启动(如果没有连接就会正常启动固件了,可以想象成我们电脑的操作系统,当启动的时候按了del键操作系统就不会启动了),我们就是在这1到3秒的时间内连接路由器上传固件的,固件上传到路由器的内存中,然后路由器会将内存中的固件刷到flash 中,这个过程需要3-5分钟左右,固件越大时间越长,所以我们tftp成功后可以关闭电脑,但不要关闭路由器,静静的等待几分钟是必要的。 刷好路由器,现在的工作就比较简单了 将ADSL猫出来的网线连接交换机(有些同学的网络是网线接入,例如长城宽带等,直接将网线接到交换机上),交换机在接两条线,接到路由器的WLAN1跟WLAN2口上 硬件连接基本就是这样,没有上图 软件设置见图

编译原理第二版课后习答案

《编译原理》课后习题答案第一章 第 1 章引论 第 1 题 解释下列术语: (1)编译程序 (2)源程序 (3)目标程序 (4)编译程序的前端 (5)后端 (6)遍 答案: (1)编译程序:如果源语言为高级语言,目标语言为某台计算机上的汇编语言或机器语言,则此翻译程序称为编译程序。 (2)源程序:源语言编写的程序称为源程序。 (3)目标程序:目标语言书写的程序称为目标程序。 (4)编译程序的前端:它由这样一些阶段组成:这些阶段的工作主要依赖于源语言而与目标机无关。通常前端包括词法分析、语法分析、语义分析和中间代码生成这些阶 段,某些优化工作也可在前端做,也包括与前端每个阶段相关的出错处理工作和符 号表管理等工作。 (5)后端:指那些依赖于目标机而一般不依赖源语言,只与中间代码有关的那些阶段,即目标代码生成,以及相关出错处理和符号表操作。 (6)遍:是对源程序或其等价的中间语言程序从头到尾扫视并完成规定任务的过程。 第 2 题 一个典型的编译程序通常由哪些部分组成?各部分的主要功能是什么?并画出编译程 序的总体结构图。 答案: 一个典型的编译程序通常包含 8 个组成部分,它们是词法分析程序、语法分析程序、语义分析程序、中间代码生成程序、中间代码优化程序、目标代码生成程序、表格管理程序和错误处理程序。其各部分的主要功能简述如下。 词法分析程序:输人源程序,拼单词、检查单词和分析单词,输出单词的机表达形式。 语法分析程序:检查源程序中存在的形式语法错误,输出错误处理信息。 语义分析程序:进行语义检查和分析语义信息,并把分析的结果保存到各类语义信息表中。 中间代码生成程序:按照语义规则,将语法分析程序分析出的语法单位转换成一定形式 的中间语言代码,如三元式或四元式。 中间代码优化程序:为了产生高质量的目标代码,对中间代码进行等价变换处理。 目标代码生成程序:将优化后的中间代码程序转换成目标代码程序。 表格管理程序:负责建立、填写和查找等一系列表格工作。表格的作用是记录源程序的 各类信息和编译各阶段的进展情况,编译的每个阶段所需信息多数都从表格中读取,产生的中间结果都记录在相应的表格中。可以说整个编译过程就是造表、查表的工作过程。需要指出的是,这里的“表格管理程序”并不意味着它就是一个独立的表格管理模块,而是指编译程序具有的表格管理功能。 错误处理程序:处理和校正源程序中存在的词法、语法和语义错误。当编译程序发现源

tl wr841n固件升级【tl-wr841n路由器固件升级】

竭诚为您提供优质的服务,优质的文档,谢谢阅读/双击去除 tl wr841n固件升级【tl-wr841n路由器 固件升级】 要保持路由器的功能,升级是一个不错的作法。今天小编为大家提供Tp-LinkTL-wr841N升级的方法,希望对大家有帮助。 tl-wr841n路由器固件升级方法 1登陆路由器管理中心,查看路由设置,查看路由器的型号及其版本,有的路由器看型号就行,有的还有细分版本,这里用wr841N8.0作为演示,成功升级之后这个软件版本会发生变化,硬件的是固定的,当前在界面显示,

当前软件版本:4.18.20build130414rel.71093n 当前硬件版本:wr841N8.000000000 2一般在路由器的主页面都有这个,可以快速进入官网,进入官网再到对应机型的固件 3输入路由器型号,在第一步看到的硬件版就是型号,输入对应型号即可找到,找不到就试着缩短关键字,比如 wr841N找不到就直接输入841 4输入841找到很多型号,具体在看自己是属于哪个的,可以查看路由器的背部标签,因为这个路由器比较火,所以分系列很多,其他路由器一般不会这样,这里是普通版的,不可以找错机型哦

5这里页面可以看到路由的详细介绍,还有一些参数等,固件在相关下载里面 6热门的机型可以看到很多固件,在这里可以看到这么多个版本的固件,第一步里看到这个是8.0所以要用V8的其他的版本V9是不可以的,所以仔细核对型号及其版信息。不同版本的固件功能是不同,如果你是为了更好的兼容,那就用最新的版本,如果是为了解决网络共享问题就用特制版的。一般只有少数学校及北方些地区会限制。 7这里详细介绍路由修复的上一个版本的bug,或者功能特性,点击下载按钮就可以下载,下载之后把文件解压出来,文件如下图所示

编译原理作业参考问题详解

第1章引言 1、解释下列各词 源语言:编写源程序的语言(基本符号,关键字),各种程序设计语言都可以作为源语言。 源程序: 用接近自然语言(数学语言)的源语言(基本符号,关键字)编写的程序,它是翻译程序处理的对象。 目标程序: 目标程序是源程序经过翻译程序加工最后得到的程序。目标程序 (结果程序)一般可由计算机直接执行。 低级语言:机器语言和汇编语言。 高级语言:是人们根据描述实际问题的需要而设计的一个记号系统。如同自然语言(接近数学语言和工程语言)一样,语言的基本单位是语句,由符号组和一组用来组织它们成为有确定意义的组合规则。 翻译程序: 能够把某一种语言程序(源语言程序)改变成另一种语言程序(目标语言程序),后者与前者在逻辑上是等价的。其中包括:编译程序,解释程序,汇编程序。 编译程序: 把输入的源程序翻译成等价的目标程序(汇编语言或机器语言), 然后再执行目标程序(先编译后执行),执行翻译工作的程序称为编译程序。 解释程序: 以该语言写的源程序作为输入,但不产生目标程序。按源程序中语句动态顺序逐句的边解释边执行的过程,完成翻译工作的程序称为解释程序。 2、什么叫“遍”? 指对源程序或源程序的中间形式(如单词,中间代码)从头到尾扫描一次,并作相应的加工处理,称为一遍。 3、简述编译程序的基本过程的任务。 编译程序的工作是指从输入源程序开始到输出目标程序为止的整个过程,整个过程可以划分5个阶段。 词法分析:输入源程序,进行词法分析,输出单词符号。 语法分析:在词法分析的基础上,根据语言的语法规则把单词符号串分解成各类语法单位,并判断输入串是否构成语确的“程序”。 中间代码生成:按照语义规则把语法分析器归约(或推导)出的语法单位翻译成一定形式的中间代码。 优化:对中间代码进行优化处理。 目标代码生成:把中间代码翻译成目标语言程序。 4、编译程序与解释程序的区别? 编译程序生成目标程序后,再执行目标程序;然而解释程序不生成目标程序,边解释边执行。 5、有人认为编译程序的五个组成部分缺一不可,这种看确吗? 编译程序的5个阶段中,词法分析,语法分析,语义分析和代码生成生成是必须完成的。而中间代码生成和代码优化并不是必不可少的。优化的目的是为了提高目标程序的质量,没有这一部分工作,仍然能够得到目标代码。 6、编译程序的分类 目前基本分为:诊断编译程序,优化编译程序,交叉编译程序,可变目标编译程序。

无线路由器固件升级

无线路由器固件升级刷新过程详解 来源: 电脑维修时间: 2011-03-28 作者: hushiquan 路由器的固件跟系统一样都需要升级,无线路由器固件升级新版本一方面可以修正旧版本固件存在的问题,新版本的固件还会提供新的功能,方便多用户多机器共享上网。到底无线路由器该如何刷新升级呢,下面笔者以TP-LINK WR340G为例,详述TP-LINK无线路由器固件刷新过程。 1、下载无线路由器最新的固件 (1)同一款无线路由器,有可能存在不同的硬件版本,不同硬件版本的无线路由器固件有可能是不通用的,因此我们需要下载相应硬件版本的固件。 查看TP-LINK的无线路由器的软件、硬件版本信息 (2)同一款无线路由器,还可能存在标准版和特制版的固件,特制版的固件适用于那些电信封锁宽带共享的区域,如果你所在的区域不存在这类情况,直接使用标准版的固件。 TP-LINK WR340G就存在V1和V5两个硬件版本

选择最新的100618标准版 2、建议使用网线连接电脑和路由端,不推荐使用无线传输的方式刷新固件,因为无线传输不稳定,可能会造成刷新过程中出现意外情况。 3、在浏览器地址栏输入192.168.1.1,并输入正确的登录口令,进入TP-LINK无线路由器管理后台。点击左侧页面的“系统工具”,选择“备份和载入配置”,在“备份和载入配置”窗口,点击“备份配置文件”来备份路由器中已设置的各项参数。

无线路由器的系统工具 备份路由器的各项参数

备份配置文件 4、点击左侧页面的“系统工具”中的“软件升级”,点击“浏览”选择刚下载的更新版固件无误后,点击下方的“升级”按钮开始固件升级,在此过程中会有进度条滚动,升级过程中大约需要1分钟时间。 选取相应的新版固件程序,开始固件升级 5、固件升级完成后,路由器会自动重启,需要注意的是,固件升级会清空一切配置文件,包括之前设置的登录IP地址和口令,所有这一切将被还原成出厂默认设置(登录IP地址变成192.168.1.1,登录口令变成admin)。

无线路由升级固件失败的修复方法

出处:pconline 2009年06月23日作者:佚名责 任编辑:huangxing 最近PConline评测室拿到了Linksys的300M,802.11n双频无线路由器WRT320N,固件版本V1.0.01。通过长时间测试发现无线路由器待机时间过长就会出现锁死现象。具体表现为,当路由器下端联接的电脑长时间没有进行网络操作时,路由器进入待机状态。可是当电脑一但恢复工作时,路由器却不能恢复到工作状态了,不管电脑是设置的DHCP自动获取IP还是手动设置IP,都无法联接到路由器,也不能PING通 路由。

LINKSYS中国官网上提供有免费的固件供升级使用我们先从LINKSYS中国官网下载最新的固件供升级时使用,下载后把固件文件解压放到一个比较好找的文件夹中,例如本次升级我们就把它解压到C盘router文件夹中。

WRT320N的固件升级界面 WRT320N的出厂IP地址是192.168.1.1 默认管理员帐号密码都是:admin 进入管理界面后选择“Administration”项目下的“firmware Upgrade”选项,点击浏览按钮从C盘router文件夹里找到刚找下载的升级文件并点击“Start to Upgrade”开始升级,这个过程一般有二分钟左右,升级中途不能断电。升级完成无线路由器会自动重启。 老酒性子急,等了二分钟路由器还没有重启我就手动帮它重启,结果重启后路由器电源指示灯不停闪烁,路由器管理界面无法进入,路由功能也不能开启。路由器升级失败,被我刷成“砖头”了。估计这种情

况有些网友也遇见过,以前我们一般是把路由返厂维修,现在别急,可以通过TFTP命令来传送固件文件到路由器中继续完成升级操作。 修改电脑IP地址为固件定IP 首先我们把电脑用网线连接到无线路由器的LAN 端口上,并修改电脑的IP地址与路由器的为同一网段,例如这次的WRT320N的初始IP为192.168.1.1 那我们可以设置电脑的IP为192.168.1.2~254。

主流路由器固件dd-wrt,tomato,openwrt对比介绍

主流路由器固件dd-wrt,tomato,openwrt对比介绍 DDWRT:界面美观,设置简单直观,易用性比较好,官方固件自带的功能是三大固件中最为丰富的,对新路由的支持也十分迅速,可支持迅速的同时,由于新代码的加入,导致DDWRT经常出现一些bug,一些可能之前已经解决的bug,往往又会在之后的某次更新中原地满状态复活 ,着实让人喷血,最让人呕病的,是孱弱的QOS功能,DDWRT的qos功能只能说聊胜于无吧.功能的话到时还挺多,PPTP openvpn qos 上网控制 mac过滤等等功能都很使用,还能调节官方版本一般不提供的无线信号功率,当然还有中继,说中继可能有些人不敏感,说CW,很多人估计会会心一笑。 DDWRT:绝对是最适合新手入手的第三方固件,功能丰富,大部分机子的reset都是有效的,路由设置变砖后轻抚菊花即可涅磐重生 ,所以可以放心折腾~ Tomato:界面尚可,设置也算简单,易用性还行,流量的统计查看等功能是三个固件中做的最好的.官版Tomato是所有第三方路由固件中最为稳定的, 它的稳定源自于它的保守,官方版本的Tomato好几个版本之前就已经没有再加入什么新功能,基本是对原有软件的升级和除BUG,让本来就稳定无比的tomato更加稳定,可惜成也萧何败也萧何,Tomato的声誉来自于它的稳定,源自它的保守,它的缺点也来自于它的保守,由于这三大固件都源于思科当初开放的路由源码,所以对思科以及和思科一样采用BCM的54M芯片的机子的支持程度是最好的,但是那已经是好多年以前的机子了,原版Tomato对于那些机子的良好支持超乎想象,但是对于新的BCM的11n芯片的路由和其他如art芯片的路由,则没有准备支持的打算,不出所料的话,Tomato在之后的几年会慢慢消亡了 Openwrt:官版luci 0.9界面说实话真有点丑陋,设置不简单,也不直观,易用性也不是很好, 正在火热开发推进中的trunk的openwrt界面已经比较美观,设置也比以前简单,直观,易用性和以前差不多。 Openwrt是三大固件中扩展性最好的固件,通过扩展,可以实现很多超过路由本职工作的事情,比如脱机下载,网站,论坛,qos功能也十分强大,不逊色于Tomato的QOS,设置得当后网络表现会让人偷着乐~而且openwrt对新路由的支持也是十分迅速,个人认为是最有前途的固件,因为可以在新路由强劲CPU的支持下获得很好的性能表现,比那些老古董和洋垃圾的性能强大太多.各种功能的软件扩展包比比皆是,而且还有飞翔的天空开发的nwan多wan和限速qos。

相关文档
相关文档 最新文档