锘??xml version="1.0" encoding="utf-8" standalone="yes"?>中国成人亚色综合网站,国产亚洲一区在线播放,亚洲精品久久久久久一区二区http://www.shnenglu.com/fenixchen/category/3744.html瀛︿範涔熸槸涓縐嶄箰瓚?/description>zh-cnTue, 20 May 2008 09:02:06 GMTTue, 20 May 2008 09:02:06 GMT60SkyEye紜歡妯℃嫙騫沖彴錛岀涓夐儴鍒? 紜歡浠跨湡瀹炵幇涔嬩竴SkyEye鐨勮璁″疄鐜?/title><link>http://www.shnenglu.com/fenixchen/articles/19642.html</link><dc:creator>闄堥暱铏?/dc:creator><author>闄堥暱铏?/author><pubDate>Mon, 12 Mar 2007 08:36:00 GMT</pubDate><guid>http://www.shnenglu.com/fenixchen/articles/19642.html</guid><wfw:comment>http://www.shnenglu.com/fenixchen/comments/19642.html</wfw:comment><comments>http://www.shnenglu.com/fenixchen/articles/19642.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/fenixchen/comments/commentRss/19642.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/fenixchen/services/trackbacks/19642.html</trackback:ping><description><![CDATA[ <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr valign="top"> <td width="100%"> <h1>聽</h1> </td> <td class="no-print" width="192"> </td> </tr> </tbody> </table> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr valign="top"> <td width="10"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="10" /> </td> <td width="100%"> <table class="no-print" cellspacing="0" cellpadding="0" width="160" align="right" border="0"> <tbody> <tr> <td width="10"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="10" /> </td> <td> <table cellspacing="0" cellpadding="0" width="150" border="0"> <tbody> <tr> <td class="v14-header-1-small">鏂囨。閫夐」</td> </tr> </tbody> </table> <table class="v14-gray-table-border" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="no-padding" width="150"> <table cellspacing="0" cellpadding="0" width="143" border="0"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="8" /> <form name="email" action="https://www.ibm.com/developerworks/secure/email-it.jsp"> <input type="hidden" value="鏈郴鍒楁枃绔犵殑絎笁閮ㄥ垎涓昏浠嬬粛浜哠kyEye紜歡妯℃嫙騫沖彴鐨勫疄鐜扮粏鑺傘備富瑕佸唴瀹瑰寘鎷琒kyEye鐨勬諱綋璁捐銆丼kyEye鐨勫彲鎵╁睍妗嗘灦銆丼kyEye鐨勫叧閿暟鎹粨鏋勩丼kyEye瀵瑰悇縐岰PU鐨勬ā鎷熷疄鐜般丼kyEye瀵瑰悇縐嶅璁劇殑妯℃嫙瀹炵幇銆佸浣曞畨瑁呬嬌鐢⊿kyEye浠ュ強濡備綍鎵╁睍SkyEye鐨勪豢鐪熸ā鍧楃瓑銆傚SkyEye鐨勬繁鍏ヤ簡瑙o紝鏈夊姪浜庡宓屽叆寮忕‖浠剁郴緇熸湁鏇存繁鍏ョ殑璁よ瘑錛岀壒鍒槸瀵規搷浣滅郴緇熴侀┍鍔ㄧ▼搴忓浣曚笌宓屽叆寮忕‖浠剁郴緇熻繘琛屼氦浜掓湁鏇存繁鍒葷殑浜嗚В銆? name="body" /> <input type="hidden" value="SkyEye紜歡妯℃嫙騫沖彴錛岀涓夐儴鍒? 紜歡浠跨湡瀹炵幇涔嬩竴" name="subject" /> <input type="hidden" value="cn" name="lang" /> <script language="JavaScript" type="text/javascript"> <!-- document.write('<tr valign="top"><td width="8"><img src="http://www.ibm.com/i/c.gif" width="8" height="1" alt=""/></td><td width="16"><img src="http://www.ibm.com/i/v14/icons/em.gif" height="16" width="16" vspace="3" alt="灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫? /></td><td width="122"><p><a class="smallplainlink" href="javascript:document.email.submit();"><b>灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫?/b></a></p></td></tr>'); //--> </script> <tbody> <tr valign="top"> <td width="8"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="8" /> </td> <td width="16"> <img height="16" alt="灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫? src="http://www.ibm.com/i/v14/icons/em.gif" width="16" vspace="3" /> </td> <td width="122"> <p> <a class="smallplainlink" href="javascript:document.email.submit();"> <b> <font color="#5c81a7" size="2">灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫?/font> </b> </a> </p> </td> </tr> <noscript> <tr valign="top"> <td width="8"> <img alt="" height="1" width="8" src="http://www.ibm.com/i/c.gif" /> </td> <td width="16"> <img alt="" width="16" height="16" src="http://www.ibm.com/i/c.gif" /> </td> <td class="small" width="122"> <p> <span id="hvzpftn" class="ast">鏈樉紺洪渶瑕?JavaScript 鐨勬枃妗i夐」</span> </p> </td> </tr> </noscript> </tbody> </form> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <!--START RESERVED FOR FUTURE USE INCLUDE FILES--> <!-- 03/20/06 updated by gretchen --> <br /> <table cellspacing="0" cellpadding="0" width="150" border="0"> <tbody> <tr> <td class="v14-header-2-small">鎷撳睍 Tomcat 搴旂敤</td> </tr> </tbody> </table> <table class="v14-gray-table-border" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="no-padding" width="150"> <table cellspacing="0" cellpadding="0" width="143" border="0"> <tbody> <tr valign="top"> <td width="8"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="8" /> </td> <td> <img height="16" alt="" src="http://www.ibm.com/i/v14/icons/fw_bold.gif" width="16" vspace="3" border="0" /> </td> <td width="125"> <p> <a class="smallplainlink" > <font color="#5c81a7" size="2">涓嬭澆 IBM 寮婧?J2EE 搴旂敤鏈嶅姟鍣?WAS CE 鏂扮増鏈?V1.1</font> </a> </p> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <!--END RESERVED FOR FUTURE USE INCLUDE FILES--> <br /> </td> </tr> </tbody> </table> <p>綰у埆: 鍒濈駭</p> <p> <a > <font color="#996699">闄堟笣</font> </a> (<a href="mailto:yuchen@tsinghua.edu.cn?subject=紜歡浠跨湡瀹炵幇涔嬩竴&cc=d"><font color="#5c81a7">yuchen@tsinghua.edu.cn</font></a>)娓呭崕澶у<br /></p> <p>2004 騫?10 鏈?01 鏃?/p> <blockquote>聽</blockquote> <!--START RESERVED FOR FUTURE USE INCLUDE FILES--> <!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --> <!--END RESERVED FOR FUTURE USE INCLUDE FILES--> <p>鍓嶄袱綃囨枃绔犲垎鍒粙緇嶄簡 SkyEye 欏圭洰鍙婂叾瀹夎錛屼笅闈㈢殑鍑犵瘒鏂囩珷灝嗗鍏惰璁″疄鐜板睍寮璁ㄨ銆?/p> <p> <a name="N10049"> <span id="hvzpftn" class="atitle">涓錛?SkyEye鐨勬諱綋緇撴瀯</span> </a> </p> <p>SkyEye鍩轟簬GDB/ARMulator(鐩墠鐢盌avid McCullough 緇存姢)錛屽茍榪涜浜嗗叏闈㈢殑鏀瑰彉鍜屾墿灞曘係kyEye寤虹珛鍦℅NU GDB鐨勫簳灞傦紝鍙互妯′豢澶氱瀹屾暣鐨勫祵鍏ュ紡璁$畻鏈虹郴緇燂紝鐩墠妯℃嫙鐨勭‖浠跺寘鎷珻PU銆佸唴瀛樸両/O瀵勫瓨鍣ㄣ佹椂閽熴乁ART銆佺綉緇滆姱鐗囥丮MU銆丆ACHE錛屽皢鏉ヨ繕浼氭ā鎷?LCD銆乁SB絳夊悇縐嶇‖浠躲傚湪SkyEye涓婅繍琛岀殑鎿嶄綔緋葷粺鍜屽悇縐嶇郴緇熻蔣浠?鎰忚瘑"涓嶅埌瀹冧滑鏄湪涓涓櫄鎷熺殑璁$畻鏈虹郴緇熶笂榪愯銆?</p> <p>SkyEye浠庢諱綋涓婂垎涓哄洓涓眰嬈★細</p> <ul> <li>鐢ㄦ埛鎺ュ彛妯″潡錛氬寘鎷懡浠よ鐢ㄦ埛鐣岄潰鍜屽浘褰㈢敤鎴風晫闈紝瀹屾垚澶勭悊鐢ㄦ埛鐨勮緭鍏ュ懡浠わ紝騫舵妸鐩稿叧璋冭瘯鏁版嵁杈撳嚭緇欑敤鎴風殑浠誨姟銆傝繖涓閮ㄥ垎鍩烘湰涓婄洿鎺ュ埄鐢ㄤ簡GDB鐨勭敤鎴鋒帴鍙fā鍧楋紝騫跺湪姝ゅ熀紜涓婃湁涓瀹氱殑鎵╁厖銆? </li> <li>絎﹀彿澶勭悊妯″潡錛氫富瑕佸鐞嗘墽琛屾枃浠剁殑澶翠俊鎭紝瑙i噴鎵ц鏂囦歡涓唴宓岀殑debuger璋冭瘯淇℃伅錛屽絎﹀彿琛ㄧ殑綆$悊錛屽婧愪唬鐮佽〃杈懼紡鐨勮В鏋愶紝瀹氫綅婧愪唬鐮佷腑鐨勮鍙ヤ綅緗拰鏈哄櫒鐮佺殑浣嶇疆鍏崇郴絳夈傝繖涓閮ㄥ垎涔熸槸鐩存帴鍒╃敤浜咷DB鐨勭鍙峰鐞嗘ā鍧楋紝涔熸鏄湁浜嗚繖涓ā鍧楃殑鏀寔錛孲kyEye鍙互鏀寔婧愮爜綰ц皟璇曘? </li> <li>鐩爣鎺у埗妯″潡錛氫富瑕佸畬鎴愭墽琛屾帶鍒訛紙濡備腑鏂▼搴忕殑鎵ц錛岃緗腑鏂潯浠剁瓑錛夛紝紼嬪簭鏍堢粨鏋勫垎鏋愶紝瀵瑰叿浣撶洰鏍囩‖浠剁殑鎺у埗錛堝鏈湴璋冭瘯銆佽繙紼嬭皟璇曞拰妯℃嫙璋冭瘯鐨勬帶鍒訛級銆傝繖涓閮ㄥ垎瀹屾垚瀵筍kyEye涓婅繍琛岀殑杞歡鐨勬帶鍒訛紝鎻愪緵浜嗗縐嶈皟璇曟墜孌點? </li> <li>鐩爣妯℃嫙妯″潡錛氳繖涓閮ㄥ垎鏄疭kyEye鐨勬牳蹇冦傚畠鐨勫姛鑳芥槸妯′豢璁$畻鏈虹郴緇熶腑鐨勪富瑕佺‖浠訛紙鍖呮嫭CPU銆佸唴瀛樺拰鍚勭紜歡澶栬絳夛級鐨勬墽琛岋紝瀵規墽琛屾枃浠剁殑鏈哄櫒鎸囦護榪涜瑙i噴錛屽茍妯℃嫙鎵ц姣忎竴鏉℃満鍣ㄦ寚浠わ紝浜х敓鐩稿簲鐨勭‖浠跺搷搴旂瓑銆?</li> </ul> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td> <img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /> <br /> <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /> </td> </tr> </tbody> </table> <table class="no-print" cellspacing="0" cellpadding="0" align="right"> <tbody> <tr align="right"> <td> <img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /> <br /> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td valign="center"> <img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /> <br /> </td> <td valign="top" align="right"> <a class="fbox" > <b> <font color="#996699">鍥為〉棣?/font> </b> </a> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> <br /> <p> <a name="N10064"> <span id="hvzpftn" class="atitle">浜岋紟 SkyEye鐩爣妯℃嫙妯″潡鍔熻兘鍒掑垎</span> </a> </p> <br /> <br /> <img height="422" alt="" src="http://www.ibm.com/developerworks/cn/linux/l-skyeye/part3/s1/images/image001.gif" width="440" border="0" /> <br /> <p>SkyEye鐩爣妯℃嫙妯″潡妯℃嫙鐨勭‖浠墮昏緫緇撴瀯鍥懼鍥?0 1鎵紺恒係kyEye鐩爣妯℃嫙妯″潡浠庡姛鑳戒笂鍙垎涓哄涓嬪嚑澶фā鍧楋細</p> <ul> <li>閰嶇疆閫夐」瑙f瀽鍜屽垵濮嬪寲妯″潡錛氬湪妯℃嫙紜歡寮濮嬭繍琛屽墠錛屾牴鎹厤緗枃浠剁殑閫夐」錛屾帶鍒跺妯℃嫙紜歡鐨勯厤緗拰鍒濆鍖栥傜浉鍏蟲枃浠跺寘鎷細 <ul><li>arminit.c錛氭帶鍒跺悇縐嶆ā鎷熺‖浠剁殑鍒濆鍖? </li><li>skyeye_config.[ch]錛氳В鏋愰厤緗枃浠剁殑閫夐」琛? </li><li>skyeye_options.c錛氭牴鎹悇縐嶇‖浠剁殑閫夐」錛屽畬鎴愬悇縐嶉厤緗? </li><li></li></ul></li> <li>澶勭悊鍣ㄦā鎷熷畯妯″潡錛氫富瑕佸畬鎴愪笌澶勭悊鍣ㄤ綋緋葷粨鏋勭浉鍏崇殑妯℃嫙錛屽畠鍙粏鍒嗕負錛欳PU鎸囦護妯℃嫙鎵ц妯″潡銆丮MU/CACHE妯℃嫙妯″潡銆丆oProcessor(鍙堢О鍗忓鐞嗗櫒)妯℃嫙妯″潡銆? </li> <li>CPU鎸囦護妯℃嫙鎵ц妯″潡錛氬叾涓昏浠誨姟鏄細褰撴ā鎷熺‖浠跺紑濮嬭繍琛岋紝瀹屾垚鎸囦護璇誨彇錛屾寚浠よ瘧鐮侊紝鎸囦護鎵ц鐨勫伐浣滐紱濡傛灉CPU鐘舵佸彂鐢熶簡鏀瑰彉錛岃皟鏁存寚浠ゅ拰鍚勭瀵勫瓨鍣ㄥ鹼紱鍦ㄦ寚浠ゆ墽琛屽墠錛岃皟鐢ㄥ紑鍙戞澘IO妯℃嫙妯″潡鐨刬o_do_cycle椹卞姩妯℃嫙鍚勭澶栬鐨勮涓恒備富瑕佺殑鏂囦歡鍖呮嫭錛? <ul><li>armemu.[ch]錛氭ā鎷烠PU鐨?綰ф祦姘寸嚎錛屽茍鍏蜂綋鎵ц鍚勭鎸囦護 </li></ul></li> <li>MMU/CACHE妯℃嫙妯″潡錛氭湰妯″潡鍒嗕負涓ら儴鍒嗭細涓庡叿浣揅PU綾誨瀷鏃犲叧鐨凪MU/CACHE妯℃嫙瀛愭ā鍧楀拰涓庡叿浣揅PU綾誨瀷鐩稿叧鐨勬ā鎷熷瓙妯″潡銆備富瑕佺殑浠誨姟鏄細鏍規嵁閰嶇疆鏂囦歡榪涜鍒濆鍖栵紱榪涜MMU/CACHE妯℃嫙錛涙墽琛屼笌MMU/CACHE鐩稿叧鐨勬寚浠ゃ傚鏋淐PU鎸囦護妯℃嫙妯″潡鎵ц璇誨啓瀛樺偍鍣ㄧ殑鎿嶄綔鎸囦護錛屽垯杞埌MMU/CACHE妯℃嫙妯″潡銆傚鏋滄ā鎷熺殑CPU綾誨瀷涓嶆敮鎸丮MU(濡侫RM7TDMI)錛屽垯SkyEye浼氭牴鎹皢璁塊棶鐨勫湴鍧錛岀洿鎺ヨ漿鍒癕EMORY妯℃嫙妯″潡鎴栧紑鍙戞澘IO妯℃嫙妯″潡錛涘惁鍒欒漿鍒板叿浣揅PU綾誨瀷鐩稿叧鐨勬ā鎷熷瓙妯″潡榪涜MMU/CACHE妯℃嫙銆備富瑕佺殑鏂囦歡鍖呮嫭涓ら儴鍒嗭細 <ul><li>涓庡叿浣揅PU綾誨瀷鏃犲叧鐨凪MU/CACHE妯℃嫙瀛愭ā鍧楋細 <ul><li>armvirt.c銆乤rmmmu.c銆乵mu/*.[ch] </li></ul></li><li>涓庡叿浣揅PU綾誨瀷鐩稿叧鐨凪MU/CACHE妯℃嫙瀛愭ā鍧楋細 <ul><li>sa_mmu.[ch]錛氭ā鎷焥trongarm鐨凪MU/CACHE </li><li>arm7100_mmu.[ch]錛氭ā鎷焌rm7[12]0T鐨凪MU/CACHE </li><li>xscale_copro.c錛氭ā鎷焫scale鐨凪MU/CACHE </li><li>arm920t_mmu.[ch]錛氭ā鎷焌rm920t鐨凪MU/CACHE </li></ul></li></ul></li> <li>CoProcessor(鍙堢О鍗忓鐞嗗櫒)妯℃嫙妯″潡錛氬叾涓昏浠誨姟鏄細瀹屾垚鍚勭鍗忓鐞嗗櫒鐨勫垵濮嬪寲錛涙墽琛屽悇縐嶅崗澶勭悊鍣ㄧ殑鎸囦護銆傚疄闄呬笂MMU/CACHE妯℃嫙妯″潡鐨勪竴閮ㄥ垎宸ヤ綔鏄ā鎷烝RM鐨勭15鍙峰崗澶勭悊鍣紝瀹冪殑涓昏鍔熻兘鏄厤緗甅MU/CACHE絳夈備富瑕佺殑鏂囦歡鍖呮嫭錛? <ul><li>armcopro.c錛氭牴鎹厤緗俊鎭紝瀹屾垚瀵笰RM鍗忓鐞嗗櫒鐨勫垵濮嬪寲閰嶇疆 </li><li>xscale_copro.c錛氭ā鎷焫scale鐨勫崗澶勭悊鍣╟p13銆乧p14銆乧p15 </li><li>sa_mmu.[ch]銆乤rm7100_mmu.[ch]錛氭ā鎷焥trongarm銆乪p7312鐨勫崗澶勭悊鍣╟p15 </li><li>arm920t_mmu.[ch]錛氭ā鎷焌rm920t鐨勫崗澶勭悊鍣╟p13銆乧p14銆乧p15 </li></ul></li> <li>IO妯℃嫙瀹忔ā鍧楋細鏈ā鍧楀寘鍚悇縐嶉昏緫琛屼負鍚勫紓鐨勫璁炬ā鎷燂紝涓昏鍖呮嫭緋葷粺IO妯℃嫙妯″潡銆佺綉緇滆姱鐗囨ā鎷熸ā鍧椼丩CD妯℃嫙妯″潡絳夈? </li> <li>緋葷粺IO妯℃嫙妯″潡錛氭湰妯″潡鐨勪富瑕佷換鍔″寘鎷細鏍規嵁閰嶇疆鏂囦歡榪涜IO鍜屽璁懼垵濮嬪寲錛涘畬鎴愬悇縐嶅閮↖O璁懼鐨勬ā鎷?濡傛椂閽熻鏁板櫒绱姞銆佷駭鐢熶腑鏂丩CD鏄劇ず絳?錛涜繘琛屽悇縐嶇壒瀹欳PU鍜屽璁劇殑IO瀵勫瓨鍣ㄨ鍐欑殑妯℃嫙銆傛湰妯″潡涓庡悇縐嶅叿浣撶殑寮鍙戞澘鍜孋PU鏈夊緢绱у瘑鐨勮仈緋伙紝涓昏鐨勬枃浠跺寘鎷細 <ul><li>armio.[ch]錛氬緩绔嬪湪鍚勪釜鐗瑰畾妯℃嫙瀛愭ā鍧椾笂鐨勬娊璞″眰妯″潡 </li><li>skyeye_mach_at91.c錛氭ā鎷烝tmel AT91X40寮鍙戞澘 </li><li>skyeye_mach_ep7312.c錛氭ā鎷焎irrus ep7312寮鍙戞澘 </li><li>skyeye_mach_pxa.c錛氭ā鎷焛ntel xscale lubbock寮鍙戞澘 </li><li>skyeye_mach_s3c4510b.c錛氭ā鎷熷熀浜巗amsung s3c4510b鐨勫紑鍙戞澘 </li><li>skyeye_mach_s3c44b0.c錛氭ā鎷熷熀浜巗amsung s3c44b0鐨勫紑鍙戞澘 </li><li>skyeye_mach_sa.c錛氭ā鎷熷熀浜巌ntel strongam鐨刟dsbitsy寮鍙戞澘 </li><li>skyeye_mach_lpc.c錛氭ā鎷熷熀浜巔hilip lpc2249鐨勫紑鍙戞澘 </li><li>skyeye_mach_sharp.c錛氭ā鎷熷熀浜巗harp lh7a400鐨勫紑鍙戞澘 </li><li>skyeye_mach_at91rm92.c錛氭ā鎷熷熀浜巃tmel at91rm9200鐨勫紑鍙戞澘 </li><li>skyeye_mach_cs89712.c錛氭ā鎷熷熀浜巆s89712鐨勫紑鍙戞澘 </li></ul></li> <li>緗戠粶鑺墖妯℃嫙妯″潡錛氭湰妯″潡涓昏瀹屾垚浜嗗8019AS緗戠粶鑺墖鐨勬ā鎷熷伐浣滐紝涓昏浠誨姟鍖呮嫭錛氭ā鎷?019AS鐨勬帶鍒墮昏緫銆?019AS涓庡叿浣撳紑鍙戞澘IO妯℃嫙妯″潡鐨勬帴鍙c佽櫄鎷熺綉緇滆緭鍏ヨ緭鍑烘帴鍙e鐞嗐備富瑕佺殑鏂囦歡鍖呮嫭錛? <ul><li>skyeye-ne2k.[ch]錛?019AS鐨勭‖浠墮昏緫妯℃嫙 </li><li>skyeye_mach_at91.c錛氶儴鍒嗗唴瀹瑰畬鎴愭帴鏀惰櫄鎷熺綉緇滆緭鍏ュ鐞嗘ā鎷? </li><li>skyeye_net_tuntap.c錛氶厤緗畉untap铏氭嫙緗戠粶鐨勬帴鍙? </li><li>skyeye_net_vnet.c錛氶厤緗畍net铏氭嫙緗戠粶鐨勬帴鍙? </li><li>vnet.c銆乮f_vnet.h錛氱嫭绔嬪瓨鍦ㄧ殑杞歡鍖咃紝vnet铏氭嫙緗戠粶鐨勫叿浣撳疄鐜?</li></ul></li> <li>LCD/TouchScreen妯℃嫙妯″潡錛氭湰妯″潡涓昏瀹屾垚LCD/TouchScreen鎺у埗閫昏緫鐨勬ā鎷燂紝鏄洰鍓嶅敮涓闇瑕丟UI鏀寔鐨勬ā鍧楋紝瀹冪殑涓昏浠誨姟鏄細閰嶇疆LCD/TouchScreen紜歡妯℃嫙銆佹ā鎷烲CD/TouchScreen鎺у埗閫昏緫銆傛湁鍏矻CD/TouchScreen妯℃嫙鐩稿叧鐨勬枃浠跺寘鎷細 <ul><li>skyeye_lcd.[ch]錛?LCD/TouchScreen閰嶇疆鍜孡CD/TouchScreen妯℃嫙鐨勯氱敤鎺у埗閫昏緫 </li><li>skyeye_mach_*.c錛氫笌寮鍙戞澘鐩稿叧LCD/TouchScreen鐨勬帶鍒墮昏緫鍜屼腑鏂鐞嗭紝鐩墠鏀寔ep7312鍜宲xa255鐨剆kyeye妯℃嫙銆?</li></ul></li> <li>MEMORY妯℃嫙妯″潡錛氭湰妯″潡涓庡叿浣撶殑CPU鍜屽紑鍙戞澘鏃犲叧錛屽畠鐨勪富瑕佷換鍔″寘鎷細鏍規嵁閰嶇疆鏂囦歡榪涜鍐呭瓨鍒濆鍖栵紝騫跺姞杞絙inary image鏂囦歡錛涜繘琛孯AM/ROM璇誨啓鐨勬ā鎷熴備富瑕佺殑鏂囦歡鍖呮嫭錛? <ul><li>armmem.[ch]錛氫富瑕佸畬鎴怰AM/ROM璇誨啓妯℃嫙 </li></ul></li> </ul> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td> <img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /> <br /> <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /> </td> </tr> </tbody> </table> <table class="no-print" cellspacing="0" cellpadding="0" align="right"> <tbody> <tr align="right"> <td> <img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /> <br /> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td valign="center"> <img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /> <br /> </td> <td valign="top" align="right"> <a class="fbox" > <b> <font color="#996699">鍥為〉棣?/font> </b> </a> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> <br /> <p> <a name="N10125"> <span id="hvzpftn" class="atitle">涓夛紟 SkyEye鍏抽敭鏁版嵁緇撴瀯</span> </a> </p> <p>SkyEye鐩爣妯℃嫙妯″潡涓紝鍚勭鏁版嵁緇撴瀯寰堝錛岀敤浜庢ā鎷熺‖浠舵諱綋鏈烘瀯瀹氫箟鐨勪富瑕佹暟鎹粨鏋勬湁skyeye_config_t鍜孉RMul_State銆傛妸鎻¤繖涓や釜鏁版嵁緇撴瀯錛屾槸鐞嗚В鏁翠釜skyeye妯℃嫙鐨勭‖浠朵綋緋葷粨鏋勭殑鍏抽敭錛屽湪榪欎袱涓暟鎹粨鏋勪笂榪涜榪涗竴姝ョ粏鍖栧垎鏋愶紝鍒欏彲鍏呭垎浜嗚Вskyeye鐨勭‖浠朵綋緋葷粨鏋勭粏鑺傘?/p> <p> <a name="N1012E"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">1. skyeye_config鏁版嵁緇撴瀯</font> </strong> </span> </a> </p> <p>skyeye_config_t緇撴瀯鎻忚堪浜哠kyEye妯℃嫙鐨勬暣涓‖浠剁殑闈欐侀厤緗紝瀹冪殑鍏蜂綋鍐呭濡備笅錛?/p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">typedef struct { cpu_config_t *cpu; machine_config_t *mach; mem_config_t mem; net_config_t net[NET_MAXNICNUM_PER_HOST]; uart_config_t uart; log_config_t log; ARMword start_address; ARMword no_lcd; char config_file[MAX_FILE_NAME]; } skyeye_config_t; </pre> </td> </tr> </tbody> </table> <br /> <p>skyeye_config_t緇撴瀯鍖呭惈浜咰PU鏍稿績閰嶇疆淇℃伅錛峜pu銆佸紑鍙戞澘閰嶇疆淇℃伅錛峬ach銆乵emory map 閰嶇疆淇℃伅-mem銆佺綉緇滆姱鐗囧拰緗戠粶鐜閰嶇疆淇℃伅錛峮et銆侀潰鍚戜富鏈虹殑杈撳叆杈撳嚭閰嶇疆淇℃伅錛島art銆佹祴璇曡褰曡緭鍑洪厤緗俊鎭紞log銆佹ā鎷熸墽琛岃搗濮嬪湴鍧閰嶇疆淇℃伅錛峴tart_address銆佹槸鍚︽湁LCD錛峮o_lcd鍜岃褰曟枃浠跺悕淇℃伅錛峜onfig_file銆傝繖閲岄潰涓庢ā鎷熺‖浠剁揣瀵嗙浉鍏崇殑鏄疌PU鏍稿績閰嶇疆淇℃伅銆佸紑鍙戞澘閰嶇疆淇℃伅銆乵emory map 閰嶇疆淇℃伅銆佺綉緇滆姱鐗囧拰緗戠粶鐜銆丩CD閰嶇疆淇℃伅銆?/p> <p> <a name="N1013E"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">2. cpu_config_t鏁版嵁緇撴瀯 </font> </strong> </span> </a> </p> <p>鎻忚堪CPU鏍稿績鐨勭粨鏋勫畾涔夊湪cpu_config_t鏁版嵁緇撴瀯涓紝鍏蜂綋鍐呭濡備笅錛?/p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">typedef struct { const char *cpu_arch_name; const char *cpu_name; ARMword cpu_val; ARMword cpu_mask; ARMword cachetype; } cpu_config_t; </pre> </td> </tr> </tbody> </table> <br /> <p>鍏跺叿浣撴弿榪拌В閲婂涓嬶細</p> <ul> <li>cpu_arch_name錛氭弿榪頒簡arm cpu浣撶郴緇撴瀯鐨勫悕縐幫紝鏍規嵁ARM CPU鍐呮牳鐨勫彂灞曪紝鍏朵綋緋葷粨鏋勫凡緇忎粠Version1鍙戝睍鍒頒簡Version5錛屽叾鏈鏂扮増鏈負Version5TE銆傝孖ntel鍦ㄥ叾鍩虹涓婂張榪涜浜嗚嚜宸辯殑鎵╁睍浣撶郴緇撴瀯StrongARM(鍩轟簬ARM version4)鍜孹Scale(鍩轟簬ARM version5)銆傜洰鍓峉kyEye鏀寔"armv3"銆?armv4"銆?arm5"銆?arm5TE"銆?xscale"鐨勪綋緋葷粨鏋勩? </li> <li>cpu_name錛氭弿榪頒簡鍏蜂綋鐨刟rm cpu鍚嶇О錛屽arm7TDMI銆丄RM720T銆丼trongARM1100/1110銆乆Scale PXA2xx絳夈傜洰鍓峉kyEye鏀寔"arm710"銆?arm7TDMI"銆?arm720t"銆?sa1100"銆?xscale"絳夈? </li> <li>cpu_val錛氳繖鏄敤鏉ヨ〃紺簆rocess id錛屼竴鑸岃█姣忕鍏蜂綋鐨凙RM CPU 閮芥湁涓涓狪D錛屾洿璇︾粏鐨勬弿榪板彲鍙傝冦夾RM Architecture Reference Manual銆嬬殑B2-6銆傛搷浣滅郴緇熸牴鎹繖涓狪D鏉ヨ瘑鍒玞pu鐨勭被鍨嬪茍鎵ц鐩稿叧閰嶇疆銆? </li> <li>cpu_mask錛氳繖鏄敤鏉ョ‘瀹歱rocess id鐨勫睆钄戒綅鏁般傜敱浜巔rocess id涓殑鏌愪簺浣嶇敤浜庡叾瀹冪洰鐨勶紝騫朵笉鐢ㄦ潵琛ㄧず鍏蜂綋鐨凜PU綾誨瀷銆傚疄闄呬笂鎿嶄綔緋葷粺鍦ㄧ‘瀹欳PU綾誨瀷鏃剁敤鍒扮殑鏁板瓧鏄痗pu_val&cpu_mask銆? </li> <li>cache_type錛氬熀浜嶢RM鍐呮牳鐨凜PU縐嶇被綣佸錛屼絾濡傛灉鏍規嵁CACHE綾誨瀷鏉ュ垎錛屽彲鍒嗕負涓夌錛氭棤CACHE綾誨瀷銆佺粺涓緇撴瀯CACHE綾誨瀷鍜屽搱浣涚粨鏋凜ACHE綾誨瀷銆係kyEye鏀寔榪欎笁縐嶇被鍨嬨傜粺涓緇撴瀯CACHE綾誨瀷鐨凜PU涓紝鎸囦護鍜屾暟鎹叡鐢ㄥ悓涓涓狢ACHE錛涜屽搱浣涚粨鏋凜ACHE綾誨瀷鐨凜PU涓紝瀛樺湪鐩鎬簰鐙珛鐨勬暟鎹瓹ACHE鍜屾寚浠ACHE銆傛棤CACHE鐨凜PU灝哄姣旀湁CACHE鐨凜PU灝哄瑕佸皬寰堝錛屾垚鏈笂鏈変紭鍔匡紝浣嗗湪鎬ц兘涓婅浣庝簬鏈塁ACHE鐨凜PU銆?</li> </ul> <p>SkyEye瀹氫箟浜嗕竴涓猚pu_config_t緇撴瀯鐨勬暟緇?浣嶄簬skyeye_option.c涓?錛岀粨鏋勫涓嬶細</p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">cpu_config_t arm_cpu[] = { {"armv3", "arm710", 0x41007100, 0xfff8ff00, DATACACHE}, {"armv3", "arm7tdmi", 0x41007700, 0xfff8ff00, NONCACHE}, {"armv4", "arm720t", 0x41807200, 0xffffff00, DATACACHE}, {"armv4", "sa1110", 0x6901b110, 0xfffffff0, INSTCACHE}, {"armv4", "sa1100", 0x4401a100, 0xffffffe0, INSTCACHE}, {"xscale", "xscale", 0x69052100, 0xfffffff0, INSTCACHE} }; </pre> </td> </tr> </tbody> </table> <br /> <p> <a name="N10167"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">3. machine_config_t鏁版嵁緇撴瀯</font> </strong> </span> </a> </p> <p>machine_config_t緇撴瀯鎻忚堪浜嗗紑鍙戞澘閰嶇疆淇℃伅錛屽畾涔夊湪skyeye_config.h涓紝鍏蜂綋鍐呭濡備笅錛?/p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">typedef struct machine_config{ const char *machine_name; void (*mach_init)(ARMul_State *state,\ struct machine_config *this_mach); void (*mach_io_do_cycle)(ARMul_State *state); void (*mach_io_reset)(ARMul_State *state); void (*mach_update_int)(ARMul_State *state); ARMword (*mach_io_read_byte)(ARMul_State *state, ARMword addr); void (*mach_io_write_byte)(ARMul_State *state, ARMword addr,\ ARMword data); ARMword (*mach_io_read_halfword)(ARMul_State *state, \ ARMword addr); void (*mach_io_write_halfword)(ARMul_State *state, ARMword addr,\ ARMword data); ARMword (*mach_io_read_word)(ARMul_State *state, ARMword addr); void (*mach_io_write_word)(ARMul_State *state, ARMword addr,\ ARMword data);} machine_config_t; }machine_config_t </pre> </td> </tr> </tbody> </table> <br /> <p>鍏跺叿浣撴弿榪拌В閲婂涓嬶細</p> <ul> <li>machine_name錛氬紑鍙戞澘鐨勫悕縐般傜洰鍓嶆敮鎸佺殑寮鍙戞澘鏈夛細atmel鐨勫熀浜嶢T91X40 CPU鐨勫紑鍙戞澘銆佸熀浜嶤irrus Logic ep7312鐨勫紑鍙戞澘銆佸熀浜嶪ntel StrongARM鐨刟dsbitsy寮鍙戞澘銆佸熀浜嶪ntel XScale PXA25x鐨凩ubbock寮鍙戞澘絳夈? </li> <li>mach_init錛氬紑鍙戞澘鍒濆鍖栭厤緗嚱鏁幫紝涓昏鍒濆鍖栦竴浜涗笌寮鍙戞澘鐩稿叧鐨勫彉閲忓拰閰嶇疆mach_io_do_cycyle銆乵ach_io_read/write_byte/halfword/word鍑芥暟銆俶ach_init鍑芥暟琚玾rappe.c涓殑init鍑芥暟璋冪敤銆? </li> <li>mach_io_reset錛氬紑鍙戞澘榪愯鍒濆鍖栧嚱鏁般備富瑕佸垵濮嬪寲涓庡紑鍙戞澘鐩稿叧鐨勫彉閲忋? </li> <li>mach_update_int 錛氬畾涔変簡涓庡紑鍙戞澘鐩稿叧鐨勪腑鏂鐞嗗嚱鏁般? </li> <li>mach_io_read/write_*錛氬垎鍒畾涔変笌寮鍙戞澘鐩稿叧鐨処/O鍑芥暟銆?</li> </ul> <p>SkyEye瀹氫箟浜嗕竴涓猰achine_config_t緇撴瀯鐨勬暟緇?浣嶄簬skyeye_option.c涓?錛岀粨鏋勫涓嬶細</p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">machine_config_t arm_machines[] = { {"at91", at91_mach_init, NULL, ......}, {"ep7312", ep7312_mach_init, NULL, ......}, {"s3c4510b", s3c4510b_mach_init, NULL, ......}, {"s3c44b0", s3c44b0_mach_init, NULL, ......}, {"sa1100", sa1100_mach_init, NULL, ......}, {"pxa_lubbock", pxa_mach_init, NULL, ......} 鈥︹? }; </pre> </td> </tr> </tbody> </table> <br /> <p> <a name="N10190"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">4. mem_config_t鍜宮em_bank_t鏁版嵁緇撴瀯</font> </strong> </span> </a> </p> <p>SkyEye鐨勫唴瀛樻槧灝勯厤緗粨鏋勭敱mem_config_t鍜宮em_bank_t鏁版嵁緇撴瀯鎻忚堪銆侫RM浣撶郴緇撴瀯涓巟86浣撶郴緇撴瀯鍦↖/O鍐呭瓨鏄犲皠涓婃湁鎵涓嶅悓銆俋86浣撶郴緇撴瀯鍙互浣跨敤I/O绔彛鏉ユ槧灝勫閮ㄨ澶囦笂鐨勫瘎瀛樺櫒鍜岃澶囧唴瀛橈紱鑰孉RM浣撶郴緇撴瀯鏄氳繃鏍囧噯鐨刴emory鍦板潃絀洪棿鏉ユ槧灝勫璁劇殑瀵勫瓨鍣ㄦ垨璁懼鍐呭瓨錛岃屼笖鍦ㄩ氬父鎯呭喌涓嬶紝I/O鍦板潃絀洪棿涓嶄細閫氳繃CACHE榪涜緙撳瓨銆傜洰鍓峉kyEye鏀寔涓夌綾誨瀷鐨勫唴瀛樻槧灝勶細ROM SPACE(鍙)銆丷AM SPACE(鍙鍐?銆両O SPACE(鍙鍐欙紝涓庣壒瀹氬紑鍙戞澘鐩稿叧)銆係kyEye瀵硅繖涓夌綾誨瀷鐨勫唴瀛樻槧灝勭殑澶勭悊鏄笉鍚岀殑銆傚湪SkyEye涓妸涓孌佃繛緇殑鍦板潃絀洪棿縐頒負涓涓猰em_bank錛屽涓猰em_bank涔嬮棿涓嶄竴瀹氳繛緇俶em_config_t鏁版嵁緇撴瀯鐨勫叿浣撳唴瀹瑰涓嬶細</p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">typedef struct { int bank_num; int current_num; mem_bank_t mem_banks[MAX_BANK]; } mem_config_t; </pre> </td> </tr> </tbody> </table> <br /> <p>鍏朵腑 bank_num鐢ㄦ潵璁板綍褰撳墠鐨勭‖浠墮厤緗腑鐨刴em_bank鎬繪暟錛宑urrent_num鏄敤浜庤В鏋恠kyeye.conf涓殑mem_bank閰嶇疆淇℃伅鐨勪竴涓緟鍔╁彉閲忥紝mem_banks鏁扮粍鍏蜂綋璁板綍浜嗘瘡涓猰em_bank鐨勭被鍨嬪拰鐩稿叧鐨勮闂嚱鏁般俶em_bank_t鏁版嵁緇撴瀯鐨勫叿浣撳唴瀹瑰涓嬶細</p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">typedef struct mem_bank_t { ARMword (*read_byte)(ARMul_State *state, ARMword addr); void (*write_byte)(ARMul_State *state, ARMword addr, ARMword data); ARMword (*read_halfword)(ARMul_State *state, ARMword addr); void(*write_halfword)(ARMul_State *state, ARMword addr, ARMword data); ARMword (*read_word)(ARMul_State *state, ARMword addr); void (*write_word)(ARMul_State *state, ARMword addr, ARMword data); unsigned long addr, len; char filename[MAX_STR]; unsigned type; } mem_bank_t; </pre> </td> </tr> </tbody> </table> <br /> <p>鍏朵腑鐨剅ead/write_* 鍑芥暟鎸囬拡鍒嗗埆瀵瑰簲浜嗕笉鍚岀被鍨嬪唴瀛樻槧灝勭殑璁塊棶鍑芥暟錛沘ddr琛ㄧずmem_bank鐨勮搗濮嬪湴鍧錛沴en琛ㄧずmem_bank_鐨勫ぇ灝忥紱filename鏄痓inary image鏂囦歡鍚嶏紱type琛ㄧずmem_bank鐨勭被鍨嬨傚嚱鏁版寚閽堣祴鍊肩瓑閰嶇疆榪囩▼鐢眘kyeye_options.c涓殑鍑芥暟do_mem_bank_option瀹屾垚銆傚鏋滃湪skyeye.conf涓瓨鍦╞inary image鏂囦歡鍚嶏紝鍒檇o_mem_bank_option鍑芥暟浼氭妸鏂囦歡鍐呭璇誨叆鍒板搴旂殑mem_bank涓?/p> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td> <img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /> <br /> <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /> </td> </tr> </tbody> </table> <table class="no-print" cellspacing="0" cellpadding="0" align="right"> <tbody> <tr align="right"> <td> <img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /> <br /> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td valign="center"> <img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /> <br /> </td> <td valign="top" align="right"> <a class="fbox" > <b> <font color="#996699">鍥為〉棣?/font> </b> </a> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> <br /> <p> <a name="N101A7"> <span id="hvzpftn" class="atitle">5. net_config_t鏁版嵁緇撴瀯</span> </a> </p> <p>SkyEye鏀寔緗戠粶妯℃嫙錛岀洰鍓嶆弿榪扮綉緇滈厤緗殑鏁版嵁緇撴瀯鏄痭et_config_t錛屽畠鐨勫叿浣撳唴瀹瑰涓嬶細</p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">typedef struct { int state; unsigned char macaddr[6]; unsigned char hostip[4]; int ethmod; int fd; int hubindex; int (*net_init)(int index, unsigned char *macaddr, unsigned char *hostip); unsigned char (*net_output)(int if_fd, ARMul_State *state,\ unsigned char startpage,unsigned short packet_len); void (*net_input)(int if_fd, ARMul_State *state); }net_config_t; </pre> </td> </tr> </tbody> </table> <br /> <p>鍏朵腑鍚勪釜field鐨勫惈涔夋弿榪板涓嬶細</p> <ul> <li>state鏄竴涓竷灝斿彉閲忥紝瀹冧負1琛ㄧず緗戠粶鑺墖宸ヤ綔錛屽畠涓?琛ㄧず緗戠粶鑺墖涓嶅伐浣溿? </li> <li>macaddr鐢ㄦ潵淇濆瓨緗戠粶鑺墖鐨刴ac鍦板潃 </li> <li>hostip鐢ㄦ潵淇濆瓨涓繪満涓婁笌SkyEye榪涜緗戠粶閫氫俊鎵鐢ㄧ殑IP鍦板潃 </li> <li>ethmod錛氳〃紺轟笌涓繪満鐨勬ā鎷熺綉緇滀氦浜掔殑鏂瑰紡錛涚洰鍓嶅畾涔夌殑浜や簰鏂瑰紡鏈夛細 <ul><li>#define NET_MOD_LINUX 0 </li><li>#define NET_MOD_TUNTAP 1 </li><li>#define NET_MOD_WIN 2 </li><li>#define NET_MOD_VNET 3 </li></ul></li> </ul> <p>鐩墠鍙互浣跨敤鐨勪袱縐嶆柟寮忔湁 NET_MOD_VNET(涓嶴kyEye鎻愪緵鐨剉net.o鍐呮牳妯″潡榪涜緗戠粶浜や簰)鍜?NET_MOD_TUNTAP(涓巐inux鐨則un.on鍐呮牳妯″潡榪涜緗戠粶浜や簰)銆?/p> <ul> <li>fd錛氳〃紺篠kyEye鐢ㄤ簬涓庝富鏈鴻繘琛岀綉緇滀氦浜掔殑璁懼鏂囦歡鎻忚堪絎︺? </li> <li>hubindex錛氱敤浜嶯ET_MOD_VNET鏂瑰紡錛岃〃紺烘墍澶勭殑鏄鍑犱釜铏氭嫙hub緗戞銆傚鏋滃畠鐨勫兼槸i錛屽垯澶勪簬絎琲涓猦ub緗戞涓? </li> <li>net_init/net_input/net_output錛氳繖涓変釜鍑芥暟涓庡叿浣撶殑妯℃嫙緗戠粶浜や簰鏂瑰紡鏈夊叧錛屽垎鍒畬鎴愬垵濮嬪寲鎿嶄綔鍜屼笌涓繪満緗戠粶鐨勮緭鍏ヨ緭鍑烘搷浣溿傜浉鍏崇殑瀹炵幇鍦ㄦ枃浠秙kyeye_net_*.c涓?</li> </ul> <p>鏈夊叧8019AS妯℃嫙鑺墖(NE2000鍏煎)鐨勫叿浣撻厤緗笌瀹炵幇浣嶄簬鏂囦歡skyeye-ne2k.[ch]涓傛湁鍏崇綉緇滄ā鎷熺殑鍏蜂綋瀹炵幇鍙弬鑰冮敊璇紒鏈壘鍒板紩鐢ㄦ簮銆傝妭銆?/p> <p> <a name="N101E7"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">6. ARMul_State鏁版嵁緇撴瀯</font> </strong> </span> </a> </p> <p>涓婇潰璁茶堪鐨勬槸涓嶴kyEye鐨勭‖浠墮厤緗浉鍏崇殑鏁版嵁緇撴瀯錛屽彲浠ョ悊瑙d負涓縐嶉潤鎬佺‖浠墮厤緗殑鏁版嵁緇撴瀯錛岃繖浜涙暟鎹粨鏋勪腑鐨勫煙鍩烘湰涓嶉殢鐫SkyEye妯℃嫙紜歡鐨勮繍琛岃屾敼鍙樸傝孉RMul_State鎻忚堪鐨勬槸涓縐嶅姩鎬佺‖浠墮厤緗殑鏁版嵁緇撴瀯錛屽畠淇濆瓨浜嗛殢鐫SkyEye妯℃嫙紜歡鐨勮繍琛岃屾椂鍒繪敼鍙樼殑紜歡鏁版嵁銆傜敱浜嶢RMul_State涓殑鍩熸暟閲忕箒澶氾紝澶т綋鍒嗕負</p> <ul> <li>涓嶤PU妯℃嫙鐩稿叧鐨勫煙 </li> <li>涓庡崗澶勭悊鍣ㄦā鎷熺浉鍏崇殑鍩? </li> <li>涓庡唴瀛樺拰MMU/CACHE鐩稿叧鐨勫煙 <ul><li>涓庣粺璁$浉鍏崇殑鍩? </li><li>涓庡叿浣撳紑鍙戞澘鐩稿叧鐨刬o閮ㄥ垎 </li></ul></li> </ul> <p>榪欓噷鍙弿榪板叾涓叧閿殑閮ㄥ垎錛?/p> <ul> <li>涓嶤PU妯℃嫙鐩稿叧鐨勫煙 <ul><li>ARMword Reg[16]錛欳PU褰撳墠妯″紡涓嬬殑瀵勫瓨鍣ㄥ? </li><li>ARMword RegBank[7][16]錛欳PU鎵鏈変竷縐嶆ā寮忎笅鐨勫瘎瀛樺櫒鍊? </li><li>ARMword Cpsr錛欳PU鐨勫綋鍓嶇▼搴忕姸鎬佸瘎瀛樺櫒 </li><li>ARMword Spsr[7]錛欳PU鎵鏈変竷縐嶆ā寮忎笅鐨勭▼搴忕姸鎬佷繚瀛樺瘎瀛樺櫒 </li><li>ARMdword Accumulator錛?0bit鐨勭瘡鍔犲瘎瀛樺櫒錛岀洰鍓嶇敤浜巟scale浣撶郴緇撴瀯涓? </li><li>ARMword NFlag, ZFlag, CFlag, VFlag, IFFlags, Sflag,TFlag錛氬悇縐嶇姸鎬佷綅 </li><li>ARMword Bank錛欳PU瀵瑰簲妯″紡瀵勫瓨鍣ㄧ粍鐨勭儲寮曞? </li><li>ARMword Mode錛欳PU妯″紡绱㈠紩鍊? </li><li>ARMword instr, pc錛歱c鏄洰鍓嶆鍦ㄦ墽琛岀殑紼嬪簭鎸囬拡錛宨nstr鏄痯c鎵鎸囧湴鍧鐨勫唴瀹? </li><li>ARMword loaded, decoded錛歭oaded鏄鍦ㄥ姞杞界殑鎸囦護錛宒ecoded鏄鍦ㄨВ鐮佺殑鎸囦護 </li><li>unsigned NfiqSig錛欶IQ淇″彿 </li><li>unsigned NirqSig錛欼RQ淇″彿 </li></ul></li> <li>涓庡崗澶勭悊鍣ㄦā鎷熺浉鍏崇殑鍩? <ul><li>ARMul_CPInits *CPInit[16]錛?6涓崗澶勭悊鍣ㄧ殑鍒濆鍖栧嚱鏁? </li><li>ARMul_CPExits *CPExit[16]錛?6涓崗澶勭悊鍣ㄧ殑閫鍑哄嚱鏁? </li><li>ARMul_LDCs *LDC[16]錛?6涓崗澶勭悊鍣ㄧ殑LDC鎸囦護鍑芥暟 </li><li>ARMul_STCs *STC[16]錛?6涓崗澶勭悊鍣ㄧ殑STC鎸囦護鍑芥暟 </li><li>ARMul_MRCs *MRC[16]錛?6涓崗澶勭悊鍣ㄧ殑MRC鎸囦護鍑芥暟 </li><li>ARMul_MCRs *MCR[16]錛?6涓崗澶勭悊鍣ㄧ殑MCR鎸囦護鍑芥暟 </li><li>ARMul_CDPs *CDP[16]錛?6涓崗澶勭悊鍣ㄧ殑CDP鎸囦護鍑芥暟 </li><li>ARMul_CPReads *CPRead[16]錛?6涓崗澶勭悊鍣ㄧ殑璇籆P瀵勫瓨鍣ㄥ嚱鏁? </li><li>ARMul_CPWrites *CPWrite[16]錛?6涓崗澶勭悊鍣ㄧ殑鍐機P瀵勫瓨鍣ㄥ嚱鏁? </li><li>unsigned char *CPData[16]錛?6涓崗澶勭悊鍣ㄧ殑鏁版嵁鎸囬拡 </li><li>ARMword CP14R0_CCD錛氬湪xscale浣撶郴緇撴瀯鐨凜P14鍗忓鐞嗗櫒涓紝鐢ㄤ簬緇熻鏃墮挓鍛ㄦ湡 </li></ul></li> <li>涓庡唴瀛樺拰MMU/CACHE鐩稿叧鐨勫煙 <ul><li>mmu_state_t mmu錛歮mu/cache鐨勬暟鎹粨鏋勶紝鍦╝rmmmu.h涓畾涔夛紝璇﹁В璇峰弬鑰?SkyEye鐨凪MU/CACHE鍜孧emory妯℃嫙瀹炵幇"涓鑺? </li><li>mem_state_t mem錛歮emory鐨勬暟鎹粨鏋勶紝鍦╝rmmem.h涓畾涔夛紝璇﹁В璇峰弬鑰?SkyEye鐨凪MU/CACHE鍜孧emory妯℃嫙瀹炵幇"涓鑺?</li></ul></li> <li>涓庣粺璁$浉鍏崇殑鍩? <ul><li>unsigned long NumScycles, NumNcycles, NumIcycles, NumCcycles, NumFcycles錛氱敤浜庣粺璁′笉鍚岀姸鎬佷笅鐨勫懆鏈熸暟 </li><li>unsigned long NumInstrs錛氬綋鍓嶆墽琛岀殑鎸囦護鏁?</li></ul></li> </ul> <p>鍏跺畠涓庣壒瀹欳PU鍜屽紑鍙戞澘鐩稿叧鐨勫悇縐峣o瀵勫瓨鍣ㄧ殑瀹氫箟鏀懼埌浜嗗悇涓笌寮鍙戞澘鐩稿叧鐨勬枃浠朵腑錛屽skyeye_mach_at91/ep7312/pxa/sa.c絳夊錛岃瑙h鍙傝?SkyEye鐨勫紑鍙戞澘IO妯℃嫙瀹炵幇"銆?/p> <p>涓庡叿浣撳紑鍙戞澘鐩稿叧鐨刬o閮ㄥ垎 <br />ARMul_io mach_io; <br />鍏朵腑ARMul_io鐨勭粨鏋勭洰鍓嶄負 </p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">struct ARMul_io { ARMword *instr; //to display the current interrupt state ARMword *net_flag;//to judge if network is enabled ARMword *net_int; //netcard interrupt ARMword *lcd_is_enable; //turn lcd on? ARMword *lcd_addr_begin; //the begining display mem addr of lcd ARMword *lcd_addr_end; //the end display mem addr of lcd }; </pre> </td> </tr> </tbody> </table> <br /> <p>instr鏄褰曞綋鍓嶇殑涓柇鐘舵?<br />net_flag鍒ゆ柇緗戠粶閫夐」鏄惁鎵撳紑 <br />net_int鐢ㄦ潵璁板綍緗戠粶涓柇鍙?<br />lcd_is_enable鏉ヨ褰昄CD鏄惁浣胯兘 <br />lcd_addr_begin璁板綍lcd鏄懼瓨鐨勮搗濮嬩綅緗?<br />lcd_addr_end璁板綍鏄懼瓨鐨勭粨鏉熶綅緗?</p> <p> <a name="N1028F"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">7錛?SkyEye閫昏緫鎵ц嫻佺▼</font> </strong> </span> </a> </p> <p>浜嗚ВSkEye鐨勬諱綋閫昏緫鎵ц嫻佺▼錛屽浜嗚В紜歡鐨勪綋緋葷粨鏋勫拰杞歡/紜歡鐨勬帴鍙f湁杈冨ぇ甯姪銆備粠鎬諱綋涓婏紝鍙妸SkyEye閫昏緫鎵ц嫻佺▼鎸夋墽琛岀殑鏃墮棿欏哄簭鍒掑垎涓轟袱涓樁孌碉細</p> <p>1. SkyEye鍔犺澆涓庨厤緗鐞嗚繃紼?/p> <p>2. SkyEye妯℃嫙鎵ц榪囩▼</p> <p>絎竴闃舵涓虹浜岄樁孌電殑姝e父鎵ц鍋氫簡鍏呭垎鐨勫噯澶囷紝鍏蜂綋鐨勬墽琛屽唴瀹瑰寘鎷紱</p> <ul> <li>璇誨叆甯﹁皟璇曚俊鎭殑鎿嶄綔緋葷粺鎵ц鏂囦歡(鐢盙DB瀹屾垚) </li> <li>鏍規嵁閰嶇疆鏂囦歡skyeye.conf鐨勪俊鎭厤緗ā鎷熺‖浠? </li> <li>濡傛灉skyeye.conf涓瓨鍦╞inary image鏍煎紡鏂囦歡錛屽姞杞借繖浜涙枃浠? </li> <li>鏍規嵁鎿嶄綔緋葷粺鎵ц鏂囦歡鐨勫唴瀹瑰姞杞借皟璇曚俊鎭?鐢盙DB瀹屾垚) </li> <li>鏍規嵁鎿嶄綔緋葷粺鎵ц鏂囦歡淇℃伅鍔犺澆鎵ц鏂囦歡涓殑浠g爜孌靛拰鏁版嵁孌電瓑(鐢盙DB瀹屾垚) </li> <li>鎵ц鐩稿叧妯℃嫙紜歡鐨勫垵濮嬪寲鍑芥暟 </li> </ul> <p>鍏朵腑鎬葷殑鍒濆鍖栧嚱鏁版槸浣嶄簬wrapper.c涓殑init鍑芥暟錛屽畠璋冪敤濡備笅鍑芥暟瀹屾垚鏁翠釜妯℃嫙紜歡鐨勫垵濮嬪寲宸ヤ綔錛?/p> <ol> <li>ARMul_EmulateInit錛氬垵濮嬪寲涓庢墽琛屾満鍣ㄦ寚浠ょ浉鍏崇殑鏁版嵁ARMul_ImmedTable鍜孉RMul_BitList </li> <li>ARMul_NewState錛氬垵濮嬪寲緇撴瀯涓篈RMul_State鐨勫叏灞鍙橀噺state </li> <li>skyeye_option_init錛氬垵濮嬪寲鍏ㄥ眬鍙橀噺skyeye_config </li> <li>skyeye_read_config錛氳鍙栭厤緗枃浠秙kyeye.conf騫舵牴鎹厤緗枃浠惰繘琛岀浉鍏抽厤緗? </li> <li>nic_init錛氭牴鎹厤緗枃浠朵俊鎭厤緗綉緇滄ā鎷熺幆澧? </li> <li>skyeye_config.mach->mach_init(state, skyeye_config.mach)錛氭牴鎹厤緗枃浠朵俊鎭厤緗瓹PU鍜屽紑鍙戞澘鐨勭浉鍏矷/O鍑芥暟 </li> <li>ARMul_Reset(state)錛氳繘涓姝ュ垵濮嬪寲鍏ㄥ眬鍙橀噺state錛屽茍鏍規嵁閰嶇疆鏂囦歡淇℃伅閰嶇疆MMU/CACHE鍜宮emory </li> <li>io_reset錛氬垵濮嬪寲鐗瑰畾CPU鍜屽紑鍙戞澘鐨処O瀵勫瓨鍣?</li> </ol> <p>絎簩闃舵鏍規嵁鐗瑰畾紜歡鐨勯厤緗弿榪幫紝寮濮嬫墽琛岀壒瀹氱‖浠舵ā鎷熷鐞嗐傛暣涓繃紼嬪洿緇旵PU鎵ц鎸囦護灞曞紑錛屾牴鎹ā鎷熺‖浠跺彲鍒嗕負濡備笅鍑犱釜闃舵錛?/p> <ul> <li>CPU鎵ц涓夌駭嫻佹按綰垮鐞嗭紝鍗沖彇鎸囦護銆佽瘧鐮併佹墽琛屾寚浠わ紝涓昏澶勭悊闆嗕腑鍦╝rmemu.c涓殑ARMul_Emulate32/26鍑芥暟銆? </li> <li>鍦ㄦ墽琛屾寚浠よ繃紼嬩腑錛屽鏋滄湁涓柇浜х敓錛孋PU璋冩暣榪愯妯″紡錛屽茍鏀瑰彉鎸囦護鎸囧悜涓柇鍚戦噺璧峰鍦板潃錛屼富瑕佸鐞嗛泦涓湪arminit.c涓殑鍑芥暟ARMul_Abort鍑芥暟銆乤rmemu.c涓殑ARMul_Emulate32/26鍑芥暟銆? </li> <li>鍦ㄦ墽琛屾寚浠よ繃紼嬩腑錛屽鏋滄寚浠ゆ槸鍗忓鐞嗗櫒鎸囦護錛屽垯鎶婃寚浠よ漿浜ょ粰鍗忓鐞嗗櫒妯℃嫙妯″潡榪涜榪涗竴姝ュ鐞嗭紝涓昏澶勭悊闆嗕腑鍦ㄦ枃浠禷rmcopro.c銆亁scale_copro.c絳夋枃浠朵腑銆? </li> <li>鍦ㄦ墽琛屾寚浠よ繃紼嬩腑錛屽鏋滃彂鐜版寚浠ゆ槸璁塊棶鍐呭瓨/IO鐨勬寚浠わ紝鍒欐牴鎹甋kyEye妯℃嫙鐨勭壒瀹欳PU鏄惁鏈塎MU/CACHE鍒嗗埆榪涜澶勭悊錛? <ul><li>濡傛灉CPU鏈塎MU/CACHE錛屽垯榪涘叆MMU/CACHE妯℃嫙妯″潡錛屽鏋滆繕闇瑕佸唴瀛樿闂紝鍒欒繘鍏emory妯℃嫙妯″潡澶勭悊銆傚鏋滆闂湴鍧灞炰簬IO鍦板潃絀洪棿錛屽垯杞埌鐗瑰畾CPU鍜屽紑鍙戞澘鐨処O妯℃嫙妯″潡澶勭悊銆? </li><li>濡傛灉CPU娌℃湁MMU/CACHE錛屽垯鐩存帴榪涘叆memory妯℃嫙妯″潡澶勭悊銆傚鏋滆闂湴鍧灞炰簬IO鍦板潃絀洪棿錛屽垯杞埌鐗瑰畾CPU鍜屽紑鍙戞澘鐨処O妯℃嫙妯″潡澶勭悊銆?</li></ul></li> </ul> <p>澶勭悊璁塊棶鍐呭瓨/IO鐨勬寚浠ょ殑鐩稿叧鍐呭闆嗕腑鍦╝rmvirt.c錛涗笌MMU/CACHE澶勭悊銆乺ead/write buffer(鐢ㄤ簬StrongARM鍜孹Scale浣撶郴緇撴瀯鐨勬ā鎷?澶勭悊鐩稿叧鐨勬枃浠跺寘鎷琣rmmmu.[ch]銆乵mu/*.[ch]錛涗笌璁塊棶memory妯℃嫙鏈夊叧鐨勫唴瀹逛富瑕侀泦涓湪armmem.[ch]涓?/p> <ul> <li>濡傛灉瑕佹墽琛孖O鍦板潃璁塊棶錛岃繖鍏蜂綋鐨勫鐞嗚繃紼嬬敱鐗瑰畾CPU鍜屽紑鍙戞澘IO妯℃嫙妯″潡涓殑read/write_byte/halfword/word鍑芥暟澶勭悊銆? <ul><li>涓轟簡妯℃嫙澶栬鐨勬墽琛岋紝鍦ㄦ墽琛屾寚浠よ繃紼嬬殑姣忎竴涓懆鏈燂紝浼氭墽琛屼竴涓猧o_do_cycle鍑芥暟錛屽畠浼氳皟鐢ㄧ壒瀹欳PU鍜屽紑鍙戞澘鐨処O妯℃嫙妯″潡涓殑*_io_do_cycle鍑芥暟錛屽畬鎴愬鏃墮挓銆佺綉緇滆緭鍏ヨ緭鍑恒乁ART杈撳叆杈撳嚭絳夌殑澶勭悊錛屽茍鏍規嵁鏉′歡浜х敓涓柇淇″彿銆?</li></ul></li> </ul> <p>涓嬩竴綃囨枃绔犲皢璁ㄨ CPU/寮鍙戞澘浠跨湡銆?/p> <br /> <br /> <p> <a name="resources"> <span id="hvzpftn" class="atitle">鍙傝冭祫鏂?</span> </a> </p> <ul> <li>鏈枃鑺傝嚜 <a ><font color="#996699">銆婃簮鐮佸紑鏀劇殑宓屽叆寮忕郴緇熻蔣浠跺垎鏋愪笌瀹炶返鈥斺斿熀浜嶴kyEye鍜孉RM寮鍙戝鉤鍙般?/font></a>涓涔︾殑絎笁绔狅紝瀵?SkyEye 寮婧愰」鐩劅鍏磋叮鐨勫彲浠ラ槄璇繪湰涔︺?<br /><br /><br /></li> <li> <a > <font color="#996699">SkyEye紜歡妯℃嫙騫沖彴, 絎竴閮ㄥ垎: SkyEye 浠嬬粛</font> </a> <br /> <br /> </li> <li> <a > <font color="#996699">SkyEye紜歡妯℃嫙騫沖彴錛岀浜岄儴鍒? 瀹夎涓庝嬌鐢?/font> </a> <br /> <br /> </li> <li>鍦?<a ><font color="#996699">developerWorks Linux 涓撳尯</font></a> 鍙互鎵懼埌鏇村涓?Linux 寮鍙戣呭噯澶囩殑鍙傝冭祫鏂欍?<br /></li> </ul> <br /> <br /> <p> <a name="author"> <span id="hvzpftn" class="atitle">鍏充簬浣滆?/span> </a> </p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td colspan="3"> <img height="5" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /> </td> </tr> <tr valign="top" align="left"> <td> <p> </p> </td> <td> <img height="5" alt="" src="http://www.ibm.com/i/c.gif" width="4" /> </td> <td width="100%"> <p>闄堟笣, 娓呭崕澶у錛岄氳繃 <a href="mailto:yuchen@tsinghua.edu.cn?cc=d"><font color="#5c81a7">yuchen@tsinghua.edu.cn</font></a> 鍙互鍜屼粬鑱旂郴銆?</p> </td> </tr> </tbody> </table> <img src ="http://www.shnenglu.com/fenixchen/aggbug/19642.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/fenixchen/" target="_blank">闄堥暱铏?/a> 2007-03-12 16:36 <a href="http://www.shnenglu.com/fenixchen/articles/19642.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SkyEye紜歡妯℃嫙騫沖彴錛岀浜岄儴鍒? 瀹夎涓庝嬌鐢?/title><link>http://www.shnenglu.com/fenixchen/articles/19640.html</link><dc:creator>闄堥暱铏?/dc:creator><author>闄堥暱铏?/author><pubDate>Mon, 12 Mar 2007 08:30:00 GMT</pubDate><guid>http://www.shnenglu.com/fenixchen/articles/19640.html</guid><wfw:comment>http://www.shnenglu.com/fenixchen/comments/19640.html</wfw:comment><comments>http://www.shnenglu.com/fenixchen/articles/19640.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/fenixchen/comments/commentRss/19640.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/fenixchen/services/trackbacks/19640.html</trackback:ping><description><![CDATA[ <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr valign="top"> <td width="100%"> <h1>聽</h1> <img class="display-img" height="6" alt="" src="http://www.ibm.com/i/c.gif" width="1" /> </td> <td class="no-print" width="192"> <img height="18" alt="developerWorks" src="http://www.ibm.com/developerworks/cn/i/dw.gif" width="192" /> </td> </tr> </tbody> </table> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr valign="top"> <td width="10"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="10" /> </td> <td width="100%"> <table class="no-print" cellspacing="0" cellpadding="0" width="160" align="right" border="0"> <tbody> <tr> <td width="10"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="10" /> </td> <td> <table cellspacing="0" cellpadding="0" width="150" border="0"> <tbody> <tr> <td class="v14-header-1-small">鏂囨。閫夐」</td> </tr> </tbody> </table> <table class="v14-gray-table-border" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="no-padding" width="150"> <table cellspacing="0" cellpadding="0" width="143" border="0"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="8" /> <form name="email" action="https://www.ibm.com/developerworks/secure/email-it.jsp"> <input type="hidden" value="鏈枃涓昏浠嬬粛SkyEye紜歡妯℃嫙騫沖彴鐨勫畨瑁呬笌浣跨敤銆傚SkyEye鐨勪嬌鐢紝鍙互璋冭瘯鍜屽紑鍙戝縐嶅祵鍏ュ紡鎿嶄綔緋葷粺鍜岀郴緇熻蔣浠訛紝鏈夊姪浜庡鎿嶄綔緋葷粺銆侀┍鍔ㄧ▼搴忓浣曚笌宓屽叆寮忕‖浠剁郴緇熻繘琛屼氦浜掓湁鏇存繁鍒葷殑浜嗚В銆? name="body" /> <input type="hidden" value="SkyEye紜歡妯℃嫙騫沖彴錛岀浜岄儴鍒? 瀹夎涓庝嬌鐢? name="subject" /> <input type="hidden" value="cn" name="lang" /> <script language="JavaScript" type="text/javascript"> <!-- document.write('<tr valign="top"><td width="8"><img src="http://www.ibm.com/i/c.gif" width="8" height="1" alt=""/></td><td width="16"><img src="http://www.ibm.com/i/v14/icons/em.gif" height="16" width="16" vspace="3" alt="灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫? /></td><td width="122"><p><a class="smallplainlink" href="javascript:document.email.submit();"><b>灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫?/b></a></p></td></tr>'); //--> </script> <tbody> <tr valign="top"> <td width="8"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="8" /> </td> <td width="16"> <img height="16" alt="灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫? src="http://www.ibm.com/i/v14/icons/em.gif" width="16" vspace="3" /> </td> <td width="122"> <p> <a class="smallplainlink" href="javascript:document.email.submit();"> <b> <font color="#5c81a7" size="2">灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫?/font> </b> </a> </p> </td> </tr> <noscript> <tr valign="top"> <td width="8"> <img alt="" height="1" width="8" src="http://www.ibm.com/i/c.gif" /> </td> <td width="16"> <img alt="" width="16" height="16" src="http://www.ibm.com/i/c.gif" /> </td> <td class="small" width="122"> <p> <span id="hvzpftn" class="ast">鏈樉紺洪渶瑕?JavaScript 鐨勬枃妗i夐」</span> </p> </td> </tr> </noscript> </tbody> </form> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <!--START RESERVED FOR FUTURE USE INCLUDE FILES--> <!-- 03/20/06 updated by gretchen --> <br /> <table cellspacing="0" cellpadding="0" width="150" border="0"> <tbody> <tr> <td class="v14-header-2-small">鎷撳睍 Tomcat 搴旂敤</td> </tr> </tbody> </table> <table class="v14-gray-table-border" cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td class="no-padding" width="150"> <table cellspacing="0" cellpadding="0" width="143" border="0"> <tbody> <tr valign="top"> <td width="8"> <img height="1" alt="" src="http://www.ibm.com/i/c.gif" width="8" /> </td> <td> <img height="16" alt="" src="http://www.ibm.com/i/v14/icons/fw_bold.gif" width="16" vspace="3" border="0" /> </td> <td width="125"> <p> <a class="smallplainlink" > <font color="#5c81a7" size="2">涓嬭澆 IBM 寮婧?J2EE 搴旂敤鏈嶅姟鍣?WAS CE 鏂扮増鏈?V1.1</font> </a> </p> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <!--END RESERVED FOR FUTURE USE INCLUDE FILES--> <br /> </td> </tr> </tbody> </table> <p>綰у埆: 鍒濈駭</p> <p> <a > <font color="#996699">闄堟笣</font> </a> (<a href="mailto:yuchen@tsinghua.edu.cn?subject=瀹夎涓庝嬌鐢?amp;cc=d"><font color="#5c81a7">yuchen@tsinghua.edu.cn</font></a>)娓呭崕澶у<br /></p> <p>2004 騫?9 鏈?01 鏃?/p> <blockquote>聽</blockquote> <!--START RESERVED FOR FUTURE USE INCLUDE FILES--> <!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --> <!--END RESERVED FOR FUTURE USE INCLUDE FILES--> <p> <a name="N10043"> <span id="hvzpftn" class="atitle">涓錛?SkyEye閰嶇疆閫夐」</span> </a> </p> <p>SkyEye妯℃嫙鐨勭‖浠墮厤緗拰妯℃嫙鎵ц琛屼負鐢遍厤緗枃浠秙kyeye.conf涓殑閫夐」紜畾銆傛牴鎹夐」鐨勫姛鑳斤紝skyeye.conf鐨勯夐」鍒嗕負紜歡閰嶇疆閫夐」鍜屾ā鎷熸墽琛岄夐」銆傛牴鎹弬鏁扮殑涓暟錛宻kyeye.conf鐨勯夐」涓昏鐢變袱縐嶇粍鎴愶細</p> <ul> <li>鍗曞弬鏁伴夐」琛?<br />鏍煎紡涓猴細 <br />symbol: value <br />symbol鍙互鏄‖浠跺畾涔夛紝濡俢pu銆乵ach絳夛紝涔熷彲浠ユ槸鎵ц鎺у埗瀹氫箟錛屽log絳夈?<br />value鏄痵ymbol瀵瑰簲鐨勫鹼紝鍙兘鏄暟瀛椾篃鍙兘鏄瓧絎︿覆銆? </li> <li>澶氬弬鏁伴夐」琛?<br />鏍煎紡涓猴細 <br />symbol:opt1=value1,opt2=value2,...... <br />opt1鏄弬鏁板悕錛寁alue1鏄痮pt1瀵瑰簲鐨勫鹼紝鍙兘鏄暟瀛椾篃鍙兘鏄瓧絎︿覆銆?</li> </ul> <p>鐩墠skyeye.conf鐨勯厤緗畾涔夊涓嬶細</p> <ul> <li>鍩烘湰CPU鏍擱厤緗夐」 <br />鐩墠瀛樺湪鐨勯夐」鏈夛細arm710銆乤rm7tdmi銆乤rm720t銆乤rm920t銆乻a1100銆乻a1110銆亁scale <br />鏍煎紡涓?<br />cpu: cpuname <br />娉細cpuname琛ㄧず涓涓唬琛╟pu鍚嶅瓧鐨勫瓧絎︿覆銆?<br />渚嬪錛?<br />cpu: arm7tdmi </li> <li>鍏蜂綋鐨勫紑鍙戞澘(鍖呮嫭CPU鎵╁睍)閰嶇疆閫夐」 <br />鐩墠瀛樺湪鐨勯夐」鏈夛細at91銆乪p7312銆乤dsbitsy錛宲xa_Lubbock銆乴pc銆乻3c4510b銆乻3c44b0銆乧s89712銆乻a1100銆乤t91rm92銆乻harp_lh7a400 <br />鏍煎紡涓猴細 <br />mach: machinename <br />娉細cpuname琛ㄧず涓涓唬琛ㄥ熀浜庣壒瀹欳PU鐨勫紑鍙戞澘鍚嶅瓧鐨勫瓧絎︿覆銆?<br />渚嬪錛?<br />mach: at91 </li> <li>鍐呭瓨緇勯厤緗夐」 <br />涓涓唴瀛樼粍鍐呯殑鍦板潃鏄繛緇殑錛岀被鍨嬪垎涓篟AM SPACE, ROM SPACE, mapped IO SPACE <br />鏍煎紡涓猴細 <br />mem_bank: map=M|I, type=RW|R, addr=0xXXXXXXXX, size=0xXXXXXXXX,file=imagefilename,boot=yes|no <br /><ul><li>map=M 琛ㄧず RAM/ROM SPACE錛?map=I 琛ㄧず mapped IO SPACE銆? </li><li>type=RW 錛屼笖濡傛灉map=M鍒欒〃紺篟AM SPACE, type=R錛屼笖濡傛灉map=M鍒欒〃紺篟OM SPACE銆? </li><li>addr=0xXXXXXX 琛ㄧず鍐呭瓨緇勭殑璧峰鐗╃悊鍦板潃(32bit錛?6榪涘埗)銆? </li><li>size =0xXXXXXX 琛ㄧず鍐呭瓨緇勭殑澶у皬(32bit錛?6榪涘埗) 銆? </li><li>file =imagefilename <br />file鐨勫糹magefilename鏄竴涓瓧絎︿覆錛屽疄闄呬笂琛ㄧず浜嗕竴涓枃浠訛紝涓鑸槸涓涓彲浠ユ墽琛岀殑binary image鏍煎紡鐨勫彲鎵ц紼嬪簭鎴朞S鍐呮牳鏂囦歡鎴栨槸涓涓猙inary image鏍煎紡鐨勬牴鏂囦歡緋葷粺銆傚鏋滃瓨鍦ㄨ繖涓枃浠訛紝SkyEye浼氭妸鏂囦歡鐨勫唴瀹圭洿鎺ュ啓鍒板搴旂殑妯℃嫙鍐呭瓨緇勫湴鍧絀洪棿涓? </li><li>boot=yes/no錛屽鏋渂oot=yes錛屽垯SkyEye浼氭妸妯℃嫙紜歡鍚姩鍚庣殑絎竴鏉℃寚浠ょ殑鍦板潃瀹氫綅鍒板搴旂殑鍐呭瓨緇勭殑璧峰鍦板潃銆?</li></ul><p>渚嬪錛?<br />mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000 <br />mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=./boot.rom <br />mem_bank: map=M, type=RW, addr=0x10000000, size=0x00000800, file=./loader.bin,boot=yes </p></li> <li>緗戠粶鑺墖8019AS鐨勯厤緗?<br />鏍煎紡涓?nic: state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd <br />娉細xx琛ㄧず涓や綅16榪涘埗鏁幫紝dd琛ㄧず涓や綅10榪涘埗鏁?<br /><ul><li>state琛ㄧず妯℃嫙寮濮嬪悗,緗戠粶鑺墖鏄惁寮濮嬪伐浣? </li><li>mac琛ㄧず妯℃嫙鐨刵ic鐨刴ac鍦板潃 </li><li>ethmod琛ㄧずskyeye鎵澶勪富鏈轟笂鐨勭綉緇滄ā鎷熸柟寮? 鐩墠鏈塼uptap鍜寁net涓ょ妯″紡銆倀untap鏄痩inux kernel鏀寔鐨勪竴涓偣鍒扮偣铏氭嫙緗戠粶瀹炵幇錛寁net鏄痵kyeye瀹炵幇鐨勪竴涓姛鑳芥洿澶氱殑涓涓熀浜庤櫄鎷烪UB鐨勭綉緇溿? </li><li>hostip琛ㄧず涓繪満鏂逛笌skyeye浜や簰鐢ㄧ殑ip鍦板潃 </li></ul><p>渚嬪錛?<br />net: state=on, mac=0:4:3:2:1:f, ethmod=tuntap, hostip=10.0.0.1 </p></li> <li>LCD鐨勯厤緗?<br />鏍煎紡涓?lcd: state=on/off <br />state=on琛ㄧずLCD澶勪簬鎺ラ氱姸鎬侊紱 state=off 琛ㄧずLCD澶勪簬鍏抽棴鐘舵併?<br />渚嬪錛?<br />lcd: state=on </li> <li>skyeye鐨刄ART鎺у埗閫夐」 <br />uart閫夐」鍙互鎺у埗skyeye鍦ㄥ彟涓涓笌鏌愪釜涓插彛榪炴帴鐨勭粓绔笂杈撳叆/杈撳嚭瀛楃 <br />鏍煎紡錛?<br />uart: fd_in=indevname, fd_out=outdevname <ul><li>fd_in=indevname indevname琛ㄧず鐢ㄤ簬杈撳叆鐨勮澶囨枃浠跺悕錛屽叾鍊間負瀹為檯鐨勪覆鍙h澶囨枃浠?dev/ttySx </li><li>fd_out=outdevname outdevname琛ㄧず鐢ㄤ簬杈撳嚭鐨勮澶囨枃浠跺悕錛屽叾鍊間負瀹為檯鐨勪覆鍙h澶囨枃浠?dev/ttySx </li></ul>渚嬪錛?<br />uart: fd_in=/dev/ttyS0, fd_out=/dev/ttyS0 <br /></li> <li>skyeye鐨刲og鎺у埗閫夐」 <br />log閫夐」鐢ㄤ簬鎺у埗skyeye杈撳嚭紜歡緋葷粺鐨勬墽琛岀姸鎬佷俊鎭紝鍖呮嫭姣忔鎵ц鎸囦護鏃剁殑鎵ц鎸囦護鍊箋佸瘎瀛樺櫒鍊箋佸悇縐嶇‖浠剁姸鎬佺瓑銆?<br />鏍煎紡錛?<br />log: logon=0|1, logfile=filename, start=number1, end=number2, length=number3 <br /><ul><li>logon=0|1|2|3錛屽鏋滃肩瓑浜?琛ㄧず涓嶈繘琛岃褰曪紝濡傛灉鍊肩瓑浜?琛ㄧず璁板綍鎸囦護鍜屾寚浠ゅ湴鍧嫻侊紝濡傛灉鍊肩瓑浜?琛ㄧず璁板綍鎸囦護鍜屾寚浠ゅ湴鍧鍜屼富瑕佸瘎瀛樺櫒鍐呭錛屽鏋滃肩瓑浜?琛ㄧず璁板綍鎸囦護鍜屾寚浠ゅ湴鍧鍜屾墍鏈夌殑瀵勫瓨鍣ㄥ唴瀹廣? </li><li>logfile=filename 鍏跺兼槸涓涓瓧絎︿覆錛岃〃紺虹敤浜庤褰曚俊鎭殑鏂囦歡鍚? </li><li>start=number1 鍏跺兼槸涓涓?gt;=0鐨勫崄榪涘埗鏁存暟錛岃〃紺虹郴緇熸墽琛屽埌絎琻umber1鏉℃寚浠ゆ椂寮濮嬭繘琛岃褰? </li><li>end =number2鍏跺兼槸涓涓?gt;=0鐨勫崄榪涘埗鏁存暟錛岃〃紺虹郴緇熸墽琛屽埌絎琻umber2鏉℃寚浠ゆ椂鍋滄璁板綍 </li><li>length =number3鍏跺兼槸涓涓?gt;=0鐨勫崄榪涘埗鏁存暟錛岃〃紺哄彧璁板綍緋葷粺鏈榪戞墽琛岀殑number3鏉℃寚浠ゆ椂鐨勪俊鎭?</li></ul><p>鏍煎紡錛?<br />log: logon=0, logfile=/tmp/sk1.log, start=100000, end=200000, length=100 </p><br /><br /><a name="N10112"><b>鍥?0 1 SkyEye紜歡妯℃嫙閫昏緫緇撴瀯鍥?/b></a><br /><img height="422" alt="鍥?0 1 SkyEye紜歡妯℃嫙閫昏緫緇撴瀯鍥? src="http://www.ibm.com/developerworks/cn/linux/l-skyeye/part2/images/image001.gif" width="440" border="0" /><br /><p>SkyEye鐩爣妯℃嫙妯″潡妯℃嫙鐨勭‖浠墮昏緫緇撴瀯鍥懼鍥?0-1鎵紺恒?/p></li> </ul> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td> <img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /> <br /> <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /> </td> </tr> </tbody> </table> <table class="no-print" cellspacing="0" cellpadding="0" align="right"> <tbody> <tr align="right"> <td> <img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /> <br /> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td valign="center"> <img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /> <br /> </td> <td valign="top" align="right"> <a class="fbox" > <b> <font color="#996699">鍥為〉棣?/font> </b> </a> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> <br /> <p> <a name="N10127"> <span id="hvzpftn" class="atitle">浜? 瀹夎浣跨敤SkyEye</span> </a> </p> <p> <a name="N1012D"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">1. SkyEye鐨勫畨瑁?/font> </strong> </span> </a> </p> <p>鐩墠SkyEye鍦↙inux鎿嶄綔緋葷粺涓嬭繍琛屽緱寰堝ソ錛?SkyEye閫氳繃MingW鎴朿ywgin杞歡涔熷彲浠ュ湪Windows鐜涓繍琛屻?/p> <p>涓嬮潰鎴戜滑浠ュ湪RedHat 9.0鐜鐨凷kyEye瀹夎涓轟緥:</p> <p>棣栧厛闇瑕佷粠瑙e紑skyeye-x.x.x.src.tar.bz2杞歡鍖咃紙x.x.x浠h〃SkyEye鐨勭増鏈彿錛夊紑濮嬶紝鎸夌収杞歡鍖呬腑鐨凷kyEye.README鎴朢EADME鏂囦歡涓粙緇嶇殑姝ラ榪涜錛堜笅闈㈠懡浠や腑鐨?#"鏄痵hell鎻愮ず絎︼紝鐢ㄦ埛涓嶇敤杈撳叆錛夛細</p> <p>(1) 瑙e帇婧愮爜鍖咃紙鍋囧畾skyeye-x.x.x.src.tar.bz2鏀懼湪鏈満鐨?/usr/src"鐩綍涓嬶級錛屼細鍦ㄥ綋鍓嶇洰褰曠敓鎴愪竴涓猻kyeye鐨勭洰褰?<br /><code>#cd /usr/src</code><br /><code># tar xjvf skyeye-x.x.x.src.tar.bz2</code></p> <p>(2) 榪涘叆瑙e帇SkyEye鐩綍錛岄厤緗甋kyEye <br />#cd skyeye <br />濡傛灉鏄疭kyEye 0.6.0浠ュ墠鐨勭増鏈紝榪愯涓嬮潰鐨勫懡浠よ繘琛岄厤緗細 <br /><code># ./configure --target=arm-elf --prefix=/usr/local --without-gtk-prefix --without-gtk-exec-prefix --disable-gtktest</code><br />濡傛灉浣犵殑SkyEye鐗堟湰澶т簬0.6.0錛屽垯甯︽湁LCD浠跨湡鏀寔銆備負浜嗗鍔犲LCD浠跨湡鐨勬敮鎸侊紝鍒欒繍琛屽涓嬪懡浠わ細 <br /><code># ./configure --target=arm-elf --prefix=/usr/local</code></p> <p>(3) 鐒跺悗鏄紪璇戝拰瀹夎錛堟紜墽琛屽畬涓嬮潰鐨勬寚浠や笖鍛戒護姝e父緇撴潫鍚庯紝緋葷粺涓殑/usr/local/bin/skyeye 鎵ц紼嬪簭灝辨槸瀹夎濂界殑SkyEye杞歡銆傦級</p> <br /> <code># make</code> <br /> <code># make install</code> <br /> <p>鍦ㄧ紪璇戝畨瑁呰繃紼嬩腑錛岄』娉ㄦ剰浠ヤ笅鍑犵偣錛?/p> <ul> <li>濡傛灉浣犱嬌鐢ㄧ殑鏄疢andrake Linux錛岄偅涔堟湁鍙兘浣犲湪緙栬瘧SkyEye鏃朵細鍑虹幇鏈夊叧readline, ncurse, termcap絳夊簱鐨勪竴浜涢敊璇紝閭d箞浣犻渶瑕佽繍琛屼笅闈㈢殑鍛戒護錛?<br /><code>ln -s /usr/include/ncurses/termcap.h /usr/local/include/termcap.h</code></li> <li>鐒跺悗鍐嶉噸鏂扮紪璇? </li> <li>濡傛灉浣犱嬌鐢ㄧ殑鏄疍ebian Linux, 涓嶈鐢╣cc 2.95 鎴?gcc 3.0, 瑕佷嬌鐢╣cc 3.2鎴栨洿楂樼増鏈? </li> <li>鍦ㄤ綘緋葷粺涓墍浣跨敤鐨刧cc 鐗堟湰鍙峰簲璇ヨ澶т簬鎴栫瓑浜?.96 </li> <li>濡傛灉SkyEye鐗堟湰鍙峰ぇ浜?.6.0, 閭d箞浣犻渶瑕佸湪浣犵殑緋葷粺涓畨瑁匞TK (LCD妯℃嫙瑕佺敤鍒? 銆?</li> </ul> <br /> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td> <img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /> <br /> <img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /> </td> </tr> </tbody> </table> <table class="no-print" cellspacing="0" cellpadding="0" align="right"> <tbody> <tr align="right"> <td> <img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /> <br /> <table cellspacing="0" cellpadding="0" border="0"> <tbody> <tr> <td valign="center"> <img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /> <br /> </td> <td valign="top" align="right"> <a class="fbox" > <b> <font color="#996699">鍥為〉棣?/font> </b> </a> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> <br /> <br /> <p> <a name="N1018C"> <span id="hvzpftn" class="atitle">2. SkyEye鐨勪嬌鐢?/span> </a> </p> <p>涓嬮潰鎴戜滑浠kyEye妯℃嫙鍩轟簬Atmel AT91X40鐨勫紑鍙戞澘錛屽茍榪愯渭Clinux涓轟緥鏉ヨ瑙kyEye鐨勫叿浣撲嬌鐢ㄣ?/p> <p> <a name="N10195"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">絎?姝ャ瀹夎浜ゅ弶緙栬瘧鐜騫墮厤緗糃linux</font> </strong> </span> </a> </p> <p>鍏堝畨瑁呬氦鍙夌紪璇戝櫒銆傛敞鎰忚繖閲屾渶濂界敤root鐢ㄦ埛鏉ユ墽琛屽涓嬫搷浣溿傚皢arm-elf-tools-20011219.tar.gz錛?0011219鏄宸ュ叿鐨勪駭鐢熸椂闂達紝涔熷彲浠ラ夋嫨鏇存柊鐨刟rm-elf-tools銆傦級鍦ㄦ湰鏈虹殑鏍圭洰褰曚笅鐢╰ar鍛戒護瑙e紑錛堝亣瀹歛rm-elf-tools-20011219.tar.gz鏀懼湪鏈満鐨勬牴鐩綍"/"涓嬶級銆傚叿浣撳懡浠わ紙涓嬮潰鍛戒護涓殑"#"鏄痵hell鎻愮ず絎︼紝鐢ㄦ埛涓嶇敤杈撳叆錛夊涓嬶細</p> <br /> <code>#cd /</code> <br /> <code># tar /zxvf arm-elf-tools-20011219.tar.gz</code> <br /> <p>鐒跺悗灝唘Clinux-dist-20020927.tar.gz錛堝亣瀹氳杞歡鍖呮斁鍦ㄦ湰鏈虹殑鏍圭洰褰曚笅錛夎В寮錛屾瘮濡傝В寮鍦?usr/src/uClinux-dist/涓嬶紝闇瑕佹墽琛屽涓嬪懡浠わ細</p> <code># cd /usr/src</code> <br /> <code># tar zxvf /uClinux-dist-20020927.tar.gz</code> <br /> <p>鐒跺悗鍦?usr/src/uClinux-dist/鐩綍涓嬫墽琛屽涓嬪懡浠わ細</p> <ul> <li>鍦ㄥ浘褰㈡柟寮忎笅鍙敤鍛戒護 <br /><code># make xconfig </code><br /></li> <li>鍦ㄥ懡浠よ鏂瑰紡涓嬪彲鐢ㄥ懡浠?<br /><code># make menuconfig</code><br /></li> </ul> <p>鍦ㄨ繖涓ょ鐣岄潰涓嬶紝鍦╲endor/product閫夐」涓夋嫨GDB/ARMulator錛宬ernel鐗堟湰閫夋嫨2.4.x錛屽叾瀹冮夐」涓嶅彉錛岀劧鍚庝繚瀛橀厤緗鍑猴紝鍗抽夋嫨save and exit閫夐」銆?/p> <p> <a name="N101DA"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">絎?姝?緙栬瘧鐢熸垚渭Clinux鍜屽寘鍚簲鐢ㄧ▼搴忕殑鏂囦歡緋葷粺</font> </strong> </span> </a> </p> <p> <strong>鏂規A</strong> </p> <p>濡傛灉瑕佺敓鎴愬甫璋冭瘯淇℃伅鐨刲inux kernel鎵ц鏂囦歡錛屽湪絎竴姝ユ墽琛屽畬鍚庯紝緇х畫鎵ц濡備笅鍛戒護錛?<br /><code># make dep; make linux</code><br />榪欐椂鍦?usr/src/uClinux-dist/linux-2.4.x鐩綍涓嬬敓鎴愬叿鏈塃LF鎵ц鏂囦歡鏍煎紡鐨刲inux鍐呮牳鏂囦歡銆傚埌榪欎竴姝ヨ繕娌℃湁鐢熸垚鏂囦歡緋葷粺錛屼負浜嗙敓鎴愭枃浠剁郴緇燂紝榪橀渶瑕佹墽琛屽涓嬪懡浠わ細 <br /><code># make romfs; make image</code><br />濡傛灉鍦?usr/src/uClinux-dist/images/涓嬪瓨鍦ㄦ枃浠?romfs.img錛岃〃紺烘枃浠剁郴緇熺敓鎴愭垚鍔熴?</p> <p> <b>鏂規B</b> </p> <p>濡傛灉鎯充竴姝ョ敓鎴愬甫璋冭瘯淇℃伅鐨刲inux kernel鎵ц鏂囦歡鍜宭inux kenel 鎵ц鏂囦歡鏄犲儚鍜岀鐩樻槧鍍忔枃浠秗omfs.img錛屽彲綆鍗曞湴榪愯鍛戒護錛?<br /><code># make dep; make</code><br />灝辮浜嗐傚彲鏌ョ湅/usr/src/uClinux-dist/images/涓嬫槸鍚︽湁鏂囦歡 romfs.img絳夊湪/usr/src/uClinux-dist鐩綍涓嬶紝濡傛灉鏈夛紝琛ㄧず緙栬瘧瀹夎鎴愬姛銆?</p> <p> <a name="N1020A"> <span id="hvzpftn" class="smalltitle"> <strong> <font face="Arial">絎?姝ャ鐢⊿kyEye榪愯鍜岃皟璇曃糃linux鍐呮牳</font> </strong> </span> </a> </p> <p>鍋囧畾SkyEye鐨勫伐浣滅洰褰曚綅浜?usr/src/uClinux-dist涓嬶紝棣栧厛瑕佽繘琛屼竴浜涘噯澶囧伐浣滐細</p> <p>鍦ㄥ伐浣滅洰褰曚笅寤虹珛涓撻棬鐢ㄤ簬鍩轟簬AT91X40寮鍙戞澘鐨凷kyEye紜歡閰嶇疆鏂囦歡skyeye.conf銆備竴涓畝鍗曠殑鏂規硶鏄粠SkyEye杞歡鍖呬腑鐨凴EADME鏂囦歡涓埅鍙栦竴鍧楀唴瀹癸紙浠?FOR AT91 (1) special for uclinux"寮濮嬬殑涓琛岋紝浠庡畠涓嬮潰絎笁琛屽紑濮嬫埅鍙栵紝鍏卞彇9琛岋級浣滀負skyeye.conf鐨勫唴瀹癸紝鍏蜂綋鍐呭濡備笅錛?/p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode">cpu: arm7tdmi mach: at91 mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000 mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000 mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=./boot.rom mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000 mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000 mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000 mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000 </pre> </td> </tr> </tbody> </table> <br /> <p>榪欐牱鎴戜滑鍙互閫氳繃濡備笅鍛戒護鐪嬬湅鍦?usr/src/uClinux-dist鐩綍涓嬬殑skyeye.conf鏂囦歡鏄惁涓庝笂闈㈢殑鍐呭涓鑷達細 <br /><code># more /usr/src/uClinux-dist/skyeye.conf</code><br />鐒跺悗鏄緩绔嬫枃浠剁郴緇熺殑鑱旀帴錛岄渶瑕佸湪鐩綍/usr/src/uClinux-dist鐩綍涓嬫墽琛屽涓嬪懡浠わ細 <br /><code>#ln -s images/romfs.img boot.rom</code><br />榪欎富瑕佹槸涓巗kyeye.conf涓殑鍐呭淇濇寔涓鑷達紝澶у鍙敞鎰弒kyeye.conf涓殑絎?琛屻?<br />瀹屾垚涓婅堪鍑嗗宸ヤ綔鍚庯紝灝卞彲浠ョ敤SkyEye鏉ヨ繍琛屽拰璋冭瘯渭Clinux鍐呮牳浜嗭紝鎴戜滑鍙互灝濊瘯濡備笅鍛戒護錛?#"鍜?(SkyEye)"鍚庨潰璺熺潃鐨勫瓧絎︿覆鏄渶瑕佷嬌鐢ㄨ呰緭鍏ョ殑錛夛細 </p> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tbody> <tr> <td class="code-outline"> <pre class="displaycode"># cd /usr/src/uClinux-dist # /usr/local/bin/skyeye linux-2.4.x/linux (SkyEye)target sim cpu info: armv3, arm7tdmi, 41007700, fff8ff00, 0 mach info: name at91, mach_init addr 0x813ebc0 SKYEYE: use arm7100 mmu ops Loaded ROM ./boot.rom Connected to the simulator. (SkyEye)load Loading section .init, size 0xa000 vma 0x1000000 Loading section .text, size 0xc5cb0 vma 0x100a000 Loading section .data, size 0x8320 vma 0x10d0000 Start address 0x1000000 Transfer rate: 7077504 bits/sec. (SkyEye)run Starting program: /usr/src/uClinux-dist/linux-2.4.x/linux Linux version 2.4.19-uc1 (root@hpclab.cs.tsinghua.edu.cn) (gcc version 2.95.3 20010315 (release) (ColdFire patches - 20010318 from http://fiddes.net/coldfire/)(uClinux XIP and shared lib patches from http://www.snapgear.com/)) #1 Sun Sep 5 12:00:39 HKT 2004 Processor: Atmel AT91M40xxx revision 0 Architecture: EB01 鈥︹? </pre> </td> </tr> </tbody> </table> <br />浣犺繕鍙互鍦╮un涔嬪墠緇檏ernel璁劇疆鏂偣鏉ヨ皟璇曘?<br /><p>鍦ㄤ嬌鐢⊿kyEye鏃惰娉ㄦ剰浠ヤ笅鍑犵偣錛?/p><p>a .娉ㄦ剰瑕佸湪 memmap.conf錛坰kyeye-0.2浠ュ墠鐗堟湰鐨勯厤緗枃浠訛級鎴杝kyeye.conf錛坰kyeye-0.2浠ュ悗鐗堟湰鐨勯厤緗枃浠訛級鍜宐oot.rom鎵鍦ㄧ洰褰曚笅鎵цskyeye銆?/p><p>b. memmap.conf 鍜?skyeye.conf閮芥槸skyeye鐨勭‖浠墮厤緗枃浠躲俶emmap.conf 閫傜敤浜巗kyeye0.2浠ヤ笅鐗堟湰錛岃宻kyeye.conf 鐢ㄤ簬skyeye0.2浠ヤ笂鐗堟湰銆?/p><p>c. 榪愯甯︾綉緇滈夐」鐨勭‖浠墮厤緗椂錛屾敞鎰忕敤鎴峰繀欏諱負root鐢ㄦ埛錛岃屼笖褰撳墠鐨勫彲鎵ц璺緞涓彲浠ユ悳绱㈠埌ifconfig鍛戒護</p><p>d. 榪愯甯︾綉緇滈夐」鐨勭‖浠墮厤緗椂錛岄渶瑕佺紪璇戝畨瑁呭唴鏍告ā鍧梩uo.o (鍦≧edHat緋葷粺涓紝璇ユā鍧楀湪/lib/modules/2.4.x/kernel/drivers/net/tun.o)</p><p>e. 璇烽槄璇籹kyeye.conf.txt鏉ヨ幏寰梥kyeye.conf鐨勯厤緗夐」鐨勫惈涔?/p><p>f. 鍙弬鑰僺kyeye-binary-testutils-x.x.x.tar.bz2杞歡鍖咃紙x.x.x浠h〃鍏剁殑鐗堟湰鍙鳳級涓凡緇忚瀹氬ソ鐨剆kyeye.conf鏉ラ厤緗壒瀹氱殑紜歡妯℃嫙鐜錛屽茍鍙皾璇曠敤SkyEye榪愯榪欎釜杞歡鍖呬腑緙栬瘧濂界殑鎿嶄綔緋葷粺鍐呮牳銆?/p><p>涓嬮潰鏄竴浜泂kyeye.conf鐨勪緥瀛愶細</p><table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td class="code-outline"><pre class="displaycode">FOR AT91 (0) special for ucosii ------------------------------------------- cpu: arm7tdmi mach: at91 mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000 mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000 mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000 mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000 mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000 mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000 mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000 FOR AT91 (1) special for 渭Clinux ------------------------------------------- #skyeye config file sample cpu: arm7tdmi mach: at91 mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000 mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000 mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=./boot.rom mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000 mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000 mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000 mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000 #set nic info state=on/off mac=xx:xx:xx:xx:xx:xx ethmod=tuntap/vnet hostip=dd.dd.dd.dd net: state=on, mac=0:5:3:2:1:f, ethmod=tuntap, hostip=192.168.2.1 FOR ep7312 (1) special for linux ------------------------------------------- cpu: arm720t mach: ep7312 mem_bank: map=I, type=RW, addr=0x80000000, size=0x00010000 mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00200000 mem_bank: map=M, type=RW, addr=0xc0200000, size=0x00200000, file=./initrd.img mem_bank: map=M, type=RW, addr=0xc0400000, size=0x00c00000 FOR StrongArm SA1100 (1) speciall for linux ------------------------------------------- cpu: sa1100 mach: sa1100 mem_bank: map=I, type=RW, addr=0x80000000, size=0x40000000 mem_bank: map=M, type=RW, addr=0xc0000000, size=0x00800000 mem_bank: map=M, type=RW, addr=0xc0800000, size=0x00400000, file=./initrd.img mem_bank: map=M, type=RW, addr=0xc0c00000, size=0x01400000 mem_bank: map=I, type=RW, addr=0xe0000000, size=0x08000000 #0xe0000000 128M cache flush memory bank </pre></td></tr></tbody></table><br /><br /><table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td><img height="1" alt="" src="http://www.ibm.com/i/v14/rules/blue_rule.gif" width="100%" /><br /><img height="6" alt="" src="http://www.ibm.com/i/c.gif" width="8" border="0" /></td></tr></tbody></table><table class="no-print" cellspacing="0" cellpadding="0" align="right"><tbody><tr align="right"><td><img height="4" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /><br /><table cellspacing="0" cellpadding="0" border="0"><tbody><tr><td valign="center"><img height="16" alt="" src="http://www.ibm.com/i/v14/icons/u_bold.gif" width="16" border="0" /><br /></td><td valign="top" align="right"><a class="fbox" ><b><font color="#996699">鍥為〉棣?/font></b></a></td></tr></tbody></table></td></tr></tbody></table><br /><br /><p><a name="N10251"><span id="hvzpftn" class="atitle">涓夛紟灝忕粨</span></a></p><p>鏈枃璁茶В浜哠kyEye紜歡妯℃嫙騫沖彴鐨勭‖浠墮厤緗夐」錛屼互鍙婂浣曞畨瑁呬嬌鐢⊿kyEye銆傚鏋滆鑰呰兘澶熺啛緇冩帉鎻kyEye鐨勪嬌鐢紝鍒欎細鎻愰珮寮鍙戙佽皟璇曟搷浣滅郴緇熺瓑鐨勮繘搴︼紝鐗瑰埆鏄鎿嶄綔緋葷粺銆侀┍鍔ㄧ▼搴忓浣曚笌宓屽叆寮忕‖浠剁郴緇熻繘琛屼氦浜掓湁鏇存繁鍒葷殑浜嗚В銆?/p><br /><br /><p><a name="resources"><span id="hvzpftn" class="atitle">鍙傝冭祫鏂?</span></a></p><ul><li>鏈枃鑺傝嚜 <a ><font color="#996699">銆婃簮鐮佸紑鏀劇殑宓屽叆寮忕郴緇熻蔣浠跺垎鏋愪笌瀹炶返鈥斺斿熀浜嶴kyEye鍜孉RM寮鍙戝鉤鍙般?/font></a>涓涔︾殑絎笁绔狅紝瀵?SkyEye 寮婧愰」鐩劅鍏磋叮鐨勫彲浠ラ槄璇繪湰涔︺?<br /><br /><br /></li><li><a ><font color="#996699">SkyEye紜歡妯℃嫙騫沖彴, 絎竴閮ㄥ垎: SkyEye 浠嬬粛</font></a><br /><br /></li><li>鍦?<a ><font color="#996699">developerWorks Linux 涓撳尯</font></a> 鍙互鎵懼埌鏇村涓?Linux 寮鍙戣呭噯澶囩殑鍙傝冭祫鏂欍?<br /></li></ul><br /><br /><p><a name="author"><span id="hvzpftn" class="atitle">鍏充簬浣滆?/span></a></p><table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td colspan="3"><img height="5" alt="" src="http://www.ibm.com/i/c.gif" width="100%" /></td></tr><tr valign="top" align="left"><td><p></p></td><td><img height="5" alt="" src="http://www.ibm.com/i/c.gif" width="4" /></td><td width="100%"><p>闄堟笣, 娓呭崕澶у錛岄氳繃 <a href="mailto:yuchen@tsinghua.edu.cn?cc=d"><font color="#5c81a7">yuchen@tsinghua.edu.cn</font></a> 鍙互鍜屼粬鑱旂郴銆?</p></td></tr></tbody></table><img src ="http://www.shnenglu.com/fenixchen/aggbug/19640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/fenixchen/" target="_blank">闄堥暱铏?/a> 2007-03-12 16:30 <a href="http://www.shnenglu.com/fenixchen/articles/19640.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>SkyEye紜歡妯℃嫙騫沖彴, 絎竴閮ㄥ垎: SkyEye 浠嬬粛http://www.shnenglu.com/fenixchen/articles/19639.html闄堥暱铏?/dc:creator>闄堥暱铏?/author>Mon, 12 Mar 2007 08:28:00 GMThttp://www.shnenglu.com/fenixchen/articles/19639.htmlhttp://www.shnenglu.com/fenixchen/comments/19639.htmlhttp://www.shnenglu.com/fenixchen/articles/19639.html#Feedback0http://www.shnenglu.com/fenixchen/comments/commentRss/19639.htmlhttp://www.shnenglu.com/fenixchen/services/trackbacks/19639.html

developerWorks
鏂囨。閫夐」
灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫? src=

灝嗘欏典綔涓虹數瀛愰偖浠跺彂閫?/font>

鏈樉紺洪渶瑕?JavaScript 鐨勬枃妗i夐」


鎷撳睍 Tomcat 搴旂敤

涓嬭澆 IBM 寮婧?J2EE 搴旂敤鏈嶅姟鍣?WAS CE 鏂扮増鏈?V1.1


綰у埆: 鍒濈駭

闄堟笣 (yuchen@tsinghua.edu.cn)娓呭崕澶у

2004 騫?9 鏈?01 鏃?/p>

涓錛嶴kyEye浠嬬粛

1錛嶴kyEye鐨勮搗婧愬拰鍙戝睍

2002騫?1鏈堬紝涓涓伓鐒剁殑鏈轟細錛屼竴緹ゆ搷浣滅郴緇熺殑鐖卞ソ鑰呭湪緗戜笂榪涜鑱婂ぉ錛屾垚绔嬩簡涓涓猅M錛峀inux鍏磋叮灝忕粍錛屽笇鏈涜鍋氫竴浜涙劅鍏磋叮鐨勪簨鎯呫傚綋鏃跺湪娓呭崕澶у璁$畻鏈虹郴鍋氬崥澹悗鐨勯檲娓濇彁鍑哄仛涓涓敤杞歡瀹炵幇鐨勫祵鍏ュ紡寮鍙戞澘紜歡妯℃嫙鍣紝鍙互鍦ㄦā鎷熷櫒涓婅繍琛屽悇縐嶆搷浣滅郴緇燂紝榪欐牱灝卞彲浠ュ湪娌℃湁寮鍙戞澘鐨勬儏鍐典笅瀛︿範鍜岀爺絀舵搷浣滅郴緇熴備竴寮濮嬪氨闄堟笣涓浜哄仛錛岄鍏堜粬浜嗚В浜嗗綋鍓嶅浗闄呬笂鐨勪竴浜涚被浼肩殑欏圭洰錛屽彂鐜拌憲鍚嶇殑渭CLinux緇勭粐瀹炵幇浜嗕竴涓猘rmulator妯℃嫙鍣ㄨ蔣浠訛紙鍦↙inux緋葷粺涓婅繍琛岋級錛屽彲浠ユā鎷烝teml AT91錛堝熀浜嶢RM7TDMI CPU錛夊紑鍙戞澘錛屛糃Linux鍙互鍦╝rmulator錛堝叾緗戝潃涓篽ttp://www.uclinux.org/pub/uCLinux/utilities/armulator/錛変笂榪愯銆備簬鏄檲娓濅互姝や負鍩虹偣錛屽熼壌armulator鐨勫疄鐜幫紝鎻愬嚭浜哠kyEye欏圭洰錛屽叾鐩爣鏄SkyEye浠跨湡澶氱涓繪祦鐨勫祵鍏ュ紡寮鍙戞澘鍜屽璁撅紝瀹炵幇涓涓彲鎵╁睍鐨勭‖浠舵ā鎷熸鏋訛紝璁╂洿澶氱殑宓屽叆寮忔搷浣滅郴緇熷彲浠ュ湪SkyEye涓婅繍琛屻係kyEye欏圭洰浜?002騫?2鏈?鏃ユ寮忓緩绔嬪悗錛岄檲娓濆畬鎴愮殑絎竴浠跺伐浣滄槸鎶奱rmulator縐繪鍒頒簡cygwin/windows鐜涓嬶紝鍏舵垚鏋滆渭CLinux緇勭粐鎺ユ敹銆傛帴涓嬫潵娓呭崕澶у璁$畻鏈虹郴紜曞+鐢熸潕鏄庡姞鍏ュ埌SkyEye鐨勫紑鍙戜腑錛?澶╁悗錛孲kyEye鐨勭涓涓増鏈帹鍑猴紝鍐嶈繃浜?澶╋紝渭C/OS-II for SkyEye鎺ㄥ嚭銆傚湪榪欐湡闂達紝SkyEye鐨勭綉绔欎篃寤虹珛璧鋒潵浜嗐傜揣鎺ョ潃錛屾潹鏅斻佺帇鍒╂槑銆佸骯棣栦竴絳夊湪鏍″鐢熶篃鍔犲叆鍒癝kyEye鐨勫紑鍙戜腑錛岀粰SkyEye甯︽潵浜嗘柊鐨勬椿鍔涳紝SkyEye榪涘叆浜嗘柊鐨勫彂灞曢樁孌碉紝鐩墠閫氳繃璁塊棶SkyEye鐨勭綉绔欙紙http://www.skyeye.org/錛夊拰鍦╨inux鍏ぞ涓婄殑SkyEye璁哄潧錛?http://www.linuxfans.org錛夊彲浠ヤ簡瑙e埌SkyEye鐨勬渶鏂拌繘灞曞茍瀵規湁鍏沖祵鍏ュ紡緋葷粺寮鍙戞柟闈㈢殑闂榪涜浜ゆ祦錛岃繕鍙互鍒?http://gro.clinux.org/projects/skyeye/ 涓嬭澆鏈鏂扮殑SkyEye鐩稿叧杞歡鍜屾枃妗c?

2錛嶴kyEye鐨勮儗鏅?/font>

濡傛灉浣犵湅榪囩數褰?榛戝甯濆浗"錛堝張縐?matrix"錛夛紝鐩鎬俊鐢靛獎鎻忚堪鐨勮櫄騫諱笘鐣屼細娣辨繁鍦板惛寮曚綘錛岃嚦灝戝畠鏄垜浠湅榪囨渶鏈夋兂璞″姏鐨勭騫葷數褰變箣涓銆備篃璁告垜浠彲浠ユ妸SkyEye鐪嬩綔涓涓?matrix "錛屾妸榪愯鍦⊿kyEye涓婄殑鍚勭紼嬪簭鐪嬫垚鏄繖涓?matrix"涓殑鑺歌姼浼楃敓銆傛垜浠垱閫燬kyEye鍜岀紪鍐欒繍琛屽湪SkyEye涓婅繍琛岀殑紼嬪簭灝辨槸涓轟簡媧炴倝璁$畻鏈虹殑濂ョ錛屽皾灝濆綋"閫犵墿涓?鐨勬劅瑙夈傚綋鐪嬪埌鍚勭杞歡Linux銆佄糃Linux銆佄糃/OS-II...鍦⊿kyEye涓?鎰夊揩"鍦拌繍琛屾椂錛岄偅縐嶆劅瑙夌湡鏄お濂囧浜嗐?

瀵逛簬閭d簺鎯寵繘琛屽祵鍏ュ紡緋葷粺杞歡寮鍙戝拰瀛︿範錛屾垨鑰呮兂鐮旂┒宓屽叆寮廘inux絳夋搷浣滅郴緇熷拰涓浜涘簳灞傜郴緇熻蔣浠訛紙濡俆CP/IP絳夛級鐨勭爺絀跺拰寮鍙戜漢鍛樻潵璇達紝鍙兘瀛樺湪濡備笅鍑犳柟闈㈢殑闂錛氾紙1錛夌粡甯歌嫤浜庣粡璐逛笉瓚籌紝緙哄皯瓚沖鐨勭‖浠跺紑鍙戞澘鍜屽畬鍠勭殑杞歡寮鍙戠幆澧冿紝鐩稿叧鐨勪功綾嶅涓浜涙渶鏂拌蔣浠剁殑鍒嗘瀽榪樹笉澶熷叏闈紝鏃犳硶娣卞叆鐮旂┒鍜屽紑鍙戝祵鍏ュ紡杞歡銆傦紙2錛夐珮灞傛鐨勮蔣浠惰璁″拰寮鍙戜竴鑸笉鐢ㄥお鑰冭檻搴曞眰紜歡鐨勫疄鐜扮粏鑺傦紝濡傛灉鐩存帴澶勪簬涓涓叿浣撶殑紜歡鐜涓嬶紝鍦ㄥ紑鍙戝拰鐮旂┒涓彲鑳戒細闄峰叆紜歡鐨勫叿浣撶粏鑺備腑涓嶈兘鑷嫈錛岃屼笉鑳芥妸綺懼姏鏀懼埌楂樺眰嬈$殑杞歡璁捐鍜屽紑鍙戜笂銆傦紙3錛夊鏋滅‖浠跺紑鍙戠幆澧冧笉澶ǔ瀹氾紙榪欑鎯呭喌緇忓父瑙佸埌錛夛紝涓斿鍏蜂綋鐨勭‖浠朵笉鏄緢浜嗚В錛屽垯鍙兘鍦ㄦ帓闄ら棶棰樹笂鑺辮垂澶ч噺鐨勪笉蹇呰鐨勬椂闂淬傦紙4錛夊鏋滀綘鎯寵嚜宸卞皾璇曡璁′竴涓搷浣滅郴緇燂紝鍒欏厛鍦ㄤ竴涓彁渚涙簮鐮佺駭璋冭瘯鐨勮蔣浠朵豢鐪熷櫒涓婅繘琛屽紑鍙戯紝鍙兘浼氬ぇ澶ф彁楂樹綘鐨勫紑鍙戣繘搴︺?/p>

瀵逛簬鎯充簡瑙c佸涔犱竴鑸搷浣滅郴緇熺殑瀹炵幇鍘熺悊錛孡inux/渭CLinux鎿嶄綔緋葷粺鎴朤CP/IP絳夌郴緇熺駭杞歡鐨勫疄鐜扮殑浜哄憳錛岀洰鍓嶄竴鑸噰鐢ㄧ殑鏂規硶鏄湅涔﹀拰璇繪簮浠g爜錛岃繖鏄竴縐嶉潤鎬佺殑瀛︿範鏂規硶錛屾晥鐜囪緝浣庯紝姣旇緝鏋嚗錛岀己灝戜翰鑷疄璺電殑鎰熻銆傝鎯蟲繁鍏ュ垎鏋愬拰寮鍙戣蔣浠訛紝灝辮鍔ㄦ墜緙栫▼錛屼笉鑳藉彧鏄湅鐪嬩功錛岃璇諱唬鐮侊紝鍙湁閫氳繃浜叉墜瀹炶返鎵嶈兘澶熸帉鎻¤蔣浠惰璁$殑鏍稿績鍐呭銆備笂闈㈡墍鎸囧嚭鐨勯棶棰樺拰闇姹備績浣縎kyEye欏圭洰鐨勮癁鐢熴?

3錛嶴kyEye鐨勭洰鏍囧拰鎰忎箟

SkyEye鏄竴涓紑婧愯蔣浠訛紙OpenSource Software錛夐」鐩紝涓枃鍚嶅瓧鏄?澶╃洰"銆係kyEye鐨勭洰鏍囨槸鍦ㄩ氱敤鐨凩inux鍜學indows騫沖彴涓婂疄鐜頒竴涓函杞歡闆嗘垚寮鍙戠幆澧冿紝妯℃嫙甯歌鐨勫祵鍏ュ紡璁$畻鏈虹郴緇?榪欓噷鍋囧畾"浠跨湡"鍜?妯℃嫙"鐨勬剰鎬濆熀鏈浉鍚?錛涘彲鍦⊿kyEye涓婅繍琛屛糃Linux浠ュ強渭C/OS-II絳夊縐嶅祵鍏ュ紡鎿嶄綔緋葷粺鍜屽悇縐嶇郴緇熻蔣浠訛紙濡俆CP/IP錛屽浘褰㈠瓙緋葷粺錛屾枃浠跺瓙緋葷粺絳夛級錛屽茍鍙瀹冧滑榪涜婧愮爜綰х殑鍒嗘瀽鍜屾祴璇曘?/p>

綰蔣浠剁殑妯℃嫙鍣ㄦ湁璁稿縐嶏紝濡傛ā鎷熶竴涓姱鐗囨椂搴忛昏緫鐨勬ā鎷熷櫒銆佸彧妯℃嫙CPU鎸囦護鐨勬ā鎷熷櫒銆佹ā鎷熸暣涓‖浠跺紑鍙戞澘鐨勬ā鎷熷櫒銆佹ā鎷熶竴涓狿DA鐨勬ā鎷熷櫒絳夈傚瓨鍦ㄤ竴浜涚函杞歡鐨勪豢鐪熷櫒鎴栨ā鎷熷櫒錛屽Stanford澶у鐨凷imOS妯℃嫙鍣紝瀹冧豢鐪熺殑鏄疢IPS緋誨垪CPU鍜岀浉鍏沖璁撅紝鍙互鍦ㄥ叾涓婅繍琛孲GI鍏徃鐨処rix鎿嶄綔緋葷粺鍜岃蔣浠訛紝鐩墠鍩烘湰涓婂仠姝簡榪涗竴姝ョ殑寮鍙戯紱PSIM鏄竴涓豢鐪烶owerPC鎸囦護闆嗙殑妯℃嫙鍣紝鐩墠鍙敮鎸佺畝鍗曠殑鍛戒護琛屽簲鐢ㄧ▼搴忥紱xcopilot鏄竴涓狿DA妯℃嫙鍣紝瀹冩槸鐢盙reg Hewgill鍑轟簬涓漢鍠滃ソ緙栧啓鐨勶紝瀹冧豢鐪熺殑鏄疢68K CPU錛岄氳繃瀹冨彲浠ョ粰鍩轟簬PalmOS鐨勮蔣浠跺紑鍙戣呮彁渚涗竴涓ā鎷熷紑鍙戠幆澧冦侭ochs鏄竴涓豢鐪焫86 CPU鐨勫紑婧愰」鐩紝鐩墠榪樻敮鎸丄MD64 CPU錛屽湪瀹冧笂闈㈠彲浠ヨ繍琛孡inux鎿嶄綔緋葷粺銆傚叾瀹冧竴浜涘晢涓氱殑浠跨湡杞歡濡倂mware鍜寁irtualPC鍙互浠跨湡涓涓湡瀹炵殑x86璁$畻鏈猴紝鑰孷irtutech Simics浠跨湡鍣ㄥ彲浠ヤ豢鐪熷縐岰PU鍜岀‖浠訛紝鍔熻兘寮哄ぇ錛屽彲鐢ㄤ簬紜歡鍜岀郴緇熻蔣浠剁殑璇勬祴銆?/p>

SkyEye鏄竴涓寚浠ょ駭妯℃嫙鍣紝鍙互妯℃嫙澶氱宓屽叆寮忓紑鍙戞澘錛屽彲鏀寔澶氱CPU鎸囦護闆嗭紝鍦⊿kyEye涓婅繍琛岀殑鎿嶄綔緋葷粺鎰忚瘑涓嶅埌瀹冩槸鍦ㄤ竴涓櫄鎷熺殑鐜涓繍琛岋紝鑰屼笖寮鍙戜漢鍛樺彲浠ラ氳繃SkyEye璋冭瘯鎿嶄綔緋葷粺鍜岀郴緇熻蔣浠躲傜敱浜嶴kyEye鐨勭洰鏍囦笉鏄獙璇佺‖浠墮昏緫錛岃屾槸鍗忓姪寮鍙戙佽皟璇曞拰瀛︿範緋葷粺杞歡錛屾墍浠ュ湪瀹炵幇涓奡kyEye涓庣湡瀹炵殑紜歡鐜鐩告瘮榪樻槸鏈変竴瀹氬樊鍒殑銆係kyEye鍦ㄦ椂閽熻妭鎷嶇殑鏃跺簭涓婁笉淇濊瘉涓庣‖浠跺畬鍏ㄧ浉鍚岋紝瀵硅蔣浠墮忔槑鐨勪竴浜涚‖浠朵豢鐪熻繘琛屼簡涓瀹氱殑綆鍖栥傝繖鏍峰甫鏉ョ殑濂藉鏄疭kyEye鐨勬墽琛屾晥鐜囨洿楂樸係kyEye鐨勬帹鍑哄叿鏈変笅闈笁鏂歸潰鐨勬剰涔夛細

  • 閫氳繃SkyEye浠跨湡闆嗘垚鐜鍙互寰堟柟渚垮湴榪涘叆鍒板祵鍏ュ紡緋葷粺杞歡瀛︿範鍜屽紑鍙戠殑騫塊様澶╁湴涓傚挨鍏跺浜庣己灝戝祵鍏ュ紡紜歡寮鍙戠幆澧冨拰杞歡寮鍙戠幆澧冪殑鐢ㄦ埛鏉ヨ錛屽畠灝嗘槸涓涓潪甯告湁鏁堢殑瀛︿範宸ュ叿鍜屽紑鍙戞墜孌碉紝鍥犱負SkyEye鐨勬暣涓蔣浠剁郴緇熼兘鏄疧pen Source鐨勶紝涓斿熀浜嶨PL鍗忚錛埼糃OS-II闄ゅ錛夈傚洜姝わ紝濡傛灉瑕佸涔燣inux鎿嶄綔緋葷粺鎴栬呰繘琛屽祵鍏ュ紡緋葷粺寮鍙戯紝浣嗚嫤浜庢病鏈夌‖浠舵敮鎸侊紝SkyEye浠跨湡鐜杞歡鏄竴涓緢濂界殑閫夋嫨錛?
  • 濡傛灉鎯崇爺絀朵笌鍏蜂綋紜歡鏃犲叧鐨勭郴緇熻蔣浠訛紙濡俆CP/IP鍗忚鏍堢瓑錛夛紝閲囩敤SkyEye鍙互鏈夋晥鍦版彁楂樺伐浣滄晥鐜囷紝鍥犱負浣犲彲浠ョ洿鎺ュ湪渭COS-II鍜屛糃Linux for SkyEye涓婅繘琛屽紑鍙戝拰璋冭瘯錛岃屼笌鍏蜂綋紜歡鎵撲氦閬撶殑鍚勭driver宸茬粡瀛樺湪錛屼笖鏈夋簮鐮佺駭璋冭瘯鐜錛屽彧闇鍏沖績楂樺眰鐨勯昏緫璁捐鍜屽疄鐜板氨鍙互浜嗐?
  • SkyEye鏈韓浣滀負涓涓紑鏀懼紡鐨勯」鐩綋緋伙紝鍙互鍒掑垎涓哄涓嫭绔嬬殑瀛愰」鐩郴緇熴傞氳繃鍙備笌SkyEye鐨勫悇涓瓙欏圭洰錛屼笌澶у鍏卞悓浜ゆ祦銆佸崗浣滐紝鍙互榪涗竴姝ュ涔犮佸垎鏋愩佺簿閫歀inux鍐呮牳錛屾帉鎻RM宓屽叆寮廋PU緙栫▼銆?

鍦?2浣嶅祵鍏ュ紡CPU棰嗗煙涓紝ARM緋誨垪CPU鎵鍗犳瘮閲嶅緢澶э紝鑰孉RM7TDMI鏄叾涓渶騫挎硾鐨勪竴縐岮RM CPU鏍革紝鍥犳SkyEye棣栧厛閫夋嫨浜咥RM7TDMI浣滀負浠跨湡鐨勭洰鏍嘋PU鏍革紝褰撶劧灝嗘潵SkyEye浼氭敮鎸佹洿澶氱綾葷殑CPU銆傜洰鍓嶅湪SkyEye涓婂彲榪愯騫惰繘琛屾簮鐮佺駭璋冭瘯ARM Linux銆佄糃Linux銆佄糃/OS-II鎿嶄綔緋葷粺鍜孡wIP錛堜竴涓憲鍚嶇殑宓屽叆寮廡CP/IP瀹炵幇錛夈丮iniGUI錛堜竴涓憲鍚嶇殑宓屽叆寮廏UI緋葷粺錛夌瓑緋葷粺杞歡銆係kyEye鍙敤浜庡涔狅紝鍒嗘瀽錛屽紑鍙戣繖浜涚郴緇熻蔣浠剁殑瀹炵幇錛屼簡瑙RM宓屽叆寮廋PU緙栫▼銆傝岃繖涓鍒囬兘鍙湪涓涓函杞歡鐨勭幆澧冧腑瀹屾垚銆傞氳繃鍒嗘瀽SkyEye鏈韓瀹炵幇錛岀郴緇熻蔣浠跺紑鍙戜漢鍛樺ARM錛?019as錛圢E2000鍏煎錛変互澶綉緇滆姱鐗囩瓑紜歡鐨勪簡瑙d篃浼氭洿娣卞叆銆?/p>

SkyEye騫朵笉鑳藉彇浠e紑鍙戞澘絳夌‖浠剁殑鍔熻兘錛屼絾閫氳繃瀹冨彲浠ユ瘮杈冨鏄撹繘鍏ュ埌宓屽叆寮忚蔣浠剁殑騫塊様澶╁湴涓傜敱浜嶴kyEye寤虹珛鍦℅DB鍩虹涔嬩笂錛屼嬌鐢ㄨ呭彲浠ユ柟渚垮湴浣跨敤GDB鎻愪緵鐨勫悇縐嶈皟璇曟墜孌靛SkyEye浠跨湡緋葷粺涓婄殑杞歡榪涜婧愮爜綰х殑璋冭瘯錛岃繕鍙互榪涜鍚勭鍒嗘瀽錛屽鎵ц鐑偣鍒嗘瀽銆佺▼搴忔墽琛岃鐩栧害鍒嗘瀽絳夈傜敱浜嶴kyEye鎻愪緵浜嗘簮浠g爜鍜岀浉鍏蟲枃妗o紝鏈夌粡楠岀殑鐢ㄦ埛瀹屽叏鍙互淇敼鍜屾墿鍏匰kyEye鏉ユ弧瓚寵嚜宸辯殑闇姹傘?/p>



鍥為〉棣?/font>


浜岋紟SkyEye妯℃嫙紜歡浠嬬粛

鐩墠SkyEye妯℃嫙浜嗗ぇ閲忕殑紜歡錛屽寘鎷珻PU鍐呮牳銆佸瓨鍌ㄥ櫒銆佸瓨鍌ㄥ櫒綆$悊鍗曞厓銆佺紦瀛樺崟鍏冦佷覆鍙c佺綉緇滆姱鐗囥佹椂閽熺瓑銆備笅闈㈠仛涓綆鍗曚粙緇嶃?/p>

1錛嶤PU鍜屽紑鍙戞澘緋誨垪

鐩墠SkyEye鍙互妯℃嫙鐨凜PU涓昏鏄熀浜嶢RM鍐呮牳鐨凜PU錛屽寘鎷珹RM7TDMI錛孉RM720T錛孉RM9TDMI錛孉RM9xx錛孉RM10xx錛孲trongARM錛孹Scale絳夈侫RM7/9/10TDMI鏄疉RM緋誨垪CPU鐨勫熀鏈牳蹇冮儴鍒嗭紝瀹冧滑涓嶆敮鎸丮MU/CACHE鍜屼竴浜涙墿灞曟寚浠わ紝鏄疉RM CPU鍩烘湰鏍搞侫RM720T銆丄RM920T銆丄RM10xx銆丼trongARM銆乆scale鏄緩绔嬪湪浠ヤ笂ARM CPU鏍鎬笂錛屽茍鎵╁睍浜哅MU/CACHE鍜屽叾瀹冨姛鑳姐傚悇紜歡寮鍙戝叕鍙稿彲浠ユ牴鎹畠浠殑闇姹傚湪涓婅堪CPU鏍鎬笂鍔犱笂鐗瑰畾鐨勬墿灞曪紝褰㈡垚鍩轟簬鍚勭ARM鍩烘湰鏍稿績鐨勭壒瀹欳PU錛屽Atmel91X40鍜?ep7312錛屽垎鍒墿灞曚簡ARM7TDMI鍜孉RM720T鐨勫唴瀛樻帶鍒跺拰鍚勭I/O鎺у埗鍣紝綆鍖栦簡寮鍙戞澘鐨勯昏緫璁捐錛屽ぇ澶у寮轟簡寮鍙戞澘鐨勫姛鑳姐?/p>

鐩墠SkyEye妯℃嫙鐨勫紑鍙戞澘鍖呮嫭鍩轟簬Atmel 91X40/AT91RM92 CPU鐨勫紑鍙戞澘錛屽熀浜嶤rirus Logic ep7312鐨勫紑鍙戞澘銆佸熀浜嶴trongARM CPU鐨凙DSBITSY寮鍙戞澘錛屽熀浜嶺Scale PXA250 CPU鐨凩UBBOCK寮鍙戞澘銆佸熀浜嶴AMSUNG S3C4510B/S3C44B0 CPU鐨勫紑鍙戞澘銆佸熀浜嶴HARP LH7A400 CPU鐨勫紑鍙戞澘銆佸熀浜嶱hilip LPC22xx CPU鐨勫紑鍙戞澘絳夈備富瑕佹ā鎷熶簡瀵瑰簲鍚勪釜寮鍙戞澘鐨勪覆鍙c佹椂閽熴丷AM銆丷OM銆丩CD銆佺綉緇滆姱鐗囩瓑紜歡澶栬銆?/p>

2錛庡瓨鍌ㄥ櫒綆$悊鍗曞厓鍜岀紦瀛樺崟鍏?/font>

MMU錛圡emory Management Unit錛夊嵆瀛樺偍鍣ㄧ鐞嗗崟鍏冿紝鏄敤鏉ョ鐞嗚櫄鎷熷唴瀛樼郴緇熺殑紜歡銆侻MU鐨勪袱涓富瑕佸姛鑳芥槸錛氬皢铏氬湴鍧杞崲鎴愮墿鐞嗗湴鍧錛涙帶鍒跺瓨鍌ㄥ櫒鐨勫瓨鍙栨潈闄愩侻MU鍏蟲帀鏃訛紝铏氬湴鍧鐩存帴杈撳嚭鍒扮墿鐞嗗湴鍧鎬葷嚎銆侻MU鏈韓鏈夊皯閲忓瓨鍌ㄧ┖闂村瓨鏀句粠铏氭嫙鍦板潃鍒扮墿鐞嗗湴鍧鐨勫尮閰嶈〃錛屾琛ㄧО浣淭LB(Translation Lookaside Buffers)銆俆LB琛ㄤ腑淇濆瓨鐨勬槸铏氬潃鍙婂叾瀵瑰簲鐨勭墿鐞嗗湴鍧錛屾潈闄愶紝鍩熷拰鏄犲皠綾誨瀷銆傚綋CPU瀵逛竴铏氭嫙鍦板潃榪涜瀛樺彇鏃訛紝棣栧厛鎼滅儲TLB琛ㄤ互鏌ユ壘瀵瑰簲鐨勭墿鐞嗗湴鍧絳変俊鎭紝濡傛灉娌℃湁鏌ュ埌錛屽垯榪涜鏌ユ壘translation table錛岀О涓篢ranslation Table Walk錛堢畝縐癟TW錛夈傜粡榪嘥TW榪囩▼鍚庯紝灝嗘煡鍒扮殑淇℃伅淇濆瓨鍒癟LB銆傜劧鍚庢牴鎹甌LB琛ㄩ」鐨勭墿鐞嗗湴鍧榪涜璇誨啓銆侰ACHE鏄紦瀛樺崟鍏冿紝涓昏鐢ㄤ簬緙撳瓨鍐呭瓨涓殑鏁版嵁錛屽叾璇誨啓閫熷害榪滃揩浜庡唴瀛樼殑璇誨啓閫熷害錛屾墍浠ュ彲浠ユ彁楂楥PU鐨勫唴瀛樻暟鎹殑璁塊棶鏁堢巼銆?/p>

write/read buffer紜歡鍗曞厓鐨勪綔鐢ㄤ笌CACHE鐨勪綔鐢ㄧ被浼箋侻MU銆丆ACHE銆亀rite/read buffer涓鑸槸楂樻ц兘CPU鐨勯噸瑕佺粍鎴愰儴鍒嗭紝涓斾笉鍚岀被鍨婥PU鐨凪MU銆丆ACHE銆亀rite/read buffer鐨勯昏緫琛屼負涔熸湁涓瀹氱殑宸紓銆備負浜嗘敮鎸佹ā鎷熷縐嶇被鍨婥PU鐨凪MU/CACHE錛孲kyEye鍖呭惈浜嗕竴涓氱敤鐨凪MU/CACHE妯℃嫙瀹炵幇銆傞氳繃瀵逛竴浜涘弬鏁扮殑璋冩暣鍙互鏀寔妯℃嫙澶氱綾誨瀷鐨凪MU/CACHE鐗╃悊緇撴瀯鍜岄昏緫琛屼負銆?

3錛庣綉緇滆姱鐗?/font>

鐩墠SkyEye妯℃嫙浜嗙綉緇滆姱鐗?019AS錛屽叾鐗圭偣鏄細NE2000鍏煎錛屽唴寤?16KRAM緙撳啿鍖猴紝10MB浼犺緭閫熺巼銆傝櫧鐒剁洰鍓嶆ā鎷熺殑寮鍙戞澘涓婁笉涓瀹氭湁緗戠粶鑺墖8019AS錛屼絾鎴戜滑鍙互鍦ㄦ垜浠ā鎷熺殑寮鍙戞澘涓婂姞涓婄綉緇滆姱鐗?019AS鐨勬ā鎷熴傝繖鏍峰啀鍔犱笂鍦ㄤ笉鍚屾搷浣滅郴緇熶笂鐨?019AS椹卞姩紼嬪簭錛屽氨鍙互鏂逛究鍦板畬鎴愬悇縐嶇綉緇滃簲鐢ㄧ殑寮鍙戝拰璁捐銆傜洰鍓嶅凡緇忓湪鍦ㄥ熀浜嶢tmel91X40 CPU鐨勫紑鍙戞澘涓婂疄鐜頒簡緗戠粶鑺墖8019AS鎵╁睍錛屽茍澧炲姞浜單糃/OS-II鍜屛糃linux鐨勭綉緇滈┍鍔ㄧ▼搴忥紝宸茬粡鏀寔澶ч噺鐨勭綉緇滃簲鐢ㄧ▼搴忥紝濡侺wIP 錛堜竴涓猅CP/IP鍗忚鏍堝疄鐜幫級銆乶fs server/clinet銆乭ttp server/client銆乼elnet server/client銆乫tp server/client絳夈?/p>



鍥為〉棣?/font>


涓夛紟SkyEye鐨勮璁″疄鐜?/span>

1錛嶴kyEye璁捐鍘熷垯

SkyEye杞歡鐨勬牳蹇冨湪鐩爣妯℃嫙妯″潡銆備負浜嗘彁楂樻ā鎷熸晥鐜囷紝涓旇兘澶熸ā鎷熸洿澶氱殑CPU銆佸紑鍙戞澘鍜屽悇縐嶅璁撅紝鏂逛究寮鍙戜漢鍛樿繘琛屽紑鍙戝拰瀛︿範錛孲kyEye閬靛驚濡備笅鐨勮璁″師鍒欙細

  • 鐢–璇█緙栫▼錛岄噰鐢ㄩ潰鍚戝璞$殑鏂瑰紡瀹氫箟鍚勭瑕佹ā鎷熺殑紜歡錛?
  • 瀹氫箟鎶借薄妯℃嫙紜歡瀵硅薄錛屾渶澶у寲閲嶇敤浠g爜錛?
  • 瀹氫箟紜歡閰嶇疆鑴氭湰錛屼嬌寰椾笉鐢ㄦ敼鍔⊿kyEye浠g爜灝卞彲浠ョ伒媧誨湴璋冩暣鍚勭紜歡閰嶇疆錛?

淇濇寔涓嶨DB涓婂眰鎺ュ彛鐨勪竴鑷存э紝榪欐牱鍙厖鍒嗗埄鐢℅DB寮哄ぇ鐨勬簮浠g爜綰ц皟璇曞姛鑳姐?/p>

2錛嶴kyEye鐨勬諱綋緇撴瀯

SkyEye鍩轟簬GDB/ARMulator(鐩墠鐢盌avid McCullough 緇存姢)錛屽茍榪涜浜嗗叏闈㈢殑鏀瑰彉鍜屾墿灞曘係kyEye寤虹珛鍦℅NU GDB鐨勫簳灞傦紝鍙互妯′豢澶氱瀹屾暣鐨勫祵鍏ュ紡璁$畻鏈虹郴緇燂紝鐩墠妯℃嫙鐨勭‖浠跺寘鎷珻PU銆佸唴瀛樸両/O瀵勫瓨鍣ㄣ佹椂閽熴乁ART銆佺綉緇滆姱鐗囥丮MU銆丆ACHE錛屽皢鏉ヨ繕浼氭ā鎷?LCD銆乁SB絳夊悇縐嶇‖浠躲傚湪SkyEye涓婅繍琛岀殑鎿嶄綔緋葷粺鍜屽悇縐嶇郴緇熻蔣浠?鎰忚瘑"涓嶅埌瀹冧滑鏄湪涓涓櫄鎷熺殑璁$畻鏈虹郴緇熶笂榪愯銆?

SkyEye浠庢諱綋涓婂垎涓哄洓涓眰嬈★細

  • 鐢ㄦ埛鎺ュ彛妯″潡錛氬寘鎷懡浠よ鐢ㄦ埛鐣岄潰鍜屽浘褰㈢敤鎴風晫闈紝瀹屾垚澶勭悊鐢ㄦ埛鐨勮緭鍏ュ懡浠わ紝騫舵妸鐩稿叧璋冭瘯鏁版嵁杈撳嚭緇欑敤鎴風殑浠誨姟銆傝繖涓閮ㄥ垎鍩烘湰涓婄洿鎺ュ埄鐢ㄤ簡GDB鐨勭敤鎴鋒帴鍙fā鍧楋紝騫跺湪姝ゅ熀紜涓婃湁涓瀹氱殑鎵╁厖銆?
  • 絎﹀彿澶勭悊妯″潡錛氫富瑕佸鐞嗘墽琛屾枃浠剁殑澶翠俊鎭紝瑙i噴鎵ц鏂囦歡涓唴宓岀殑debuger璋冭瘯淇℃伅錛屽絎﹀彿琛ㄧ殑綆$悊錛屽婧愪唬鐮佽〃杈懼紡鐨勮В鏋愶紝瀹氫綅婧愪唬鐮佷腑鐨勮鍙ヤ綅緗拰鏈哄櫒鐮佺殑浣嶇疆鍏崇郴絳夈傝繖涓閮ㄥ垎涔熸槸鐩存帴鍒╃敤浜咷DB鐨勭鍙峰鐞嗘ā鍧楋紝涔熸鏄湁浜嗚繖涓ā鍧楃殑鏀寔錛孲kyEye鍙互鏀寔婧愮爜綰ц皟璇曘?
  • 鐩爣鎺у埗妯″潡錛氫富瑕佸畬鎴愭墽琛屾帶鍒訛紙濡備腑鏂▼搴忕殑鎵ц錛岃緗腑鏂潯浠剁瓑錛夛紝紼嬪簭鏍堢粨鏋勫垎鏋愶紝瀵瑰叿浣撶洰鏍囩‖浠剁殑鎺у埗錛堝鏈湴璋冭瘯銆佽繙紼嬭皟璇曞拰妯℃嫙璋冭瘯鐨勬帶鍒訛級銆傝繖涓閮ㄥ垎瀹屾垚瀵筍kyEye涓婅繍琛岀殑杞歡鐨勬帶鍒訛紝鎻愪緵浜嗗縐嶈皟璇曟墜孌點?
  • 鐩爣妯℃嫙妯″潡錛氳繖涓閮ㄥ垎鏄疭kyEye鐨勬牳蹇冦傚畠鐨勫姛鑳芥槸妯′豢璁$畻鏈虹郴緇熶腑鐨勪富瑕佺‖浠訛紙鍖呮嫭CPU銆佸唴瀛樺拰鍚勭紜歡澶栬絳夛級鐨勬墽琛岋紝瀵規墽琛屾枃浠剁殑鏈哄櫒鎸囦護榪涜瑙i噴錛屽茍妯℃嫙鎵ц姣忎竴鏉℃満鍣ㄦ寚浠わ紝浜х敓鐩稿簲鐨勭‖浠跺搷搴旂瓑銆?




鍥為〉棣?/font>


鍥涳紟灝忕粨

鏈枃涓昏浠嬬粛浜哠kyEye紜歡妯℃嫙騫沖彴鐨勮搗婧愩佽儗鏅拰鍙戝睍鐘跺喌銆傚鏋滆鑰呰兘澶熺啛緇冩帉鎻kyEye鐨勪嬌鐢紝鍒欎細鎻愰珮寮鍙戙佽皟璇曟搷浣滅郴緇熺瓑鐨勮繘搴︼紝鐗瑰埆鏄鎿嶄綔緋葷粺銆侀┍鍔ㄧ▼搴忓浣曚笌宓屽叆寮忕‖浠剁郴緇熻繘琛屼氦浜掓湁鏇存繁鍒葷殑浜嗚В銆係kyEye榪樺湪涓嶆柇鍦板彂灞曚箣涓紝瀵筍kyEye鎰熷叴瓚g殑璇昏呴渶瑕佽窡韙渶鏂扮殑SkyEye婧愮爜鍜岀浉鍏蟲枃妗o紝騫跺彲鍦⊿kyEye璁哄潧涓婁笌SkyEye寮鍙戜漢鍛樿繘琛屽疄鏃朵氦嫻併?/p>

鍙傝冭祫鏂?



鍏充簬浣滆?/span>

闄堟笣, 娓呭崕澶у錛岄氳繃 yuchen@tsinghua.edu.cn 鍙互鍜屼粬鑱旂郴銆?



]]>
宓屽叆寮忚澶囦笂鐨?Linux 緋葷粺寮鍙?ZZ)http://www.shnenglu.com/fenixchen/articles/19635.html闄堥暱铏?/dc:creator>闄堥暱铏?/author>Mon, 12 Mar 2007 07:29:00 GMThttp://www.shnenglu.com/fenixchen/articles/19635.htmlhttp://www.shnenglu.com/fenixchen/comments/19635.htmlhttp://www.shnenglu.com/fenixchen/articles/19635.html#Feedback0http://www.shnenglu.com/fenixchen/comments/commentRss/19635.htmlhttp://www.shnenglu.com/fenixchen/services/trackbacks/19635.html綰у埆: 鍒濈駭

Anand K Santhanam (asanthan@in.ibm.com), 杞歡宸ョ▼甯? IBM Global Services
Vishal Kulkarni (kvishal@in.ibm.com), 杞歡宸ョ▼甯? IBM Global Services

2002 騫?3 鏈?01 鏃?/p>

濡傛灉鎮ㄥ垰鎺ヨЕ宓屽叆寮忓紑鍙戯紝閭d箞澶ч噺鍙敤鐨勫紩瀵艱杞界▼搴忥紙bootloader錛夈佽妯$緝灝忕殑鍒嗗彂鐗堬紙distribution錛夈佹枃浠剁郴緇熷拰 GUI 鐪嬭搗鏉ュ彲鑳藉お澶氫簡銆備絾鏄繖浜涗赴瀵岀殑閫夐」瀹為檯涓婃槸涓縐嶆仼璧愶紝鍏佽鎮ㄨ皟鏁村紑鍙戞垨鐢ㄦ埛鐜浠ュ畬鍏ㄧ鍚堟偍鐨勯渶瑕併傚 Linux 宓屽叆寮忓紑鍙戠殑姒傝堪灝嗗府鍔╂偍鐞嗚В鎵鏈夎繖浜涢夐」銆?/blockquote>

Linux 姝e湪宓屽叆寮忓紑鍙戦鍩熺ǔ姝ュ彂灞曘傚洜涓?Linux 浣跨敤 GPL錛堣鍙傞槄鏈枃鍚庨潰鐨?鍙傝冭祫鏂?/font>錛夛紝鎵浠ヤ換浣曞灝?Linux 瀹氬埗浜?PDA銆佹帉涓婃満鎴栬呭彲浣╁甫璁懼鎰熷叴瓚g殑浜洪兘鍙互浠庡洜鐗圭綉鍏嶈垂涓嬭澆鍏跺唴鏍稿拰搴旂敤紼嬪簭錛屽茍寮濮嬬Щ妞嶆垨寮鍙戙傝澶?Linux 鏀硅壇鍝佺榪庡悎浜嗗祵鍏ュ紡錛忓疄鏃跺競鍦恒傚畠浠寘鎷?RTLinux錛堝疄鏃?Linux錛夈乽clinux錛堢敤浜庨潪 MMU 璁懼鐨?Linux錛夈丮ontavista Linux錛堢敤浜?ARM銆丮IPS銆丳PC 鐨?Linux 鍒嗗彂鐗堬級銆丄RM-Linux錛圓RM 涓婄殑 Linux錛夊拰鍏跺畠 Linux 緋葷粺錛堣鍙傞槄 鍙傝冭祫鏂?/font>浠ラ摼鎺ュ埌鏈枃涓彁鍒扮殑榪欎簺鍜屽叾瀹冩湳璇強浜у搧銆傦級

宓屽叆寮?Linux 寮鍙戝ぇ鑷存秹鍙婁笁涓眰嬈★細寮曞瑁呰澆紼嬪簭銆丩inux 鍐呮牳鍜屽浘褰㈢敤鎴風晫闈紙鎴栫О GUI錛夈傚湪鏈枃涓紝鎴戜滑灝嗛泦涓璁烘秹鍙婅繖涓夊眰鐨勪竴浜涘熀鏈蹇碉紱娣卞叆浜嗚В寮曞瑁呰澆紼嬪簭銆佸唴鏍稿拰鏂囦歡緋葷粺鏄浣曚氦浜掔殑錛涘茍灝嗙爺絀跺彲鐢ㄤ簬鏂囦歡緋葷粺銆丟UI 鍜屽紩瀵艱杞界▼搴忕殑浼楀閫夐」涓殑涓閮ㄥ垎銆?/p>

寮曞瑁呰澆紼嬪簭

寮曞瑁呰澆紼嬪簭閫氬父鏄湪浠諱綍紜歡涓婃墽琛岀殑絎竴孌典唬鐮併傚湪璞″彴寮忔満榪欐牱鐨勫父瑙勭郴緇熶腑錛岄氬父灝嗗紩瀵艱杞界▼搴忚鍏ヤ富寮曞璁板綍錛圡aster Boot Record錛?MBR)錛変腑錛屾垨鑰呰鍏?Linux 椹葷暀鐨勭鐩樼殑絎竴涓墖鍖轟腑銆傞氬父錛屽湪鍙板紡鏈烘垨鍏跺畠緋葷粺涓婏紝BIOS 灝嗘帶鍒剁Щ浜ょ粰寮曞瑁呰澆紼嬪簭銆傝繖灝辨彁鍑轟簡涓涓湁瓚g殑闂錛氳皝灝嗗紩瀵艱杞界▼搴忚鍏ワ紙鍦ㄥぇ澶氭暟鎯呭喌涓級娌℃湁 BIOS 鐨勫祵鍏ュ紡璁懼涓婂憿錛?/p>

瑙e喅榪欎釜闂鏈変袱縐嶅父瑙勬妧鏈細涓撶敤杞歡鍜屽井灝忕殑寮曞浠g爜錛坱iny bootcode錛夈?/p>

涓撶敤杞歡鍙互鐩存帴涓庤繙紼嬬郴緇熶笂鐨勯棯瀛樿澶囪繘琛屼氦浜掑茍灝嗗紩瀵艱杞界▼搴忓畨瑁呭湪闂瓨鐨勭粰瀹氫綅緗腑銆?闂瓨璁懼鏄笌瀛樺偍璁懼鍔熻兘綾諱技鐨勭壒孌婅姱鐗囷紝鑰屼笖瀹冧滑鑳芥寔涔呭瓨鍌ㄤ俊鎭?鈥?鍗籌紝鍦ㄩ噸鏂板紩瀵兼椂涓嶄細鎿﹂櫎鍏跺唴瀹廣?

榪欎釜杞歡浣跨敤鐩爣錛堝湪宓屽叆寮忓紑鍙戜腑錛屽祵鍏ュ紡璁懼閫氬父琚О涓?鐩爣錛変笂鐨?JTAG 绔彛錛屽畠鏄敤浜庢墽琛屽閮ㄨ緭鍏ワ紙閫氬父鏉ヨ嚜涓繪満鏈哄櫒錛夌殑鎸囦護鐨勬帴鍙c侸Flash-linux 鏄竴縐嶇敤浜庣洿鎺ュ啓闂瓨鐨勬祦琛屽伐鍏楓傚畠鏀寔涓烘暟浼楀鐨勯棯瀛樿姱鐗囷紱瀹冨湪涓繪満鏈哄櫒錛堥氬父鏄?i386 鏈哄櫒 鈥?鏈枃涓垜浠妸涓鍙?i386 鏈哄櫒縐頒負 涓繪満錛変笂鎵ц騫墮氳繃 JTAG 鎺ュ彛浣跨敤騫惰绔彛璁塊棶鐩爣鐨勯棯瀛樿姱鐗囥傚綋鐒訛紝榪欐剰鍛崇潃鐩爣闇瑕佹湁涓涓茍琛屾帴鍙d嬌瀹冭兘涓庝富鏈洪氫俊銆侸flash-linux 鍦?Linux 鍜?Windows 鐗堟湰涓兘鍙嬌鐢紝鍙互鍦ㄥ懡浠よ涓敤浠ヤ笅鍛戒護鍚姩瀹冿細

Jflash-linux <bootloader>

鏌愪簺縐嶇被鐨勫祵鍏ュ紡璁懼鍏鋒湁 寰皬鐨勫紩瀵間唬鐮?/b>鈥?鏍規嵁鍑犱釜瀛楄妭鐨勬寚浠?鈥?瀹冨皢鍒濆鍖栦竴浜?DRAM 璁劇疆騫跺惎鐢ㄧ洰鏍囦笂鐨勪竴涓覆琛岋紙鎴栬?USB錛屾垨鑰呬互澶綉錛夌鍙d笌涓繪満紼嬪簭閫氫俊銆傜劧鍚庯紝涓繪満紼嬪簭鎴栬鍏ョ▼搴忓彲浠ヤ嬌鐢ㄨ繖涓繛鎺ュ皢寮曞瑁呰澆紼嬪簭浼犻佸埌鐩爣涓婏紝騫跺皢瀹冨啓鍏ラ棯瀛樸?

鍦ㄥ畨瑁呭畠騫剁粰浜堝叾鎺у埗鍚庯紝榪欎釜寮曞瑁呰澆紼嬪簭鎵ц涓嬪垪鍚勭被鍔熻兘錛?/p>

  • 鍒濆鍖?CPU 閫熷害
  • 鍒濆鍖栧唴瀛橈紝鍖呮嫭鍚敤鍐呭瓨搴撱佸垵濮嬪寲鍐呭瓨閰嶇疆瀵勫瓨鍣ㄧ瓑
  • 鍒濆鍖栦覆琛岀鍙o紙濡傛灉鍦ㄧ洰鏍囦笂鏈夌殑璇濓級
  • 鍚敤鎸囦護錛忔暟鎹珮閫熺紦瀛?
  • 璁劇疆鍫嗘爤鎸囬拡
  • 璁劇疆鍙傛暟鍖哄煙騫舵瀯閫犲弬鏁扮粨鏋勫拰鏍囪錛堣繖鏄噸瑕佺殑涓姝ワ紝鍥犱負鍐呮牳鍦ㄦ爣璇嗘牴璁懼銆侀〉闈㈠ぇ灝忋佸唴瀛樺ぇ灝忎互鍙婃洿澶氬唴瀹規椂瑕佷嬌鐢ㄥ紩瀵煎弬鏁幫級
  • 鎵ц POST錛堝姞鐢佃嚜媯錛夋潵鏍囪瘑瀛樺湪鐨勮澶囧茍鎶ュ憡浠諱綍闂
  • 涓虹數婧愮鐞嗘彁渚涙寕璧鳳紡鎭㈠鏀寔
  • 璺寵漿鍒板唴鏍哥殑寮濮?

甯︽湁寮曞瑁呰澆紼嬪簭銆佸弬鏁扮粨鏋勩佸唴鏍稿拰鏂囦歡緋葷粺鐨勭郴緇熷吀鍨嬪唴瀛樺竷灞鍙兘濡備笅鎵紺猴細



娓呭崟 1. 鍏稿瀷鍐呭瓨甯冨眬
   /* Top Of Memory */ 
        Bootloader
        Parameter Area 
        Kernel 
        Filesystem
    /* End Of Memory */ 

宓屽叆寮忚澶囦笂涓浜涙祦琛岀殑騫跺彲鍏嶈垂浣跨敤鐨?Linux 寮曞瑁呰澆紼嬪簭鏈?Blob銆丷edboot 鍜?Bootldr錛堣鍙傞槄 鍙傝冭祫鏂?/font>鑾峰緱閾炬帴錛夈傛墍鏈夎繖浜涘紩瀵艱杞界▼搴忛兘鐢ㄤ簬鍩轟簬 ARM 璁懼涓婄殑 Linux錛屽茍闇瑕?Jflash-linux 宸ュ叿鐢ㄤ簬瀹夎銆?

涓鏃﹀皢寮曞瑁呰澆紼嬪簭瀹夎鍒扮洰鏍囩殑闂瓨涓紝瀹冨氨浼氭墽琛屾垜浠笂闈㈡彁鍒扮殑鎵鏈夊垵濮嬪寲宸ヤ綔銆傜劧鍚庯紝瀹冨噯澶囨帴鏀舵潵鑷富鏈虹殑鍐呮牳鍜屾枃浠剁郴緇熴備竴鏃﹁鍏ヤ簡鍐呮牳錛屽紩瀵艱杞界▼搴忓氨灝嗘帶鍒惰漿緇欏唴鏍搞?/p>



鍥為〉棣?/font>


璁劇疆宸ュ叿閾?/span>

璁劇疆宸ュ叿閾懼湪涓繪満鏈哄櫒涓婂垱寤轟竴涓敤浜庣紪璇戝皢鍦ㄧ洰鏍囦笂榪愯鐨勫唴鏍稿拰搴旂敤紼嬪簭鐨勬瀯寤虹幆澧?鈥?榪欐槸鍥犱負鐩爣紜歡鍙兘娌℃湁涓庝富鏈哄吋瀹圭殑浜岃繘鍒舵墽琛岀駭鍒?/p>

宸ュ叿閾劇敱涓濂楃敤浜庣紪璇戙佹眹緙栧拰閾炬帴鍐呮牳鍙婂簲鐢ㄧ▼搴忕殑緇勪歡緇勬垚銆?榪欎簺緇勪歡鍖呮嫭錛?/p>

  • Binutils 鈥?鐢ㄤ簬鎿嶄綔浜岃繘鍒舵枃浠剁殑瀹炵敤紼嬪簭闆嗗悎銆傚畠浠寘鎷濡?ar 銆?as 銆?objdump 銆?objcopy 榪欐牱鐨勫疄鐢ㄧ▼搴忋?
  • Gcc鈥?GNU C 緙栬瘧鍣ㄣ?
  • Glibc鈥?鎵鏈夌敤鎴峰簲鐢ㄧ▼搴忛兘灝嗛摼鎺ュ埌鐨?C 搴撱傞伩鍏嶄嬌鐢ㄤ換浣?C 搴撳嚱鏁扮殑鍐呮牳鍜屽叾瀹冨簲鐢ㄧ▼搴忓彲浠ュ湪娌℃湁璇ュ簱鐨勬儏鍐典笅榪涜緙栬瘧銆?

鏋勫緩宸ュ叿閾懼緩绔嬩簡涓涓氦鍙夌紪璇戝櫒鐜銆?鏈湴緙栬瘧鍣?/i>緙栬瘧涓庢湰鏈哄悓綾葷殑澶勭悊鍣ㄧ殑鎸囦護銆?浜ゅ弶緙栬瘧鍣?/i>榪愯鍦ㄦ煇涓縐嶅鐞嗗櫒涓婏紝鍗村彲浠ョ紪璇戝彟涓縐嶅鐞嗗櫒鐨勬寚浠ゃ傞噸澶磋緗氦鍙夌紪璇戝櫒宸ュ叿閾懼彲涓嶆槸涓欏圭畝鍗曠殑浠誨姟錛氬畠鍖呮嫭涓嬭澆婧愪唬鐮併佷慨琛ヨˉ涓併侀厤緗佺紪璇戙佽緗ご鏂囦歡銆佸畨瑁呬互鍙婂緢澶氬緢澶氱殑鎿嶄綔銆傚彟澶栵紝榪欐牱涓涓交搴曠殑鏋勫緩榪囩▼瀵瑰唴瀛樺拰紜洏鐨勯渶姹傛槸宸ㄥぇ鐨勩傚鏋滄病鏈夎凍澶熺殑鍐呭瓨鍜岀‖鐩樼┖闂達紝閭d箞鍦ㄦ瀯寤洪樁孌電敱浜庣浉鍏蟲с侀厤緗垨澶存枃浠惰緗瓑闂浼氱獊鐒跺啋鍑鴻澶氶棶棰樸?

鍥犳鑳藉浠庡洜鐗圭綉涓婅幏寰楀凡棰勭紪璇戠殑浜岃繘鍒舵枃浠舵槸涓浠跺ソ浜嬶紙浣嗕笉澶ソ鐨勪竴鐐規槸錛岀洰鍓嶅畠浠ぇ澶氭暟鍙檺浜庡熀浜?ARM 鐨勭郴緇燂紝浣嗚繜鏃╀細鏀瑰彉鐨勶級銆備竴浜涙瘮杈冩祦琛岀殑宸查緙栬瘧鐨勫伐鍏烽摼鍖呮嫭閭d簺鏉ヨ嚜 Compaq錛團amiliar Linux 錛夈丩ART錛圠ART Linux錛夊拰 Embedian錛堝熀浜?Debian 浣嗕笌瀹冩棤鍏籌級鐨勫伐鍏烽摼 鈥?鎵鏈夎繖浜涘伐鍏烽摼閮界敤浜庡熀浜?ARM 鐨勫鉤鍙般?/p>

鍐呮牳璁劇疆

Linux 紺懼尯姝gН鏋佸湴涓烘柊紜歡娣誨姞鍔熻兘閮ㄤ歡鍜屾敮鎸併佸湪鍐呮牳涓慨姝i敊璇茍涓斿強鏃跺湴榪涜甯歌鏀硅繘銆傝繖瀵艱嚧澶х害姣?6 涓湀錛堟垨 6 涓湀涓嶅埌錛夊氨鏈変竴涓ǔ瀹氱殑 Linux 鏍戠殑鏂板彂琛岀増銆備笉鍚岀殑緇存姢鑰呯淮鎶ら拡瀵圭壒瀹氫綋緋葷粨鏋勭殑涓嶅悓鍐呮牳鏍戝拰琛ヤ竵銆傚綋涓轟竴涓」鐩夋嫨浜嗕竴涓唴鏍告椂錛屾偍闇瑕佽瘎浼版渶鏂板彂琛岀増鐨勭ǔ瀹氭у浣曘佸畠鏄惁絎﹀悎欏圭洰瑕佹眰鍜岀‖浠跺鉤鍙般佷粠緙栫▼瑙掑害鏉ョ湅瀹冪殑鑸掗傜▼搴︿互鍙婂叾瀹冮毦浠ョ‘瀹氱殑鏂歸潰銆傝繕鏈変竴鐐逛篃闈炲父閲嶈錛氭壘鍒伴渶瑕佸簲鐢ㄤ簬鍩烘湰鍐呮牳鐨勬墍鏈夎ˉ涓侊紝浠ヤ究涓虹壒瀹氱殑浣撶郴緇撴瀯璋冩暣鍐呮牳銆?/p>

鍐呮牳甯冨眬

鍐呮牳甯冨眬鍒嗕負鐗瑰畾浜庝綋緋葷粨鏋勭殑閮ㄥ垎鍜屼笌浣撶郴緇撴瀯鏃犲叧鐨勯儴鍒嗐傚唴鏍鎬腑鐗瑰畾浜庝綋緋葷粨鏋勭殑閮ㄥ垎棣栧厛鎵ц錛岃緗‖浠跺瘎瀛樺櫒銆侀厤緗唴瀛樻槧灝勩佹墽琛岀壒瀹氫簬浣撶郴緇撴瀯鐨勫垵濮嬪寲錛岀劧鍚庡皢鎺у埗杞粰鍐呮牳涓笌浣撶郴緇撴瀯鏃犲叧鐨勯儴鍒嗐傜郴緇熺殑鍏朵綑閮ㄥ垎鍦ㄨ繖絎簩涓樁孌墊湡闂磋繘琛屽垵濮嬪寲銆傚唴鏍告爲涓嬬殑鐩綍 arch/ 鐢變笉鍚岀殑瀛愮洰褰曠粍鎴愶紝姣忎釜瀛愮洰褰曠敤浜庝竴涓笉鍚岀殑浣撶郴緇撴瀯錛圡IPS銆丄RM銆乮386銆丼PARC銆丳PC 絳夛級銆傛瘡涓涓繖鏍風殑瀛愮洰褰曢兘鍖呭惈 kernel/ 鍜?mm/ 瀛愮洰褰曪紝瀹冧滑鍖呭惈鐗瑰畾浜庝綋緋葷粨鏋勭殑浠g爜鏉ュ畬鎴愯薄鍒濆鍖栧唴瀛樸佽緗?IRQ銆佸惎鐢ㄩ珮閫熺紦瀛樸佽緗唴鏍擱〉闈㈣〃絳夋搷浣溿備竴鏃﹁鍏ュ唴鏍稿茍緇欎簣鍏舵帶鍒訛紝灝遍鍏堣皟鐢ㄨ繖浜涘嚱鏁幫紝鐒跺悗鍒濆鍖栫郴緇熺殑鍏朵綑閮ㄥ垎銆?/p>

鏍規嵁鍙敤鐨勭郴緇熻祫婧愬拰寮曞瑁呰澆紼嬪簭鐨勫姛鑳斤紝鍐呮牳鍙互緙栬瘧鎴?vmlinux銆両mage 鎴?zImage銆倂mlinux 鍜?zImage 涔嬮棿鐨勪富瑕佸尯鍒湪浜?vmlinux鏄疄闄呯殑錛堟湭鍘嬬緝鐨勶級鍙墽琛屾枃浠訛紝鑰?zImage鏄垨澶氭垨灝戝寘鍚浉鍚屼俊鎭殑鑷В鍘嬪帇緙╂枃浠?鈥?鍙槸鍘嬬緝瀹冧互澶勭悊錛堥氬父鏄?Intel 寮哄埗鐨勶級640 KB 寮曞鏃墮棿鐨勯檺鍒躲傛湁鍏蟲墍鏈夎繖浜涚殑鏉冨▉鎬цВ閲婏紝璇峰弬闃?Linux Magazine鐨勬枃绔犫淜ernel Configuration: dealing with the unexpected鈥濓紙璇峰弬闃?鍙傝冭祫鏂?/font>錛夈?

鍐呮牳閾炬帴鍜岃鍏?/font>

涓鏃︿負鐩爣緋葷粺緙栬瘧浜嗗唴鏍稿悗錛岄氳繃浣跨敤寮曞瑁呰澆紼嬪簭錛堝畠宸茬粡琚鍏ュ埌鐩爣鐨勯棯瀛樹腑錛夛紝鍐呮牳灝辮瑁呭叆鍒扮洰鏍囩郴緇熺殑鍐呭瓨錛堝湪 DRAM 涓垨鑰呭湪闂瓨涓級銆傞氳繃浣跨敤涓茶銆乁SB 鎴栦互澶綉绔彛錛屽紩瀵艱杞界▼搴忎笌涓繪満閫氫俊浠ュ皢鍐呮牳浼犻佸埌鐩爣鐨勯棯瀛樻垨 DRAM 涓傚湪灝嗗唴鏍稿畬鍏ㄨ鍏ョ洰鏍囧悗錛屽紩瀵艱杞界▼搴忓皢鎺у埗浼犻掔粰瑁呭叆鍐呮牳鐨勫湴鍧銆?/p>

鍐呮牳鍙墽琛屾枃浠剁敱璁稿閾炬帴鍦ㄤ竴璧風殑瀵硅薄鏂囦歡緇勬垚銆傚璞℃枃浠舵湁璁稿鑺傦紝濡傛枃鏈佹暟鎹乮nit 鏁版嵁銆乥ass 絳夌瓑銆傝繖浜涘璞℃枃浠墮兘鏄敱涓涓О涓?閾炬帴鍣ㄨ剼鏈?/i>鐨勬枃浠墮摼鎺ュ茍瑁呭叆鐨勩傝繖涓摼鎺ュ櫒鑴氭湰鐨勫姛鑳芥槸灝嗚緭鍏ュ璞℃枃浠剁殑鍚勮妭鏄犲皠鍒拌緭鍑烘枃浠朵腑錛涙崲鍙ヨ瘽璇達紝瀹冨皢鎵鏈夎緭鍏ュ璞℃枃浠墮兘閾炬帴鍒板崟涓鐨勫彲鎵ц鏂囦歡涓紝灝嗚鍙墽琛屾枃浠剁殑鍚勮妭瑁呭叆鍒版寚瀹氬湴鍧澶勩?vmlinux.lds鏄瓨鍦ㄤ簬 arch/<target>/ 鐩綍涓殑鍐呮牳閾炬帴鍣ㄨ剼鏈紝瀹冭礋璐i摼鎺ュ唴鏍哥殑鍚勪釜鑺傚茍灝嗗畠浠鍏ュ唴瀛樹腑鐗瑰畾鍋忕Щ閲忓銆傚吀鍨嬬殑 vmlinux.lds 鐪嬭搗鏉ヨ薄榪欐牱錛?



娓呭崟 2. 鍏稿瀷鐨?vmlinux.lds 鏂囦歡
OUTPUT_ARCH(<arch>)      /* <arch> includes architecture type */ 
 ENTRY(stext)               /* stext is the kernel entry point */ 
 SECTIONS                   /* SECTIONS command describes the layout
                   of the output file */ 
 { 
     .  = TEXTADDR;         /* TEXTADDR is LMA for the kernel */ 
     .init : {          /* Init code and data*/ 
              _stext = .;       /* First section is stext followed 
                   by __init data section */ 
              __init_begin = .; 
                     *(.text.init) 
              __init_end = .; 
             } 
     .text : {          /* Real text segment follows __init_data section */ 
              _text = .; 
                     *(.text) 
              _etext = .;       /* End of text section*/ 
             } 
     .data :{ 
              _data=.;          /* Data section comes after text section */ 
                     *(.data) 
              _edata=.;  
             }                  /* Data section ends here */ 
     .bss : {                   /* BSS section follows symbol table section */ 
              __bss_start = .; 
                     *(.bss) 
              _end = . ;        /* BSS section ends here */  
             } 
  } 

LMA 鏄鍏ユā鍧楀湴鍧錛涘畠琛ㄧず灝嗚瑁呭叆鍐呮牳鐨勭洰鏍囪櫄鎷熷唴瀛樹腑鐨勫湴鍧銆?TEXTADDR 鏄唴鏍哥殑铏氭嫙璧峰鍦板潃錛屽茍涓斿湪 arch/<target>/ 涓嬬殑 Makefile 涓寚瀹氬畠鐨勫箋傝繖涓湴鍧蹇呴』涓庡紩瀵艱杞界▼搴忎嬌鐢ㄧ殑鍦板潃鐩稿尮閰嶃?

涓鏃﹀紩瀵艱杞界▼搴忓皢鍐呮牳澶嶅埗鍒伴棯瀛樻垨 DRAM 涓紝鍐呮牳灝辮閲嶆柊瀹氫綅鍒?TEXTADDR 鈥?瀹冮氬父鍦?DRAM 涓傜劧鍚庯紝寮曞瑁呰澆紼嬪簭灝嗘帶鍒惰漿緇欒繖涓湴鍧錛屼互渚垮唴鏍歌兘寮濮嬫墽琛屻?

鍙傛暟浼犻掑拰鍐呮牳寮曞

stext 鏄唴鏍稿叆鍙g偣錛岃繖鎰忓懗鐫鍦ㄥ唴鏍稿紩瀵兼椂灝嗛鍏堟墽琛岃繖涓鑺備笅鐨勪唬鐮併傚畠閫氬父鐢ㄦ眹緙栬璦緙栧啓錛屽茍涓旈氬父瀹冨湪 arch/<target>/ 鍐呮牳鐩綍涓嬨傝繖涓唬鐮佽緗唴鏍擱〉闈㈢洰褰曘佸垱寤鴻韓浠藉唴鏍告槧灝勩佹爣璇嗕綋緋葷粨鏋勫拰澶勭悊鍣ㄤ互鍙婃墽琛屽垎鏀?start_kernel 錛堝垵濮嬪寲緋葷粺鐨勪富渚嬬▼錛夈?

start_kernel 璋冪敤 setup_arch 浣滀負鎵ц鐨勭涓姝ワ紝鍦ㄥ叾涓畬鎴愮壒瀹氫簬浣撶郴緇撴瀯鐨勮緗傝繖鍖呮嫭鍒濆鍖栫‖浠跺瘎瀛樺櫒銆佹爣璇嗘牴璁懼鍜岀郴緇熶腑鍙敤鐨?DRAM 鍜岄棯瀛樼殑鏁伴噺銆佹寚瀹氱郴緇熶腑鍙敤欏甸潰鐨勬暟鐩佹枃浠剁郴緇熷ぇ灝忕瓑絳夈傛墍鏈夎繖浜涗俊鎭兘浠ュ弬鏁板艦寮忎粠寮曞瑁呰澆紼嬪簭浼犻掑埌鍐呮牳銆?

灝嗗弬鏁頒粠寮曞瑁呰澆紼嬪簭浼犻掑埌鍐呮牳鏈変袱縐嶆柟娉曪細parameter_structure 鍜屾爣璁板垪琛ㄣ傚湪榪欎袱縐嶆柟娉曚腑錛屼笉璧炴垚浣跨敤鍙傛暟緇撴瀯錛屽洜涓哄畠寮哄姞浜嗛檺鍒訛細鎸囧畾鍦ㄥ唴瀛樹腑錛屾瘡涓弬鏁板繀欏諱綅浜?param_struct 涓殑鐗瑰畾鍋忕Щ閲忓銆傛渶鏂扮殑鍐呮牳鏈熸湜鍙傛暟浣滀負鏍囪鍒楄〃鐨勬牸寮忔潵浼犻掞紝騫跺皢鍙傛暟杞寲涓哄凡鏍囪鏍煎紡銆?param_struct 瀹氫箟鍦?include/asm/setup.h 涓傚畠鐨勪竴浜涢噸瑕佸瓧孌墊槸錛?



娓呭崟 3. 鏍鋒湰鍙傛暟緇撴瀯
struct param_struct  { 
  unsigned long page_size;     /* 0:  Size of the page  */ 
  unsigned long nr_pages;      /* 4:  Number of pages in the system */ 
  unsigned long ramdisk        /* 8: ramdisk size */ 
  unsigned long rootdev;       /* 16: Number representing the root device */ 
  unsigned long initrd_start;  /* 64: starting address of initial ramdisk */
                                      /* This can be either in flash/dram */ 
  unsigned long initrd_size;   /* 68: size of initial ramdisk */ 
 }

璇鋒敞鎰忥細榪欎簺鏁拌〃紺哄畾涔夊瓧孌電殑鍙傛暟緇撴瀯涓殑鍋忕Щ閲忋傝繖鎰忓懗鐫濡傛灉寮曞瑁呰澆紼嬪簭灝嗗弬鏁扮粨鏋勬斁緗湪鍦板潃 0xc0000100錛岄偅涔?rootdev 鍙傛暟灝嗘斁緗湪 0xc0000100 + 16錛宨nitrd_start 灝嗘斁緗湪 0xc0000100 + 64 絳夌瓑 鈥?鍚﹀垯錛屽唴鏍稿皢鍦ㄨВ閲婃紜殑鍙傛暟鏃墮亣鍒板洶闅俱?/p>

姝e涓婇潰鎻愬埌鐨勶紝鍥犱負浠庡紩瀵艱杞界▼搴忓埌鍐呮牳鐨勫弬鏁頒紶閫掍細鏈変竴浜涚害鏉熸潯浠訛紝鎵浠ュぇ澶氭暟 2.4.x 緋誨垪鍐呮牳鏈熸湜鍙傛暟浠ュ凡鏍囪鐨勫垪琛ㄦ牸寮忎紶閫掋傚湪宸叉爣璁扮殑鍒楄〃涓紝姣忎釜鏍囪鐢辨爣璇嗚浼犻掑弬鏁扮殑 tag_header 浠ュ強鍏跺悗鐨勫弬鏁板肩粍鎴愩傛爣璁板垪琛ㄤ腑鏍囪鐨勫父瑙勬牸寮忓彲浠ュ涓嬫墍紺猴細



娓呭崟 4. 鏍鋒湰鏍囪鏍煎紡銆傚唴鏍擱氳繃 <ATAG_TAGNAME> 澶存潵鏍囪瘑姣忎釜鏍囪銆?/b>
#define <aTAG_TAGNAME>  <Some Magic number> 
 struct <tag_tagname> { 
         u32 <tag_param>; 
         u32 <tag_param>; 
 }; 
 /* Example tag for passing memory information */ 
 #define ATAG_MEM        0x54410002  /* Magic number */ 
 struct tag_mem32 { 
         u32     size;               /* size of memory */ 
         u32     start;              /* physical start address of memory*/ 
 }; 

setup_arch 榪橀渶瑕佸闂瓨瀛樺偍搴撱佺郴緇熷瘎瀛樺櫒鍜屽叾瀹冪壒瀹氳澶囨墽琛屽唴瀛樻槧灝勩備竴鏃﹀畬鎴愪簡鐗瑰畾浜庝綋緋葷粨鏋勭殑璁劇疆錛屾帶鍒跺氨榪斿洖鍒板垵濮嬪寲緋葷粺鍏朵綑閮ㄥ垎鐨?start_kernel 鍑芥暟銆傝繖浜涢檮鍔犵殑鍒濆鍖栦換鍔″寘鍚細

  • 璁劇疆闄烽槺
  • 鍒濆鍖栦腑鏂?
  • 鍒濆鍖栬鏃跺櫒
  • 鍒濆鍖栨帶鍒跺彴
  • 璋冪敤 mem_init 錛屽畠璁$畻鍚勭鍖哄煙銆侀珮鍐呭瓨鍖虹瓑鍐呯殑欏甸潰鏁伴噺
  • 鍒濆鍖?slab 鍒嗛厤鍣ㄥ茍涓?VFS銆佺紦鍐插尯楂橀熺紦瀛樼瓑鍒涘緩 slab 楂橀熺紦瀛?
  • 寤虹珛鍚勭鏂囦歡緋葷粺錛屽 proc銆乪xt2 鍜?JFFS2
  • 鍒涘緩 kernel_thread 錛屽畠鎵ц鏂囦歡緋葷粺涓殑 init 鍛戒護騫舵樉紺?lign 鎻愮ず絎︺?濡傛灉鍦?/bin銆?sbin 鎴?/etc 涓病鏈?init 紼嬪簭錛岄偅涔堝唴鏍稿皢鎵ц鏂囦歡緋葷粺鐨?/bin 涓殑 shell銆?




鍥為〉棣?/font>


璁懼椹卞姩紼嬪簭

宓屽叆寮忕郴緇熼氬父鏈夎澶氳澶囩敤浜庝笌鐢ㄦ埛浜や簰錛岃薄瑙︽懜灞忋佸皬閿洏銆佹粴鍔ㄨ疆銆佷紶鎰熷櫒銆丷A232 鎺ュ彛銆丩CD 絳夌瓑銆傞櫎浜嗚繖浜涜澶囧錛岃繕鏈夎澶氬叾瀹冧笓鐢ㄨ澶囷紝鍖呮嫭闂瓨銆乁SB銆丟SM 絳夈傚唴鏍擱氳繃鎵鏈夎繖浜涜澶囧悇鑷殑璁懼椹卞姩紼嬪簭鏉ユ帶鍒跺畠浠紝鍖呮嫭 GUI 鐢ㄦ埛搴旂敤紼嬪簭涔熼氳繃璁塊棶榪欎簺椹卞姩紼嬪簭鏉ヨ闂澶囥傛湰鑺傜潃閲嶈璁洪氬父鍑犱箮鍦ㄦ瘡涓祵鍏ュ紡鐜涓兘浼氫嬌鐢ㄧ殑涓浜涢噸瑕佽澶囩殑璁懼椹卞姩紼嬪簭銆?/p>

甯х紦鍐插尯椹卞姩紼嬪簭

榪欐槸鏈閲嶈鐨勯┍鍔ㄧ▼搴忎箣涓錛屽洜涓洪氳繃榪欎釜椹卞姩紼嬪簭鎵嶈兘浣跨郴緇熷睆騫曟樉紺哄唴瀹廣傚撫緙撳啿鍖洪┍鍔ㄧ▼搴忛氬父鏈変笁灞傘傛渶搴曞眰鏄熀鏈帶鍒跺彴椹卞姩紼嬪簭 drivers/char/console.c錛屽畠鎻愪緵浜嗘枃鏈帶鍒跺彴甯歌鎺ュ彛鐨勪竴閮ㄥ垎銆傞氳繃浣跨敤鎺у埗鍙伴┍鍔ㄧ▼搴忓嚱鏁幫紝鎴戜滑鑳藉皢鏂囨湰鎵撳嵃鍒板睆騫曚笂 鈥?浣嗗浘褰㈡垨鍔ㄧ敾榪樹笉鑳斤紙榪欐牱鍋氶渶瑕佷嬌鐢ㄨ棰戞ā寮忓姛鑳斤紝閫氬父鍑虹幇鍦ㄤ腑闂村眰錛屼篃灝辨槸 drivers/video/fbcon.c 涓級銆傝繖涓浜屽眰椹卞姩紼嬪簭鎻愪緵浜嗚棰戞ā寮忎腑緇樺浘鐨勫父瑙勬帴鍙c?/p>

甯х紦鍐插尯鏄樉鍗′笂鐨勫唴瀛橈紝闇瑕佸皢瀹冨唴瀛樻槧灝勫埌鐢ㄦ埛絀洪棿浠ヤ究鍙互灝嗗浘褰㈠拰鏂囨湰鑳藉啓鍒拌繖涓唴瀛樻涓婏細鐒跺悗榪欎釜淇℃伅灝嗗弽鏄犲埌灞忓箷涓娿傚撫緙撳啿鍖烘敮鎸佹彁楂樹簡緇樺浘鐨勯熷害鍜屾暣浣撴ц兘銆傝繖涔熸槸欏跺眰椹卞姩紼嬪簭寮曚漢娉ㄦ剰涔嬪錛氶《灞傛槸闈炲父鐗瑰畾浜庣‖浠剁殑椹卞姩紼嬪簭錛屽畠闇瑕佹敮鎸佹樉鍗′笉鍚岀殑紜歡鏂歸潰 鈥?璞″惎鐢紡紱佺敤鏄懼崱鎺у埗鍣ㄣ佹繁搴﹀拰妯″紡鐨勬敮鎸佷互鍙婅皟鑹叉澘絳夈傛墍鏈夎繖涓夊眰閮界浉浜掍緷璧栦互瀹炵幇姝g‘鐨勮棰戝姛鑳姐備笌甯х紦鍐插尯鏈夊叧鐨勮澶囨槸 /dev/fb0錛堜富璁懼鍙?29錛屾璁懼鍙?0錛夈?/p>

杈撳叆璁懼椹卞姩紼嬪簭

鍙Е鎽告澘鏄敤浜庡祵鍏ュ紡璁懼鐨勬渶鍩烘湰鐨勭敤鎴蜂氦浜掕澶囦箣涓 鈥?灝忛敭鐩樸佷紶鎰熷櫒鍜屾粴鍔ㄨ疆涔熷寘鍚湪璁稿涓嶅悓璁懼涓互鐢ㄤ簬涓嶅悓鐨勭敤閫斻?/p>

瑙︽懜鏉胯澶囩殑涓昏鍔熻兘鏄殢鏃舵姤鍛婄敤鎴風殑瑙︽懜錛屽茍鏍囪瘑瑙︽懜鐨勫潗鏍囥傝繖閫氬父鍦ㄦ瘡嬈″彂鐢熻Е鎽告椂錛岄氳繃鐢熸垚涓涓腑鏂潵瀹炵幇銆?/p>

鐒跺悗錛岃繖涓澶囬┍鍔ㄧ▼搴忕殑瑙掕壊鏄瘡褰撳嚭鐜頒腑鏂椂灝辨煡璇㈣Е鎽稿睆鎺у埗鍣紝騫惰姹傛帶鍒跺櫒鍙戦佽Е鎽哥殑鍧愭爣銆備竴鏃﹂┍鍔ㄧ▼搴忔帴鏀跺埌鍧愭爣錛屽畠灝卞皢鏈夊叧瑙︽懜鍜屼換浣曞彲鐢ㄦ暟鎹殑淇″彿鍙戦佺粰鐢ㄦ埛搴旂敤紼嬪簭錛屽茍灝嗘暟鎹彂閫佺粰搴旂敤紼嬪簭錛堝鏋滃彲鑳界殑璇濓級銆傜劧鍚庣敤鎴峰簲鐢ㄧ▼搴忔牴鎹畠鐨勯渶瑕佸鐞嗘暟鎹?/p>

鍑犱箮鎵鏈夎緭鍏ヨ澶?鈥?鍖呮嫭灝忛敭鐩?鈥?閮戒互綾諱技鍘熺悊宸ヤ綔銆?/p>

闂瓨 MTD 椹卞姩紼嬪簭

MTD 璁懼鏄薄闂瓨鑺墖銆佸皬鍨嬮棯瀛樺崱銆佽蹇嗘絳変箣綾葷殑璁懼錛屽畠浠湪宓屽叆寮忚澶囦腑鐨勪嬌鐢ㄦ鍦ㄤ笉鏂闀褲?/p>

MTD 椹卞姩紼嬪簭鏄湪 Linux 涓嬩笓闂ㄤ負宓屽叆寮忕幆澧冨紑鍙戠殑鏂扮殑涓綾婚┍鍔ㄧ▼搴忋傜浉瀵逛簬甯歌鍧楄澶囬┍鍔ㄧ▼搴忥紝浣跨敤 MTD 椹卞姩紼嬪簭鐨勪富瑕佷紭鐐瑰湪浜?MTD 椹卞姩紼嬪簭鏄笓闂ㄤ負鍩轟簬闂瓨鐨勮澶囨墍璁捐鐨勶紝鎵浠ュ畠浠氬父鏈夋洿濂界殑鏀寔銆佹洿濂界殑綆$悊鍜屽熀浜庢墖鍖虹殑鎿﹂櫎鍜岃鍐欐搷浣滅殑鏇村ソ鐨勬帴鍙c侺inux 涓嬬殑 MTD 椹卞姩紼嬪簭鎺ュ彛琚垝鍒嗕負涓ょ被妯″潡錛氱敤鎴鋒ā鍧楀拰紜歡妯″潡銆?/p>

鐢ㄦ埛妯″潡
榪欎簺妯″潡鎻愪緵浠庣敤鎴風┖闂寸洿鎺ヤ嬌鐢ㄧ殑鎺ュ彛錛氬師濮嬪瓧絎﹁闂佸師濮嬪潡璁塊棶銆丗TL錛堥棯瀛樿漿鎹㈠眰錛孎lash Transition Layer 鈥?鐢ㄥ湪闂瓨涓婄殑涓縐嶆枃浠剁郴緇燂級鍜?JFS錛堝嵆鏃ュ織鏂囦歡緋葷粺錛孞ournaled File System 鈥?鍦ㄩ棯瀛樹笂鐩存帴鎻愪緵鏂囦歡緋葷粺鑰屼笉鏄ā鎷熷潡璁懼錛夈傜敤浜庨棯瀛樼殑 JFS 鐨勫綋鍓嶇増鏈槸 JFFS2錛堢◢鍚庡皢鍦ㄦ湰鏂囦腑鎻忚堪錛夈?

紜歡妯″潡
榪欎簺妯″潡鎻愪緵瀵瑰唴瀛樿澶囩殑鐗╃悊璁塊棶錛屼絾騫朵笉鐩存帴浣跨敤瀹冧滑銆傞氳繃涓婅堪鐨勭敤鎴鋒ā鍧楁潵璁塊棶瀹冧滑銆傝繖浜涙ā鍧楁彁渚涗簡鍦ㄩ棯瀛樹笂璇匯佹摝闄ゅ拰鍐欐搷浣滅殑瀹為檯渚嬬▼銆?

MTD 椹卞姩紼嬪簭璁劇疆
涓轟簡璁塊棶鐗瑰畾鐨勯棯瀛樿澶囧茍灝嗘枃浠剁郴緇熺疆浜庡叾涓婏紝闇瑕佸皢 MTD 瀛愮郴緇熺紪璇戝埌鍐呮牳涓傝繖鍖呮嫭閫夋嫨閫傚綋鐨?MTD 紜歡鍜岀敤鎴鋒ā鍧椼傚綋鍓嶏紝MTD 瀛愮郴緇熸敮鎸佷負鏁頒紬澶氱殑闂瓨璁懼 鈥?騫朵笖鏈夎秺鏉ヨ秺澶氱殑椹卞姩紼嬪簭姝h娣誨姞榪涙潵浠ョ敤浜庝笉鍚岀殑闂瓨鑺墖銆?

鏈変袱涓祦琛岀殑鐢ㄦ埛妯″潡鍙惎鐢ㄥ闂瓨鐨勮闂細 MTD_CHAR 鍜?MTD_BLOCK 銆?

MTD_CHAR 鎻愪緵瀵歸棯瀛樼殑鍘熷瀛楃璁塊棶錛岃?MTD_BLOCK 灝嗛棯瀛樿璁′負鍙互鍦ㄤ笂闈㈠垱寤烘枃浠剁郴緇熺殑甯歌鍧楄澶囷紙璞?IDE 紓佺洏錛夈備笌 MTD_CHAR 鍏寵仈鐨勮澶囨槸 /dev/mtd0銆乵td1銆乵td2錛堢瓑絳夛級錛岃屼笌 MTD_BLOCK 鍏寵仈鐨勮澶囨槸 /dev/mtdblock0銆乵tdblock1錛堢瓑絳夛級銆傜敱浜?MTD_BLOCK 璁懼鎻愪緵璞″潡璁懼閭f牱鐨勬ā鎷燂紝閫氬父鏇村彲鍙栫殑鏄湪榪欎釜妯℃嫙鍩虹涓婂垱寤鴻薄 FTL 鍜?JFFS2 閭f牱鐨勬枃浠剁郴緇熴?

涓轟簡榪涜榪欎釜鎿嶄綔錛屽彲鑳介渶瑕佸垱寤哄垎鍖鴻〃灝嗛棯瀛樿澶囧垎鎷嗗埌寮曞瑁呰澆紼嬪簭鑺傘佸唴鏍歌妭鍜屾枃浠剁郴緇熻妭涓傛牱鏈垎鍖鴻〃鍙兘鍖呭惈浠ヤ笅淇℃伅錛?/p>

娓呭崟 5. MTD 鐨勭畝鍗曢棯瀛樿澶囧垎鍖?/b>
struct mtd_partition sample_partition = { 
      { 
                                           /* First partition */ 
            name : bootloader,             /* Bootloader section */ 
            size    : 0x00010000,          /* Size  */ 
            offset  : 0,          /* Offset from start of flash- location 0x0*/  
            mask_flags : MTD_WRITEABLE     /* This partition is not writable */ 
      },  
      {                                    /* Second partition */ 
            name : Kernel,                 /* Kernel section */ 
            size    :  0x00100000,         /* Size */ 
            offset : MTDPART_OFS_APPEND,   /* Append after bootloader section */ 
            mask_flags : MTD_WRITEABLE     /* This partition is not writable */ 
      },  
      {                                    /* Third partition */ 
            name : JFFS2,                  /* JFFS2 filesystem */ 
            size    :  MTDPART_SIZ_FULL,   /* Occupy rest of flash */ 
            offset :  MTDPART_OFS_APPEND   /* Append after kernel section */ 
      }
 }

涓婇潰鐨勫垎鍖鴻〃浣跨敤浜?MTD_BLOCK 鎺ュ彛瀵歸棯瀛樿澶囪繘琛屽垎鍖恒傝繖浜涘垎鍖虹殑璁懼鑺傜偣鏄細



綆鍗曢棯瀛樺垎鍖虹殑璁懼鑺傜偣
 User      device node         Major number    Minor number
  Bootloader    /dev/mtdblock0          31              0 
  Kernel        /dev/mtdblock1          31              1 
  Filesystem    /dev/mtdblock2          31              2 

鍦ㄦ湰渚嬩腑錛屽紩瀵艱杞界▼搴忓繀欏誨皢鏈夊叧 root 璁懼鑺傜偣錛?dev/mtdblock2錛夊拰鍙互鍦ㄩ棯瀛樹腑鎵懼埌鏂囦歡緋葷粺鐨勫湴鍧錛堟湰渚嬩腑鏄?FLASH_BASE_ADDRESS + 0x04000000 錛夌殑姝g‘鍙傛暟浼犻掑埌鍐呮牳銆備竴鏃﹀畬鎴愬垎鍖猴紝闂瓨璁懼灝卞噯澶囪鍏ユ垨鎸傝鏂囦歡緋葷粺銆?

Linux 涓?MTD 瀛愮郴緇熺殑涓昏鐩爣鏄湪緋葷粺鐨勭‖浠墮┍鍔ㄧ▼搴忓拰涓婂眰錛屾垨鐢ㄦ埛妯″潡涔嬮棿鎻愪緵閫氱敤鎺ュ彛銆傜‖浠墮┍鍔ㄧ▼搴忎笉闇瑕佺煡閬撹薄 JFFS2 鍜?FTL 閭f牱鐨勭敤鎴鋒ā鍧椾嬌鐢ㄧ殑鏂規硶銆傛墍鏈夊畠浠湡姝i渶瑕佹彁渚涚殑灝辨槸涓緇勫搴曞眰闂瓨緋葷粺榪涜 read 銆?write 鍜?erase 鎿嶄綔鐨勭畝鍗曚緥紼嬨?





鍥為〉棣?/font>


宓屽叆寮忚澶囩殑鏂囦歡緋葷粺

緋葷粺闇瑕佷竴縐嶄互緇撴瀯鍖栨牸寮忓瓨鍌ㄥ拰媯绱俊鎭殑鏂規硶錛涜繖灝遍渶瑕佹枃浠剁郴緇熺殑鍙備笌銆俁amdisk錛堣鍙傞槄 鍙傝冭祫鏂?/font>錛夋槸閫氳繃灝嗚綆楁満鐨?RAM 鐢ㄤ綔璁懼鏉ュ垱寤哄拰鎸傝鏂囦歡緋葷粺鐨勪竴縐嶆満鍒訛紝瀹冮氬父鐢ㄤ簬鏃犵洏緋葷粺錛堝綋鐒跺寘鎷井鍨嬪祵鍏ュ紡璁懼錛屽畠鍙寘鍚綔涓烘案涔呭瓨鍌ㄥ獟璐ㄧ殑闂瓨鑺墖錛夈?

鐢ㄦ埛鍙互鏍規嵁鍙潬鎬с佸仴澹у拰錛忔垨澧炲己鐨勫姛鑳界殑闇姹傛潵閫夋嫨鏂囦歡緋葷粺鐨勭被鍨嬨備笅涓鑺傚皢璁ㄨ鍑犱釜鍙敤閫夐」鍙婂叾浼樼己鐐廣?/p>

絎簩鐗堟墿灞曟枃浠剁郴緇燂紙Ext2fs錛?/font>

Ext2fs 鏄?Linux 浜嬪疄涓婄殑鏍囧噯鏂囦歡緋葷粺錛屽畠宸茬粡鍙栦唬浜嗗畠鐨勫墠浠?鈥?鎵╁睍鏂囦歡緋葷粺錛堟垨 Extfs錛夈侲xtfs 鏀寔鐨勬枃浠跺ぇ灝忔渶澶т負 2 GB錛屾敮鎸佺殑鏈澶ф枃浠跺悕縐板ぇ灝忎負 255 涓瓧絎?鈥?鑰屼笖瀹冧笉鏀寔绱㈠紩鑺傜偣錛堝寘鎷暟鎹慨鏀規椂闂存爣璁幫級銆侲xt2fs 鍋氬緱鏇村ソ錛涘畠鐨?浼樼偣鏄細

  • Ext2fs 鏀寔杈?4 TB 鐨勫唴瀛樸?
  • Ext2fs 鏂囦歡鍚嶇О鏈闀垮彲浠ュ埌 1012 涓瓧絎︺?
  • 褰撳垱寤烘枃浠剁郴緇熸椂錛岀鐞嗗憳鍙互閫夋嫨閫昏緫鍧楃殑澶у皬錛堥氬父澶у皬鍙夋嫨 1024銆?048 鍜?4096 瀛楄妭錛夈?
  • Ext2fs 浜嗗疄鐜板揩閫熺鍙烽摼鎺ワ細涓嶉渶瑕佷負姝ょ洰鐨勮屽垎閰嶆暟鎹潡錛屽茍涓斿皢鐩爣鍚嶇О鐩存帴瀛樺偍鍦ㄧ儲寮曡妭鐐癸紙inode錛夎〃涓傝繖浣挎ц兘鏈夋墍鎻愰珮錛岀壒鍒槸鍦ㄩ熷害涓娿?

鍥犱負 Ext2 鏂囦歡緋葷粺鐨勭ǔ瀹氭с佸彲闈犳у拰鍋ュ.鎬э紝鎵浠ュ嚑涔庡湪鎵鏈夊熀浜?Linux 鐨勭郴緇燂紙鍖呮嫭鍙板紡鏈恒佹湇鍔″櫒鍜屽伐浣滅珯 鈥?騫朵笖鐢氳嚦涓浜涘祵鍏ュ紡璁懼錛変笂閮戒嬌鐢?Ext2 鏂囦歡緋葷粺銆傜劧鑰岋紝褰撳湪宓屽叆寮忚澶囦腑浣跨敤 Ext2fs 鏃訛紝瀹冩湁涓浜?緙虹偣錛?

  • Ext2fs 鏄負璞?IDE 璁懼閭f牱鐨勫潡璁懼璁捐鐨勶紝榪欎簺璁懼鐨勯昏緫鍧楀ぇ灝忔槸 512 瀛楄妭錛? K 瀛楄妭絳夎繖鏍風殑鍊嶆暟銆傝繖涓嶅お閫傚悎浜庢墖鍖哄ぇ灝忓洜璁懼涓嶅悓鑰屼笉鍚岀殑闂瓨璁懼銆?
  • Ext2 鏂囦歡緋葷粺娌℃湁鎻愪緵瀵瑰熀浜庢墖鍖虹殑鎿﹂櫎錛忓啓鎿嶄綔鐨勮壇濂界鐞嗐傚湪 Ext2fs 涓紝涓轟簡鍦ㄤ竴涓墖鍖轟腑鎿﹂櫎鍗曚釜瀛楄妭錛屽繀欏誨皢鏁翠釜鎵囧尯澶嶅埗鍒?RAM錛岀劧鍚庢摝闄わ紝鐒跺悗閲嶅啓鍏ャ傝冭檻鍒伴棯瀛樿澶囧叿鏈夋湁闄愮殑鎿﹂櫎瀵垮懡錛堝ぇ綰﹁兘榪涜 100,000 嬈℃摝闄わ級錛屽湪姝や箣鍚庡氨涓嶈兘浣跨敤瀹冧滑錛屾墍浠ヨ繖涓嶆槸涓涓壒鍒ソ鐨勬柟娉曘?
  • 鍦ㄥ嚭鐜扮數婧愭晠闅滄椂錛孍xt2fs 涓嶆槸闃插穿婧冪殑銆?
  • Ext2 鏂囦歡緋葷粺涓嶆敮鎸佹崯鑰楀鉤琛★紝鍥犳緙╃煭浜嗘墖鍖猴紡闂瓨鐨勫鍛姐傦紙鎹熻楀鉤琛$‘淇濆皢鍦板潃鑼冨洿鐨勪笉鍚屽尯鍩熻疆嫻佺敤浜庡啓鍜岋紡鎴栨摝闄ゆ搷浣滀互寤墮暱闂瓨璁懼鐨勫鍛姐傦級
  • Ext2fs 娌℃湁鐗瑰埆瀹岀編鐨勬墖鍖虹鐞嗭紝榪欎嬌璁捐鍧楅┍鍔ㄧ▼搴忓崄鍒嗗洶闅俱?

鐢變簬榪欎簺鍘熷洜錛岄氬父鐩稿浜?Ext2fs錛屽湪宓屽叆寮忕幆澧冧腑浣跨敤 MTD/JFFS2 緇勫悎鏄洿濂界殑閫夋嫨銆?/p>

鐢?Ramdisk 鎸傝 Ext2fs
閫氳繃浣跨敤 Ramdisk 鐨勬蹇碉紝鍙互鍦ㄥ祵鍏ュ紡璁懼涓垱寤哄茍鎸傝 Ext2 鏂囦歡緋葷粺錛堜互鍙婄敤浜庤繖涓鐩殑鐨勪換浣曟枃浠剁郴緇燂級銆?



娓呭崟 6. 鍒涘緩涓涓畝鍗曠殑鍩轟簬 Ext2fs 鐨?Ramdisk
 mke2fs -vm0 /dev/ram 4096
  mount -t ext2 /dev/ram /mnt
  cd /mnt
  cp /bin, /sbin, /etc, /dev ... files in mnt
  cd ../
  umount /mnt
  dd if=/dev/ram bs=1k count=4096 of=ext2ramdisk

mke2fs 鏄敤浜庡湪浠諱綍璁懼涓婂垱寤?ext2 鏂囦歡緋葷粺鐨勫疄鐢ㄧ▼搴?鈥?瀹冨垱寤鴻秴綰у潡銆佺儲寮曡妭鐐逛互鍙婄儲寮曡妭鐐硅〃絳夌瓑銆?

鍦ㄤ笂闈㈢殑鐢ㄦ硶涓紝 /dev/ram 鏄笂闈㈡瀯寤烘湁 4096 涓潡鐨?ext2 鏂囦歡緋葷粺鐨勮澶囥傜劧鍚庯紝灝嗚繖涓澶囷紙 /dev/ram 錛夋寕瑁呭湪鍚嶄負 /mnt 鐨勪復鏃剁洰褰曚笂騫朵笖澶嶅埗鎵鏈夊繀闇鐨勬枃浠躲備竴鏃﹀鍒跺畬榪欎簺鏂囦歡錛屽氨鍗歌榪欎釜鏂囦歡緋葷粺騫朵笖璁懼錛?/dev/ram 錛夌殑鍐呭琚漿鍌ㄥ埌涓涓枃浠訛紙ext2ramdisk錛変腑錛屽畠灝辨槸鎵闇鐨?Ramdisk錛圗xt2 鏂囦歡緋葷粺錛夈?

涓婇潰鐨勯『搴忓垱寤轟簡涓涓?4 MB 鐨?Ramdisk錛屽茍鐢ㄥ繀闇鐨勬枃浠跺疄鐢ㄧ▼搴忔潵濉厖瀹冦?/p>

涓浜涜鍖呭惈鍦?Ramdisk 涓殑閲嶈鐩綍鏄細

  • /bin 鈥?淇濆瓨澶у鏁拌薄 init 銆?busybox 銆?shell 銆佹枃浠剁鐞嗗疄鐢ㄧ▼搴忕瓑浜岃繘鍒舵枃浠躲?
  • /dev鈥?鍖呭惈鐢ㄥ湪璁懼涓殑鎵鏈夎澶囪妭鐐?
  • /etc鈥?鍖呭惈緋葷粺鐨勬墍鏈夐厤緗枃浠?
  • /lib鈥?鍖呭惈鎵鏈夊繀闇鐨勫簱錛屽 libc銆乴ibdl 絳?

鏃ュ織闂瓨鏂囦歡緋葷粺錛岀増鏈?2錛圝FFS2錛?/font>

鐟炲吀鐨?Axis Communications 寮鍙戜簡鏈鍒濈殑 JFFS錛孯ed Hat 鐨?David Woodhouse 瀵瑰畠榪涜浜嗘敼榪涖?絎簩涓増鏈紝JFFS2錛屼綔涓虹敤浜庡井鍨嬪祵鍏ュ紡璁懼鐨勫師濮嬮棯瀛樿姱鐗囩殑瀹為檯鏂囦歡緋葷粺鑰屽嚭鐜般侸FFS2 鏂囦歡緋葷粺鏄棩蹇楃粨鏋勫寲鐨勶紝榪欐剰鍛崇潃瀹冨熀鏈笂鏄竴闀垮垪鑺傜偣銆傛瘡涓妭鐐瑰寘鍚湁鍏蟲枃浠剁殑閮ㄥ垎淇℃伅 鈥?鍙兘鏄枃浠剁殑鍚嶇О銆佷篃璁告槸涓浜涙暟鎹傜浉瀵逛簬 Ext2fs錛孞FFS2 鍥犱負鏈変互涓嬭繖浜?浼樼偣鑰屽湪鏃犵洏宓屽叆寮忚澶囦腑瓚婃潵瓚婂彈嬈㈣繋錛?

  • JFFS2 鍦ㄦ墖鍖虹駭鍒笂鎵ц闂瓨鎿﹂櫎錛忓啓錛忚鎿嶄綔瑕佹瘮 Ext2 鏂囦歡緋葷粺濂姐?
  • JFFS2 鎻愪緵浜嗘瘮 Ext2fs 鏇村ソ鐨勫穿婧冿紡鎺夌數瀹夊叏淇濇姢銆傚綋闇瑕佹洿鏀瑰皯閲忔暟鎹椂錛孍xt2 鏂囦歡緋葷粺灝嗘暣涓墖鍖哄鍒跺埌鍐呭瓨錛圖RAM錛変腑錛屽湪鍐呭瓨涓悎騫舵柊鏁版嵁錛屽茍鍐欏洖鏁翠釜鎵囧尯銆傝繖鎰忓懗鐫涓轟簡鏇存敼鍗曚釜瀛楋紝蹇呴』瀵規暣涓墖鍖猴紙64 KB錛夋墽琛岃錛忔摝闄わ紡鍐欎緥紼?鈥?榪欐牱鍋氱殑鏁堢巼闈炲父浣庛傝鏄繍姘斿樊錛屽綋姝e湪 DRAM 涓悎騫舵暟鎹椂錛屽彂鐢熶簡鐢墊簮鏁呴殰鎴栧叾瀹冧簨鏁咃紝閭d箞灝嗕涪澶辨暣涓暟鎹泦鍚堬紝鍥犱負鍦ㄥ皢鏁版嵁璇誨叆 DRAM 鍚庡氨鎿﹂櫎浜嗛棯瀛樻墖鍖恒侸FFS2 闄勫姞鏂囦歡鑰屼笉鏄噸鍐欐暣涓墖鍖猴紝騫朵笖鍏鋒湁宕╂簝錛忔帀鐢靛畨鍏ㄤ繚鎶よ繖涓鍔熻兘銆?
  • 榪欏彲鑳芥槸鏈閲嶈鐨勪竴鐐癸細JFFS2 鏄笓闂ㄤ負璞¢棯瀛樿姱鐗囬偅鏍風殑宓屽叆寮忚澶囧垱寤虹殑錛屾墍浠ュ畠鐨勬暣涓璁℃彁渚涗簡鏇村ソ鐨勯棯瀛樼鐞嗐?

鍥犱負鏈枃涓昏鏄啓鍏充簬闂瓨璁懼鐨勪嬌鐢紝鎵浠ュ湪宓屽叆寮忕幆澧冧腑浣跨敤 JFFS2 鐨?緙虹偣寰堝皯錛?

  • 褰撴枃浠剁郴緇熷凡婊℃垨鎺ヨ繎婊℃椂錛孞FFS2 浼氬ぇ澶ф斁鎱㈣繍琛岄熷害銆傝繖鏄洜涓哄瀮鍦炬敹闆嗙殑闂錛堟洿澶氫俊鎭紝璇峰弬闃?鍙傝冭祫鏂?/font>錛夈?

鍒涘緩 JFFS2 鏂囦歡緋葷粺
鍦?Linux 涓嬶紝鐢?mkfs.jffs2 鍛戒護鍒涘緩 JFFS2 鏂囦歡緋葷粺錛堝熀鏈笂鏄嬌鐢?JFFS2 鐨?Ramdisk錛夈?



娓呭崟 7. 鍒涘緩 JFFS2 鏂囦歡緋葷粺
mkdir jffsfile 
 cd jffsfile 
 /* copy all the /bin, /etc, /usr/bin, /sbin/ binaries and /dev entries 
that are needed for the filesystem here */ 
 /* Type the following command under jffsfile directory to create the JFFS2 Image */ 
 ./mkfs.jffs2 -e 0x40000 -p -o ../jffs.image 

涓婇潰鏄劇ず浜?mkfs.jffs2 鐨勫吀鍨嬬敤娉曘?-e 閫夐」紜畾闂瓨鐨勬摝闄ゆ墖鍖哄ぇ灝忥紙閫氬父鏄?64 鍗冨瓧鑺傦級銆?-p 閫夐」鐢ㄦ潵鍦ㄦ槧鍍忕殑鍓╀綑絀洪棿鐢ㄩ浂濉厖銆?-o 閫夐」鐢ㄤ簬杈撳嚭鏂囦歡錛岄氬父鏄?JFFS2 鏂囦歡緋葷粺鏄犲儚 鈥?鍦ㄦ湰渚嬩腑鏄?jffs.image銆備竴鏃﹀垱寤轟簡 JFFS2 鏂囦歡緋葷粺錛屽畠灝辮瑁呭叆闂瓨涓傚綋鐨勪綅緗紙寮曞瑁呰澆紼嬪簭鍛婄煡鍐呮牳鏌ユ壘鏂囦歡緋葷粺鐨勫湴鍧錛変互渚垮唴鏍歌兘鎸傝瀹冦?

tmpfs
褰?Linux 榪愯浜庡祵鍏ュ紡璁懼涓婃椂錛岃璁懼灝辨垚涓哄姛鑳介綈鍏ㄧ殑鍗曞厓錛岃澶氬畧鎶よ繘紼嬩細鍦ㄥ悗鍙拌繍琛屽茍鐢熸垚璁稿鏃ュ織娑堟伅銆傚彟澶栵紝鎵鏈夊唴鏍告棩蹇楄褰曟満鍒訛紝璞?syslogd銆乨mesg 鍜?klogd錛屼細鍦?/var 鍜?/tmp 鐩綍涓嬬敓鎴愯澶氭秷鎭傜敱浜庤繖浜涜繘紼嬩駭鐢熶簡澶ч噺鏁版嵁錛屾墍浠ュ厑璁稿皢鎵鏈夎繖浜涘啓鎿嶄綔閮藉彂鐢熷湪闂瓨鏄笉鍙彇鐨勩傜敱浜庡湪閲嶆柊寮曞鏃惰繖浜涙秷鎭笉闇瑕佹寔涔呭瓨鍌紝鎵浠ヨ繖涓棶棰樼殑瑙e喅鏂規鏄嬌鐢?tmpfs銆?

tmpfs 鏄熀浜庡唴瀛樼殑鏂囦歡緋葷粺錛屽畠涓昏鐢ㄤ簬鍑忓皯瀵圭郴緇熺殑涓嶅繀瑕佺殑闂瓨鍐欐搷浣滆繖涓鍞竴鐩殑銆傚洜涓?tmpfs 椹葷暀鍦?RAM 涓紝鎵浠ュ啓錛忚錛忔摝闄ょ殑鎿嶄綔鍙戠敓鍦?RAM 涓屼笉鏄湪闂瓨涓傚洜姝わ紝鏃ュ織娑堟伅鍐欏叆 RAM 鑰屼笉鏄棯瀛樹腑錛屽湪閲嶆柊寮曞鏃朵笉浼氫繚鐣欏畠浠倀mpfs 榪樹嬌鐢ㄧ鐩樹氦鎹㈢┖闂存潵瀛樺偍錛屽茍涓斿綋涓哄瓨鍌ㄦ枃浠惰岃姹傞〉闈㈡椂錛屼嬌鐢ㄨ櫄鎷熷唴瀛橈紙VM錛夊瓙緋葷粺銆?/p>

tmpfs 鐨?浼樼偣鍖呮嫭錛?

  • 鍔ㄦ佹枃浠剁郴緇熷ぇ灝?鈥?鏂囦歡緋葷粺澶у皬鍙互鏍規嵁琚鍒躲佸垱寤烘垨鍒犻櫎鐨勬枃浠舵垨鐩綍鐨勬暟閲忔潵緙╂斁銆備嬌寰楄兘澶熸渶鐞嗘兂鍦頒嬌鐢ㄥ唴瀛樸?
  • 閫熷害 鈥?鍥犱負 tmpfs 椹葷暀鍦?RAM錛屾墍浠ヨ鍜屽啓鍑犱箮閮芥槸鐬椂鐨勩傚嵆浣夸互浜ゆ崲鐨勫艦寮忓瓨鍌ㄦ枃浠訛紝I/O 鎿嶄綔鐨勯熷害浠嶉潪甯稿揩銆?

tmpfs 鐨勪竴涓?緙虹偣鏄綋緋葷粺閲嶆柊寮曞鏃朵細涓㈠け鎵鏈夋暟鎹傚洜姝わ紝閲嶈鐨勬暟鎹笉鑳藉瓨鍌ㄥ湪 tmpfs 涓娿?

鎸傝 tmpfs
璇稿 Ext2fs 鍜?JFFS2 絳夊ぇ澶氭暟鍏跺畠鏂囦歡緋葷粺閮介┗鐣欏湪搴曞眰鍧楄澶囦箣涓婏紝鑰?tmpfs 涓庡畠浠笉鍚岋紝瀹冪洿鎺ヤ綅浜?VM 涓娿傚洜鑰岋紝鎸傝 tmpfs 鏂囦歡緋葷粺鏄緢綆鍗曠殑浜嬶細



娓呭崟 8. 鎸傝 tmpfs
/* Entries in /etc/rc.d/rc.sysinit for creating/using tmpfs */ 
 # mount -t tmpfs tmpfs /var -o size=512k 
 # mkdir -p /var/tmp 
 # mkdir -p /var/log 
 # ln -s /var/tmp /tmp 

涓婇潰鐨勫懡浠ゅ皢鍦?/var 涓婂垱寤?tmpfs 騫跺皢 tmpfs 鐨勬渶澶уぇ灝忛檺鍒朵負 512 K銆傚悓鏃訛紝tmp/ 鍜?log/ 鐩綍鎴愪負 tmpfs 鐨勪竴閮ㄥ垎浠ヤ究鍦?RAM 涓瓨鍌ㄦ棩蹇楁秷鎭?/p>

濡傛灉鎮ㄦ兂灝?tmpfs 鐨勪竴涓」娣誨姞鍒?/etc/fstab錛岄偅涔堝畠鍙兘鐪嬭搗鏉ヨ薄榪欐牱錛?

tmpfs /var tmpfs size=32m 0 0

榪欏皢鍦?/var 涓婃寕瑁呬竴涓柊鐨?tmpfs 鏂囦歡緋葷粺銆?/p>



鍥為〉棣?/font>


鍥懼艦鐢ㄦ埛鐣岄潰錛圙UI錛夐夐」

浠庣敤鎴風殑瑙傜偣鏉ョ湅錛屽浘褰㈢敤鎴風晫闈紙GUI錛夋槸緋葷粺鐨勪竴涓渶鑷沖叧閲嶈鐨勬柟闈細鐢ㄦ埛閫氳繃 GUI 涓庣郴緇熻繘琛屼氦浜掋傛墍浠?GUI 搴旇鏄撲簬浣跨敤騫朵笖闈炲父鍙潬銆備絾瀹冭繕闇瑕佹槸鏈夊唴瀛樻剰璇嗙殑錛屼互渚垮湪鍐呭瓨鍙楅檺鐨勩佸井鍨嬪祵鍏ュ紡璁懼涓婂彲浠ユ棤緙濇墽琛屻傛墍浠ワ紝瀹冨簲璇ユ槸杞婚噺綰х殑錛屽茍涓旇兘澶熷揩閫熻鍏ャ?/p>

鍙︿竴涓鑰冭檻鐨勯噸瑕佹柟闈㈡秹鍙婅鍙瘉闂銆備竴浜?GUI 鍒嗗彂鐗堝叿鏈夊厑璁稿厤璐逛嬌鐢ㄧ殑璁稿彲璇侊紝鐢氳嚦鍦ㄤ竴浜涘晢涓氫駭鍝佷腑涔熸槸濡傛銆傚彟涓浜涜鍙瘉瑕佹眰濡傛灉鎯沖皢 GUI 鍚堝茍鍏ラ」鐩腑鍒欒鏀粯鐗堢◣銆?/p>

鏈鍚庯紝澶у鏁板紑鍙戜漢鍛樺彲鑳戒細閫夋嫨 XFree86錛屽洜涓?XFree86 涓轟粬浠彁渚涗簡涓涓兘浣跨敤浠栦滑鍠滄鐨勫伐鍏風殑鐔熸倝鐜銆備絾鏄競鍦轟笂杈冩柊鐨?GUI錛岃薄 Century Software 鐨?Microwindows錛圢ano-X錛夊拰 Trolltech 鐨?QT/Embedded錛屼笌 X 鍦ㄥ祵鍏ュ紡 Linux 鐨勭珵鎶鑸炲彴涓睍寮浜嗘縺鐑堢珵浜夛紝榪欎富瑕佹槸鍥犱負瀹冧滑鍗犵敤寰堝皯鐨勮祫婧愩佹墽琛岀殑閫熷害寰堝揩騫朵笖鍏鋒湁瀹氬埗紿楀彛鏋勪歡鐨勬敮鎸併?/p>

璁╂垜浠湅涓鐪嬭繖浜涢夐」涓殑姣忎竴涓?/p>

Xfree86 4.X錛堝甫甯х紦鍐插尯鏀寔鐨?X11R6.4錛?/font>

XFree86 Project, Inc. 鏄竴瀹剁敓浜?XFree86 鐨勫叕鍙革紝璇ヤ駭鍝佹槸涓涓彲浠ュ厤璐歸噸澶嶅垎鍙戙佸紑鏀炬簮鐮佺殑 X Window 緋葷粺銆俋 Window 緋葷粺錛圶11錛変負搴旂敤紼嬪簭浠ュ浘褰㈡柟寮忚繘琛屾樉紺烘彁渚涗簡璧勬簮錛屽茍涓斿畠鏄?UNIX 鍜岀被 UNIX 鐨勬満鍣ㄤ笂鏈甯哥敤鐨勭獥鍙g郴緇熴傚畠寰堝皬浣嗗緢鏈夋晥錛屽畠榪愯鍦ㄤ負鏁頒紬澶氱殑紜歡涓婏紝瀹冨緗戠粶閫忔槑騫朵笖鏈夎壇濂界殑鏂囨。璇存槑銆俋11 涓虹獥鍙g鐞嗐佷簨浠跺鐞嗐佸悓姝ュ拰瀹㈡埛鏈洪棿閫氫俊鎻愪緵寮哄ぇ鐨勫姛鑳?鈥?騫朵笖澶у鏁板紑鍙戜漢鍛樺凡緇忕啛鎮変簡瀹冪殑 API銆傚畠鍏鋒湁瀵瑰唴鏍稿撫緙撳啿鍖虹殑鍐呯疆鏀寔錛屽茍鍗犵敤闈炲父灝戠殑璧勬簮 鈥?榪欓潪甯告湁鍔╀簬鍐呭瓨鐩稿杈冨皯鐨勮澶囥俋 鏈嶅姟鍣ㄦ敮鎸?VGA 鍜岄潪 VGA 鍥懼艦鍗★紝瀹冨棰滆壊娣卞害 1銆?銆?銆?銆?6 鍜?32 鎻愪緵鏀寔錛屽茍瀵規覆鏌撴彁渚涘唴緗敮鎸併傛渶鏂扮殑鍙戣鐗堟槸 XFree86 4.1.0銆?/p>

瀹冪殑 浼樼偣鍖呮嫭錛?

  • 甯х紦鍐插尯浣撶郴緇撴瀯鐨勪嬌鐢ㄦ彁楂樹簡鎬ц兘銆?
  • 鍗犵敤鐨勮祫婧愮浉瀵瑰緢灝?鈥?澶у皬鍦?600 K 鍒?700 K 瀛楄妭鐨勮寖鍥村唴錛岃繖浣垮畠寰堝鏄撳湪灝忓瀷璁懼涓婅繍琛屻?
  • 闈炲父濂界殑鏀寔錛氬湪綰挎湁璁稿鏂囨。鍙敤錛岃繕鏈夎澶氫笓鐢ㄤ簬 XFree86 寮鍙戠殑閭掑垪琛ㄣ?
  • X API 闈炲父閫傚悎鎵╁睍銆?

瀹冪殑 緙虹偣鍖呮嫭錛?

  • 姣旀渶榪戝嚭鐜扮殑宓屽叆寮?GUI 宸ュ叿鎬ц兘宸?
  • 姝ゅ錛屽綋涓?GUI 涓渶鏂扮殑寮鍙?鈥?璞′笓闂ㄤ負宓屽叆寮忕幆澧冭璁$殑 Nano-X 鎴?QT/Embedded 鈥?鐩告瘮鏃訛紝XFree86 浼間箮闇瑕佹洿澶氱殑鍐呭瓨銆?

Microwindows

Microwindows 鏄?Century Software 鐨勫紑鏀炬簮浠g爜欏圭洰錛岃璁$敤浜庡甫灝忓瀷鏄劇ず鍗曞厓鐨勫井鍨嬭澶囥傚畠鏈夎澶氶拡瀵圭幇浠e浘褰㈣紿楃幆澧冪殑鍔熻兘閮ㄤ歡銆傝薄 X 涓鏍鳳紝鏈夊縐嶅鉤鍙版敮鎸?Microwindows銆?/p>

Microwindows 浣撶郴緇撴瀯鏄熀浜庡鎴鋒満錛忔湇鍔″櫒鐨勫茍涓斿叿鏈夊垎灞傝璁°傛渶搴曞眰鏄睆騫曞拰杈撳叆璁懼椹卞姩紼嬪簭錛堝叧浜庨敭鐩樻垨榧犳爣錛夋潵涓庡疄闄呯‖浠朵氦浜掋傚湪涓棿灞傦紝鍙Щ妞嶇殑鍥懼艦寮曟搸鎻愪緵瀵圭嚎鐨勭粯鍒躲佸尯鍩熺殑濉厖銆佸杈瑰艦銆佽鍓互鍙婇鑹叉ā鍨嬬殑鏀寔銆?/p>

鍦ㄦ渶涓婂眰錛孧icrowindows 鏀寔涓ょ API錛歐in32/WinCE API 瀹炵幇錛岀О涓?Microwindows錛涘彟涓縐?API 涓?GDK 闈炲父鐩鎬技錛屽畠縐頒負 Nano-X銆侼ano-X 鐢ㄥ湪 Linux 涓娿傚畠鏄薄 X 鐨?API錛岀敤浜庡崰鐢ㄨ祫婧愬皯鐨勫簲鐢ㄧ▼搴忋?/p>

Microwindows 鏀寔 1銆?銆? 鍜?8 bpp錛堟瘡鍍忕礌鐨勪綅鏁幫級鐨?palletized 鏄劇ず錛屼互鍙?8銆?6銆?4 鍜?32 bpp 鐨勭湡褰╄壊鏄劇ず銆侻icrowindows 榪樻敮鎸佷嬌瀹冮熷害鏇村揩鐨勫撫緙撳啿鍖恒侼ano-X 鏈嶅姟鍣ㄥ崰鐢ㄧ殑璧勬簮澶х害鍦?100 K 鍒?150 K 瀛楄妭銆?/p>

鍘熷 Nano-X 搴旂敤紼嬪簭鐨勫鉤鍧囧ぇ灝忓湪 30 K 鍒?60 K銆傜敱浜?Nano-X 鏄負鏈夊唴瀛橀檺鍒剁殑浣庣璁懼璁捐鐨勶紝鎵浠ュ畠涓嶈薄 X 閭f牱鏀寔寰堝鍑芥暟錛屽洜姝ゅ畠瀹為檯涓婁笉鑳戒綔涓哄井鍨?X錛圶free86 4.1錛夌殑鏇夸唬鍝併?/p>

鍙互鍦?Microwindows 涓婅繍琛?FLNX錛屽畠鏄拡瀵?Nano-X 鑰屼笉鏄?X 榪涜淇敼鐨?FLTK錛堝揩閫熻交宸у伐鍏風(Fast Light Toolkit)錛夊簲鐢ㄧ▼搴忓紑鍙戠幆澧冪殑涓涓増鏈傛湰鏂囦腑鎻忚堪 FLTK銆?/p>

Nano-X 鐨?浼樼偣鍖呮嫭錛?

  • 涓?Xlib 瀹炵幇涓嶅悓錛孨ano-X 浠嶅湪姣忎釜瀹㈡埛鏈轟笂鍚屾榪愯錛岃繖鎰忓懗鐫涓鏃﹀彂閫佷簡瀹㈡埛鏈鴻姹傚寘錛屾湇鍔″櫒鍦ㄤ負鍙︿竴涓鎴鋒満鎻愪緵鏈嶅姟涔嬪墠涓鐩寸瓑寰咃紝鐩村埌鏁翠釜鍖呴兘鍒拌揪涓烘銆傝繖浣挎湇鍔″櫒浠g爜闈炲父綆鍗曪紝鑰岃繍琛岀殑閫熷害浠嶉潪甯稿揩銆?
  • 鍗犵敤寰堝皬鐨勮祫婧?

Nano-X 鐨?緙虹偣鍖呮嫭錛?

  • 鑱旂綉鍔熻兘閮ㄤ歡鑷充粖娌℃湁緇忚繃閫傚綋鍦拌皟鏁達紙鐗瑰埆鏄綉緇滈忔槑鎬э級銆?
  • 榪樻病鏈夊お澶氱幇鎴愮殑搴旂敤紼嬪簭鍙敤銆?
  • 涓?X 鐩告瘮錛孨ano-X 铏界劧榪戞潵姝e湪鍔犻熷紑鍙戯紝浣嗕粛娌℃湁閭d箞澶氭枃妗h鏄庤屼笖娌℃湁寰堝ソ鐨勬敮鎸侊紝浣嗚繖縐嶆儏褰細鏈夋墍鏀瑰彉銆?

Microwindows 涓婄殑 FLTK API

FLTK 鏄竴涓畝鍗曚絾鐏墊椿鐨?GUI 宸ュ叿綆憋紝瀹冨湪 Linux 涓栫晫涓耽寰楄秺鏉ヨ秺澶氱殑鍏蟲敞錛屽畠鐗瑰埆閫傜敤浜庡崰鐢ㄨ祫婧愬緢灝戠殑鐜銆傚畠鎻愪緵浜嗘偍鏈熸湜浠?GUI 宸ュ叿綆變腑鑾峰緱鐨勫ぇ澶氭暟紿楀彛鏋勪歡錛屽鎸夐挳銆佸璇濇銆佹枃鏈浠ュ強鍑鴻壊鐨勨滆祴鍊煎櫒鈥濋夋嫨錛堢敤浜庤緭鍏ユ暟鍊肩殑紿楀彛鏋勪歡錛夈傝繕鍖呮嫭婊戝姩鍣ㄣ佹粴鍔ㄦ潯銆佸埢搴︾洏鍜屽叾瀹冧竴浜涙瀯浠躲?/p>

閽堝 Microwindows GUI 寮曟搸鐨?FLTK 鐨?Linux 鐗堟湰琚О涓?FLNX銆侳LNX 鐢變袱涓粍浠舵瀯鎴愶細Fl_Widget 鍜?FLUID銆侳l_Widget 鐢辨墍鏈夊熀鏈獥鍙f瀯浠?API 緇勬垚銆侳LUID錛堝揩閫熻交宸х殑鐢ㄦ埛鐣岄潰璁捐鍣?Fast Light User Interface Designer, FLUID)錛夋槸鐢ㄦ潵浜х敓 FLTK 婧愪唬鐮佺殑鍥懼艦緙栬緫鍣ㄣ傛葷殑鏉ヨ錛孎LNX 鏄兘鐢ㄦ潵涓哄祵鍏ュ紡鐜鍒涘緩搴旂敤紼嬪簭鐨勪竴涓嚭鑹茬殑 UI 鏋勫緩鍣ㄣ?/p>

Fl_Widget 鍗犵敤鐨勮祫婧愬ぇ綰︽槸 40 K 鍒?48 K錛岃?FLUID錛堝寘鎷簡姣忎釜紿楀彛鏋勪歡錛夊ぇ綰﹀崰鐢?380 K銆傝繖浜涢潪甯稿皬鐨勮祫婧愬崰鐢ㄧ巼浣?Fl_Widget 鍜?FLUID 鍦ㄥ祵鍏ュ紡寮鍙戜笘鐣屼腑闈炲父鍙楁榪庛?/p>

浼樼偣鍖呮嫭錛?

  • 涔犳儻浜庡湪璞?Windows 榪欐牱宸插緩绔嬪緱杈冨ソ鐨勭幆澧冧腑寮鍙戝熀浜?GUI 鐨勫簲鐢ㄧ▼搴忕殑浠諱綍浜洪兘浼氶潪甯稿鏄撳湴閫傚簲 FLTK 鐜銆?
  • 瀹冪殑鏂囨。鍖呮嫭涓鏈崄鍒嗗畬鏁翠笖緙栧啓鑹ソ鐨勬墜鍐屻?
  • 瀹冧嬌鐢?LGPL 榪涜鍒嗗彂錛屾墍浠ュ紑鍙戜漢鍛樺彲浠ョ伒媧誨湴鍙戞斁浠栦滑搴旂敤紼嬪簭鐨勮鍙瘉銆?
  • FLTK 鏄竴涓?C++ 搴擄紙Perl 鍜?Python 緇戝畾涔熷彲鐢級銆傞潰鍚戝璞℃ā鍨嬬殑閫夋嫨鏄竴涓ソ鐨勯夋嫨錛屽洜涓哄ぇ澶氭暟鐜頒唬 GUI 鐜閮芥槸闈㈠悜瀵硅薄鐨勶紱榪欎篃浣垮皢緙栧啓鐨勫簲鐢ㄧ▼搴忕Щ妞嶅埌綾諱技鐨?API 涓彉寰楁洿瀹規槗銆?
  • Century Software 鐨勭幆澧冩彁渚涗簡鍑犱釜鏈夌敤鐨勫伐鍏鳳紝璇稿 ScreenToP 鍜?ViewML 嫻忚鍣ㄣ?

瀹冪殑 緙虹偣鏄細

  • 鏅氱殑 FLTK 鍙互涓?X 鍜?Windows API 涓鍚屽伐浣滐紝鑰?FLNX 涓嶈兘銆傚畠涓?X 鐨勪笉鍏煎鎬ч樆紕嶄簡瀹冨湪璁稿欏圭洰涓殑浣跨敤銆?

Qt/Embedded

Qt/Embedded 鏄?Trolltech 鏂板紑鍙戠殑鐢ㄤ簬宓屽叆寮?Linux 鐨勫浘褰㈢敤鎴風晫闈㈢郴緇熴俆rolltech 鏈鍒濆垱寤?Qt 浣滀負璺ㄥ鉤鍙扮殑寮鍙戝伐鍏風敤浜?Linux 鍙板紡鏈恒傚畠鏀寔鍚勭鏈?UNIX 鐗圭偣鐨勭郴緇熶互鍙?Microsoft Windows銆侹DE 鈥?鏈嫻佽鐨?Linux 妗岄潰鐜涔嬩竴錛屽氨鏄敤 Qt 緙栧啓鐨勩?/p>

Qt/Embedded 浠ュ師濮?Qt 涓哄熀紜錛屽茍鍋氫簡璁稿鍑鴻壊鐨勮皟鏁翠互閫傜敤浜庡祵鍏ュ紡鐜銆俀t Embedded 閫氳繃 Qt API 涓?Linux I/O 璁炬柦鐩存帴浜や簰銆傞偅浜涚啛鎮夊茍宸查傚簲浜嗛潰鍚戝璞$紪紼嬬殑浜哄憳灝嗗彂鐜板畠鏄竴涓悊鎯崇幆澧冦傝屼笖錛岄潰鍚戝璞$殑浣撶郴緇撴瀯浣夸唬鐮佺粨鏋勫寲銆佸彲閲嶇敤騫朵笖榪愯蹇熴備笌鍏跺畠 GUI 鐩告瘮錛孮t GUI 闈炲父蹇紝騫朵笖瀹冩病鏈夊垎灞傦紝榪欎嬌寰?Qt/Embedded 鎴愪負鐢ㄤ簬榪愯鍩轟簬 Qt 鐨勭▼搴忕殑鏈绱у噾鐜銆?/p>

Trolltech 榪樻帹鍑轟簡 Qt 鎺屼笂鏈虹幆澧冿紙Qt Palmtop Environment錛屼織縐?Qpe錛夈俀pe 鎻愪緵浜嗕竴涓熀鏈闈㈢獥鍙o紝騫朵笖璇ョ幆澧冧負寮鍙戞彁渚涗簡涓涓槗浜庝嬌鐢ㄧ殑鐣岄潰銆俀pe 鍖呭惈鍏ㄥ鐨勪釜浜轟俊鎭鐞嗭紙Personal Information Management (PIM)錛夊簲鐢ㄧ▼搴忋佸洜鐗圭綉瀹㈡埛鏈恒佸疄鐢ㄧ▼搴忕瓑絳夈傜劧鑰岋紝涓轟簡灝?Qt/Embedded 鎴?Qpe 闆嗘垚鍒頒竴涓駭鍝佷腑錛岄渶瑕佷粠 Trolltech 鑾峰緱鍟嗕笟璁稿彲璇併傦紙鍘熷 Qt 鑷増鏈?2.2 浠ュ悗灝卞彲浠ユ牴鎹?GPL 鑾峰緱 銆傦級

瀹冪殑 浼樼偣鍖呮嫭錛?

  • 闈㈠悜瀵硅薄鐨勪綋緋葷粨鏋勬湁鍔╀簬鏇村揩鍦版墽琛?
  • 鍗犵敤寰堝皯鐨勮祫婧愶紝澶х害 800 K
  • 鎶楅敮榻挎枃鏈拰娣峰悎瑙嗛鐨勮薄绱犳槧灝?

瀹冪殑 緙虹偣鏄細

  • Qt/Embedded 鍜?Qpe 鍙兘鍦ㄨ幏寰楀晢涓氳鍙瘉鐨勬儏鍐典笅鎵嶈兘浣跨敤銆?




鍥為〉棣?/font>


緇撴潫璇?/span>

宓屽叆寮?Linux 寮鍙戞榪呴熷湴鍙戝睍鐫銆傛偍蹇呴』瀛︿範騫朵粠寮曞瑁呰澆紼嬪簭鍜屽垎鍙戠増鍒版枃浠剁郴緇熷拰 GUI 涓殑姣忎竴涓簨鐗╃殑鍚勭閫夐」涓綔鍑洪夋嫨銆備絾鏄鎰熻阿鏈夎繖縐嶉夋嫨鑷敱搴︿互鍙婇潪甯告椿璺冪殑 Linux 紺懼尯錛孡inux 涓婄殑宓屽叆寮忓紑鍙戝凡緇忚揪鍒頒簡鏂扮殑澧冪晫錛屽茍涓旇皟鏁存ā鍧椾互閫傚悎鎮ㄧ殑瑙勮寖浠庢湭姣旂幇鍦ㄦ洿綆鍗曘傝繖宸茬粡瀵艱嚧鍑虹幇浜嗚澶氭椂鏂扮殑鎵嬫寔鍜屽井鍨嬭澶囦綔涓哄紑鏀劇洅錛岃繖鏄歡濂戒簨 鈥?鍥犱負浜嬪疄鏄偍涓嶅繀鎴愪負涓涓笓瀹朵粠榪欎簺妯″潡涓繘琛岄夋嫨鏉ヨ皟鏁存偍鐨勮澶囦互婊¤凍鎮ㄨ嚜宸辯殑瑕佹眰鍜岄渶瑕併?/p>

鎴戜滑甯屾湜榪欑瘒瀵瑰祵鍏ュ紡 Linux 棰嗗煙鐨勪粙緇嶆ф榪拌兘嬋璧鋒偍榪涜璇曢獙鐨勬鏈涳紝騫朵笖甯屾湜鎮ㄥ皢浣撲細鎽嗗紕寰瀷璁懼鐨勪箰瓚d互婊¤凍鎮ㄧ殑鐖卞ソ銆備負榪涗竴姝ユ湁鍔╀簬鎮ㄧ殑欏圭洰錛岃鍙傞槄涓嬮潰鐨勨滃弬鑰冭祫鏂欌濓紝閾炬帴鍒版湁鍏蟲垜浠繖閲屽凡緇忔榪扮殑鎶鏈殑鏇存繁鍏ョ殑淇℃伅銆?/p>

鍙傝冭祫鏂?

寮曞錛?

  • 鎮ㄥ彲浠ュ弬闃呮湰鏂囧湪 developerWorks 鍏ㄧ悆绔欑偣涓婄殑 鑻辨枃鍘熸枃.

  • 濡傞渶鑾峰緱瀵?vmlinux 鍜?zimage 涔嬮棿鍖哄埆鐨勬瀬濂借В閲婏紝璇峰湪 Alessandro Rubini 緙栧啓鐨勨?Kernel Configuration: dealing with the unexpected錛?Linux Magazine錛夌殑涓鏂囦腑鎵懼埌鈥淏ooting your kernel鈥濅竴鑺傘?

灝忓瀷鍒嗗彂鐗?/b>錛?

宸ュ叿閾?/b>錛?

璁懼椹卞姩紼嬪簭錛?

鏈夌敤鐨勫伐鍏?/b>錛?

  • Binutils 銆?GCC鍜?Glibc閮藉彲浠?Free Software Foundation 涓嬭澆鑾峰緱銆?


  • 璁稿鏈夌敤鐨勪笅杞介兘鍙粠 Netwinder.org鑾峰緱錛岃繖鏄竴涓嚧鍔涗簬 NetWinder 騫沖彴涓婂紑鍙戝伐浣滅殑蹇楁効鑰呯珯鐐廣?


  • 璇峰湪 Mark Nielsen 鍐欏緱闈炲父媯掔殑 How to use a Ramdisk for Linux涓鏂囦腑闃呰鏈夊叧 Ramdisk 鐨勬墍鏈変俊鎭?


  • FLNX 鏄互 FLTK錛堝揩閫熻交宸х殑宸ュ叿綆憋級涓哄熀紜鐨勩?

鏂囦歡緋葷粺錛?

GUI錛?

涓鑸弬鑰冭祫鏂?/b>錛?

  • General Public License 鎴?GPL 紜繚鐢ㄦ埛澶嶅埗銆佸垎鍙戝拰淇敼杞歡鐨勬潈鍒┿?


  • ARM Linux 鏄偍浜嗚В鏈夊叧 Linux 鐢ㄤ簬 ARM 澶勭悊鍣ㄧ殑淇℃伅鐨勪竴涓潪甯稿ソ鐨勭珯鐐廣傚畠鐢?ARM 鐨勫垱寤鴻?Russell King 鏉ョ淮鎶ゃ?


  • Penguinppc.org 鏄叧浜?Linux 鐢ㄤ簬 PowerPC 緋誨垪澶勭悊鍣ㄧ殑鐨勪富欏點傝绔欑偣涓婃湁涓涓叧浜庝負鍩轟簬 PPC 鐨勪綋緋葷粨鏋勫緩绔嬪伐鍏烽摼鐨勮祫鏂欎赴瀵岀殑鏁欑▼銆?


  • Linux Devices 鏄竴涓潪甯稿叏闈㈢殑绔欑偣錛屽畠鍖呭惈鏈夊叧 Linux 鍜屽祵鍏ュ紡寮鍙戠殑鍑虹増鍙戣銆佸揩閫熷弬鑰冦佹柊闂誨拰鐗硅壊鎶ュ憡絳夊悇縐嶄俊鎭?


  • Silicon Penguin 鍒楄〃绔欑偣涓婃嫢鏈夊祵鍏ュ紡 Linux 鍙傝冭祫鏂欑殑璇﹀敖闆嗗悎銆?


  • ARMLinux - the book 鍙粠 Aleph One 涓婅幏寰椼傛偍鍙互瀹氳喘涓鏈紝涔熷彲浠?鍦ㄧ嚎闃呰銆?


  • 宓屽叆寮?Linux 鍗忎細錛圗mbedded Linux Consortium錛?/font> 鏄竴涓潪璧㈠埄鐨勪簰鍔╁崗浼氾紝瀹冩榪庤嚧鍔涗簬宓屽叆寮?Linux 棰嗗煙鐨勫紑鍙戜漢鍛樻垚涓轟細鍛樸?


  • IBM 鐨?Linux wristwatch鏄繍琛?Linux 鐨勫井鍨嬪祵鍏ュ紡璁懼鐨勭ず渚嬶紱鏈枃鐨勪綔鑰呬箣涓錛孷ishal Kulkarni 涔熷弬涓庝簡瀹冪殑鐮斿彂銆傝鍦?鏈枃錛?FreeOS.com錛?001 騫?3 鏈堬級涓槄璇繪湁鍏沖畠鐨勪俊鎭?


  • 鍦?developerWorks涓婃祻瑙?鏇村 Linux 鍙傝冭祫鏂?/font>銆?


  • 鍦?developerWorks涓婃祻瑙?鏇村鏃犵嚎棰嗗煙鐨勫弬鑰冭祫鏂?/font>銆?


浣滆呯畝浠?/span>

Anand K Santhanam 鍦ㄥ嵃搴?Madras 澶у鑾峰緱璁$畻鏈虹瀛﹀伐瀛﹀澹浣嶃傝嚜 1999 騫?7 鏈堜互鏉ヤ粬涓鐩村湪鍗板害涓?IBM Global Services錛堣蔣浠跺疄楠屽錛夊伐浣溿備粬鏄?IBM Linux 灝忕粍鐨勬垚鍛橈紝榪欎釜灝忕粍涓昏鑷村姏浜庡祵鍏ュ紡緋葷粺涓殑 ARM-Linux銆佽澶囬┍鍔ㄧ▼搴忓拰鐢墊簮綆$悊鐨勭爺絀跺拰寮鍙戙備粬鎰熷叴瓚g殑鍏跺畠棰嗗煙鏄?O/S 鏈川鍜岃仈緗戙傚彲浠ラ氳繃 asanthan@in.ibm.com 涓庝粬鑱旂郴銆?


Vishal Kulkarni 浠庡嵃搴?Maharashtra 鐨?Shivaji 澶у鑾峰緱鐢靛瓙宸ョ▼鐨勫澹浣嶃傝嚜 1999 騫?3 鏈堜互鏉ヤ粬涓鐩村湪鍗板害涓?IBM Global Services錛堣蔣浠跺疄楠屽錛夊伐浣溿傚湪姝や箣鍓嶏紝浠栨浘鍦ㄧ編鍥?IBM Austin 宸ヤ綔浜嗕竴騫村崐澶氥備粬鏄?IBM Linux 灝忕粍鐨勬垚鍛橈紝榪欎釜灝忕粍涓昏鑷村姏浜庡祵鍏ュ紡璁懼涓婄殑 ARM-Linux銆佽澶囬┍鍔ㄧ▼搴忓拰 GUI銆備粬鎰熷叴瓚g殑鍏跺畠棰嗗煙鏄?O/S 鏈川鍜岃仈緗戙傚彲浠ラ氳繃 kvishal@in.ibm.com涓庝粬鑱旂郴銆?



]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              久久久国产精品一区二区中文| 久久精品人人做人人爽| 欧美福利电影网| 亚洲国内自拍| 亚洲毛片视频| 欧美天天视频| 欧美在线在线| 亚洲国产精品热久久| 一区二区三区日韩欧美| 国产欧美亚洲视频| 久久gogo国模裸体人体| 亚洲国产综合视频在线观看| 亚洲自拍偷拍视频| 国产综合香蕉五月婷在线| 久久天天躁狠狠躁夜夜av| 亚洲伦理在线观看| 久久久国产精品一区| 亚洲三级视频| 国产日韩精品视频一区| 久久资源在线| 亚洲一区二区三区免费观看 | 亚洲精品久久久久久下一站| 欧美母乳在线| 午夜视频久久久久久| 欧美福利视频网站| 亚洲欧美日韩久久精品| 精品动漫一区| 国产精品v欧美精品v日韩| 久久久久久久网站| 一本一本久久| 欧美黄色aaaa| 久久久免费av| 亚洲一区二区成人在线观看| 在线国产欧美| 国产伦精品一区二区三区视频孕妇 | 午夜精品久久一牛影视| 在线成人性视频| 国产精品麻豆va在线播放| 欧美sm视频| 欧美中文在线字幕| 亚洲网站视频福利| 亚洲三级电影全部在线观看高清 | 蜜乳av另类精品一区二区| 亚洲一二三区在线| 亚洲欧洲日产国产综合网| 国产曰批免费观看久久久| 国产精品成人一区二区| 欧美国产日韩视频| 久久久天天操| 欧美有码在线观看视频| 亚洲女同同性videoxma| 一本色道久久综合| 亚洲国产精品精华液2区45| 噜噜噜躁狠狠躁狠狠精品视频| 欧美一级理论性理论a| 亚洲欧美成aⅴ人在线观看| 一区二区av在线| 日韩视频一区二区三区在线播放| 在线成人中文字幕| 激情亚洲一区二区三区四区| 国产欧美一区二区精品忘忧草| 欧美日韩中文字幕在线视频| 欧美黑人在线观看| 欧美成人免费网站| 欧美~级网站不卡| 免费精品视频| 欧美不卡在线| 欧美国产欧美亚洲国产日韩mv天天看完整| 久久久水蜜桃av免费网站| 久久久久成人精品| 久久精品天堂| 久久亚裔精品欧美| 欧美a级大片| 欧美国产成人精品| 欧美日韩中文在线观看| 欧美网站在线| 国产精品永久免费| 国产亚洲欧洲997久久综合| 国产区在线观看成人精品| 国产日韩欧美不卡在线| 国内精品嫩模av私拍在线观看 | 欧美精品电影在线| 欧美激情一二区| 欧美日韩国内自拍| 国产精品美女在线| 国产精品永久在线| 影音先锋亚洲一区| 亚洲精品日韩在线| 亚洲图色在线| 欧美在线视频导航| 免费看黄裸体一级大秀欧美| 欧美成人在线网站| 99精品免费视频| 亚洲免费中文| 鲁大师影院一区二区三区| 欧美精品在线免费播放| 国产精品免费视频xxxx| 国产主播一区二区| 99伊人成综合| 欧美中文字幕| 欧美激情综合| 亚洲一区bb| 久久亚洲免费| 欧美午夜激情在线| 激情成人综合| 亚洲午夜国产成人av电影男同| 久久精视频免费在线久久完整在线看| 欧美第一黄色网| 亚洲一区二区三区欧美| 久久久久久9999| 欧美视频中文字幕在线| 激情久久综艺| 亚洲免费网址| 亚洲国产精彩中文乱码av在线播放| 一区二区三区欧美激情| 看片网站欧美日韩| 国产精品一区2区| 亚洲免费成人av| 久久久久久久久久码影片| 亚洲精品免费在线| 欧美在线一级视频| 国产精品二区在线| 91久久综合亚洲鲁鲁五月天| 亚洲综合日韩在线| 亚洲国产成人精品久久| 欧美亚洲三区| 国产精品福利在线观看网址| 亚洲经典一区| 久久综合伊人77777麻豆| 中国成人黄色视屏| 欧美激情精品久久久久久免费印度| 国产欧美日韩不卡免费| 在线一区视频| 亚洲国产欧美一区| 久久嫩草精品久久久精品一| 国产精品社区| 亚洲一级特黄| 91久久精品美女| 久久综合色一综合色88| 国产亚洲激情在线| 亚洲已满18点击进入久久| 亚洲精品国久久99热| 欧美aⅴ99久久黑人专区| 国语自产精品视频在线看| 欧美一级午夜免费电影| 亚洲一二三区在线| 欧美亚洲成人精品| 99精品欧美一区二区三区| 欧美大片专区| 麻豆国产精品777777在线| 国内精品久久久久影院薰衣草| 欧美一区二区三区喷汁尤物| 中文在线资源观看网站视频免费不卡 | 久久男人av资源网站| 国模精品一区二区三区| 久久国产日韩欧美| 午夜精品久久久久久99热软件| 国产精品天天看| 亚洲伊人久久综合| 亚洲天堂成人在线观看| 国产精品久久久久一区| 亚洲综合色噜噜狠狠| 亚洲一区二区三区久久| 国产女人精品视频| 久久高清福利视频| 欧美在线啊v一区| 伊人成年综合电影网| 美国十次了思思久久精品导航| 久久福利毛片| 亚洲第一黄色网| 亚洲电影有码| 欧美日韩国产一级片| 久久精品女人| 国色天香一区二区| 免费看的黄色欧美网站| 牛牛国产精品| 一本到高清视频免费精品| 日韩亚洲欧美精品| 国产精品国码视频| 久久国产日韩欧美| 久久综合999| 一本色道久久综合亚洲精品按摩| 最新中文字幕亚洲| 国产精品久久久久久妇女6080| 欧美在线视频一区| 久久久噜噜噜久噜久久 | 亚洲一区欧美激情| 国内精品模特av私拍在线观看| 免费看的黄色欧美网站| 欧美欧美天天天天操| 亚洲欧美国产三级| 久久久999成人| 夜夜嗨av一区二区三区中文字幕 | 欧美高清成人| 欧美日韩国产免费| 久久精品人人| 欧美精品一区二区三区高清aⅴ| 午夜精品久久久久久久99水蜜桃 | 亚洲丝袜av一区| 激情av一区二区|