|
在遙遠的80年代,8051以內(nèi)部晶體振蕩器、定時器,串行口,準(zhǔn)雙向IO等特色一舉戰(zhàn)勝了Z80,而后者需要外置PIO、CTC、SIO等40腳的芯片。
8051只用了一片外置地址鎖存器解決了外部存儲器的訪問。
Z80構(gòu)成需要“單板”,而8051構(gòu)成只需一片,故“單片機”的美名一直延續(xù)了30年之久,真可謂“單片龜”。!
幾十年來大學(xué)一直以8051為模版教授“單片機”,估計還會延續(xù)數(shù)年。
隨著時間的推移與技術(shù)的進步,8051“單片機”之父的美名早已不復(fù)存在,AVR,PIC等眾多“單片機”都曾嘗試挑戰(zhàn)8051的霸主地位,但都無功而返……
“失敗”原因很多,菜農(nóng)認(rèn)為其中一個環(huán)節(jié)常常被大家忽略:專用廠家專用指令。
各廠家為了簡化匯編指令集,都在指令集中嵌入了IO及訪問地址等,故每學(xué)習(xí)一種MCU就必須熟悉或了解其指令集。而8051由于教育的普及,故提到“匯編語言”就會首先想到8051指令集。
隨著ARM介入MCU領(lǐng)域,上述問題徹底改觀。
首先ARM不是MCU廠家,故其指令集不可能包含各廠家的外圍模塊,并且32位或16位指令集中不可能包含32位的立即數(shù)(如GPIO和分支地址),故對應(yīng)操作必須間接尋址即指針操作。
對于反匯編而言,首要問題是解決數(shù)據(jù)和代碼的分離,其次是從指令中得到GPIO信息從而證實硬件管腳的作用。
故專用廠家的MCU廠家的指令代碼最容易反匯編,至少理論上可以100%被反匯編。
據(jù)解密界業(yè)內(nèi)人士透露,這些MCU都可以被芯片解密!特別是8051。再結(jié)合菜農(nóng)的超級反匯編,幾乎從未失手過……
而ARM系列則不同,即使給你機器代碼,理論上也無法反匯編!
因為干什么都是指針操作,故反匯編出來也是一堆亂碼!
ARM的出現(xiàn),特別是Cotex-M系列的出現(xiàn),其價位早已逼近MCU,特別是各廠家眾多的外圍模塊,其性價比遠遠超越8051,而8051必須擴展其外圍模塊或用模擬IO軟件實現(xiàn)。
故菜農(nóng)強烈呼吁:遠離51珍惜腦漿!
|
|