我與單片機和嵌入式系統(tǒng)20年
摘要:
本文結(jié)合筆者在中國單片機和嵌入式系統(tǒng) 20 年發(fā)展過程中的經(jīng)歷,回顧了其中的幾個重要技術(shù)事件,探討了中國單片機和嵌入式系統(tǒng)發(fā)展過程和趨勢。關(guān)鍵字:單片機,中國單片機 20 年,嵌入式系統(tǒng), Intel , ARM , Linux
中國單片機走過的 20 年,正是我從一個畢業(yè)不久的學生成長和進步的過程。回憶往事,許多的感受和經(jīng)歷都一一浮現(xiàn)出來。業(yè)內(nèi)專家學者對單片機 20 年的發(fā)展歷程有不同的劃分,有認為 80 年代是普及推廣的階段, 90 年代是廣泛應用的階段, 21 世紀是嵌入式系統(tǒng)發(fā)展階段,還有認為 1985 - 2000 是單片機時代, 2000 以后是嵌入式系統(tǒng)時代,這些都是仁者見仁,智者見智都是準確和精辟的,過去的 20 年我們的確是走過了從單片機到嵌入式系統(tǒng)這個漫長和多姿多彩道路。對我而言,過去的 20 年更是伴隨我走過學習-成長-創(chuàng)業(yè)-發(fā)展道路。
Intel 領(lǐng)我步入單片機和嵌入式系統(tǒng)大門
2007 年是 Intel 嵌入式行業(yè)創(chuàng)新歷程的 30 周年, 1971Intel 發(fā)表 4040 -全世界第一微處理器,它雖然只有 2300 個晶體管,但是稱的上是第一個可以商用的片上計算機。今天 Intel 已經(jīng)是全世界最大的半導體公司,依靠 X86 芯片主宰者 PC 和服務器市場,我想許多人都不會忘記 Intel 的 8051 和 8086, 前者是 8 位單片機的重要核心芯片,后者是我們 PC 的基礎(chǔ),也是它們把我?guī)肓藛纹瑱C和嵌入式的世界。我是 84 年大學畢業(yè)參加工作分配到一家研究所工作,研究所的專業(yè)是計算機測量和控制,開始的時候還主要是基于小型機 PDP11 計算機, 86 年以后在我們所長-信息和計算機專家莊梓新的大力推動下,一個和 Intel 合作的引進微型計算機和單片機項目改變了我們現(xiàn)狀,全新的基于 8086 的微型計算機系統(tǒng)和 8051 單片機開發(fā)系統(tǒng)讓我們這些年輕人開了眼界,改變了我們對計算機認識;神秘和一點畏懼變成喜愛,我們可以自由的打開一臺微機,對單片和單板的編程,燒入到 EPROM 里面,看到程序執(zhí)行的結(jié)果,真是非常的興奮。 87 年我參加了在 Intel 香港公司的培訓更讓我全面的了解了單片機和嵌入式微處理器的開發(fā)過程。課程安排的是非常實際和緊湊,體現(xiàn)了 Intel 一貫務實的作風。第一周是關(guān)于處理器結(jié)構(gòu),指令集,中斷,內(nèi)存和 I/O 訪問,匯編和 8255 、 8251 等接口,試驗是安排使用 8086 和 8051 的開發(fā)系統(tǒng)匯編和 PL/M 語言編程( PL/M 是一個類似 C 的高級語音)。第二周是講授 intel 單片機和微型機的實時多任務操作系統(tǒng) -iRMX ,它有支持 8086 , 286 ,和后來的 386 幾個版本, iRMX 雖然有支持 8051 的版本,但是因為當時 8051 資源的限制,實際使用的不多,用戶還是以 mcs51 宏匯編和 PL/M 51 作為開發(fā)語言, ICE51 在線仿真器作為 IDE 環(huán)境。需要強調(diào)的是,那個時候因為沒有片上仿真技術(shù), ICE51 雖然功能是完善的,但是價格昂貴使得 8051 的開發(fā)變得相對困難的多了,許多的早期用戶不得不‘摸黑'設計單片機系統(tǒng)(就是直接把程序代碼燒入到 EPROM 執(zhí)行)通過看 LED 和示波器確定程序的執(zhí)行結(jié)果。相對起來因為有了 iRMX 和 86/310 系統(tǒng)( Intel 的基于 8086 單板的系統(tǒng)), 8086 開發(fā)就變得容易的多, iRMX 是一個可以稱為 unix 的實時化的完整操作系統(tǒng),你在 86/310 系統(tǒng)上開發(fā)好的代碼可以從硬盤上直接啟動,通過使用 printf ()在 CRT 看到代碼執(zhí)行的結(jié)果,最后你需要代碼在 8086 單板上執(zhí)行,你可以借助 ICE86 仿真器或者 EPROM 燒入。 iRMX 不能稱為是一個嵌入式操作系統(tǒng),這和 intel 當時的策略有很大的關(guān)系,因為 intel 是希望用戶更多購買它的系統(tǒng)機和單板,而不是芯片。其實在技術(shù)上包括筆者在內(nèi)的一些技術(shù)人員,已經(jīng)實現(xiàn)了在一定的硬件配置條件下把 iRMX 移植到任何 8086 單板上,這是后話了。說真的,以今天 Intel 和 20 年前比較,那時 Intel 更像一個朝氣蓬勃的青年,才華橫溢,創(chuàng)造了許多好的產(chǎn)品和技術(shù),比如 Multibus 和 bitbus 這兩個總線的技術(shù)和標準,一個是為單板機互連系統(tǒng)內(nèi)部總線標準,主要是應用在以 X86 單板計算機系統(tǒng)里。后者是一個分布式的工業(yè)總線標準, Intel 還設計了基于 51 的通訊控制器 8044 ( SIU ) , 它可以支持 bitbus 協(xié)議傳輸。應該說當年 Intel 項目對中國工業(yè)自動化,嵌入式系統(tǒng)和單片機發(fā)展的貢獻是巨大的。正是因為對 Intel 的敬仰和對培養(yǎng)自己多年的研究所工作多年的領(lǐng)導和同事的感情,研究生畢業(yè)后后還是先選擇了一直和我們研究所合作的 Intel 計算機北京公司的工作。
這次香港培訓不僅讓我學到全套的單片機和微機開發(fā)系統(tǒng)開發(fā)的知識,實際操作經(jīng)驗。還讓我結(jié)識了同去參加學習的北航計算機系開發(fā)系統(tǒng)實驗室主任田子均教授,和田教授相識,促使我在幾年后決定重新回到學校開始了計算機專業(yè)研究生的新生活。
VRTX 讓我真正了解了嵌入式操作系統(tǒng) 學習的生活總是感覺時間很快, 90 年再次走出學校大門后,我才發(fā)現(xiàn)外面社會正在發(fā)生翻天覆地的變化,那時改革的浪潮正洶涌澎湃,知識分子吩咐走出大門橫向合作,下海創(chuàng)業(yè),好是熱鬧。單片機和微處理器也由當初的 Intel 8051 和 8086 一枝獨秀,變成 Z80, 菲利普 XA , 6800/68000 還有 TI 和 ADI 的 DSP 百花齊放。除了大名鼎鼎的臺灣 MICETEK 的單片機開發(fā)系統(tǒng)外,國內(nèi)的單片機和微處理器開發(fā)系統(tǒng)也小有規(guī)模,當時小有名氣的是北工大 TP801 ,啟東電子廠 8051 和北京三環(huán)公司的 8086 仿真器。嵌入式軟件方面的發(fā)展相對慢些,主要還是匯編語言和逐漸為大家接受的 C 語言,那個時候大家多數(shù)是在用 franklin C51, 后來逐漸被 keil51 替代,當然今天又開始轉(zhuǎn)到 IAR EW51 。
一次很偶然的機會,我參加一個技術(shù)研討會認識 VRTX 嵌入式操作系統(tǒng)和 Ready System 公司的創(chuàng)始人 Jim Ready 先生和他的銷售付總裁 Andre Kobel- 一個和藹,穩(wěn)健和執(zhí)著的瑞士人,這件事情改變我以后的生活。今天的一些資深的工程師可能會認識的嵌入式操作系統(tǒng)有 Vxwork, ,少數(shù)人可能聽說過有個 psos, VRTX 大家都不了解。其實 VRTX 幾乎是比它們更早一代的嵌入式操作系統(tǒng)(也稱為 RTOS ),第一商業(yè)版本的 VRTX1.0 早在 1981 就發(fā)表了,在整個 80 年 VRTX 在全世界戰(zhàn)領(lǐng)了多數(shù)的市場,有超過一百萬用戶產(chǎn)品,包括 AT&T , Motorola,Siemens 的通訊和手機產(chǎn)品,波音,麥道和空客的飛機控制裝置。 VRTX 是一個真正意義的嵌入式操作系統(tǒng),也是一個實時操作系統(tǒng), 91 年的 VRTX 它就可以支持 68K,X86,960,sparc 等 16 、 32 位的單片機和嵌入式微處理器,精細的模塊化設計,完整的開發(fā)環(huán)境 VRTXvelocity 和 rtscope 源代碼調(diào)試器和高級語言的編譯,還有面向?qū)ο蟮脑O計工具 VRTXdesigner 。我被這個產(chǎn)品吸引了,當時我想這樣的軟件應該是未來中國單片機和嵌入式軟件開發(fā)的方向吧。
幾年以后,追隨時代的浪潮我也下海了,在摸索了一段時間之后很快我把麥克泰公司的方向放在嵌入式軟件上,那么自然而然 VRTX 就是我最好的選擇。那個時候 Ready system 已經(jīng)和另外一個美國公司合并產(chǎn)品線更豐富了,覆蓋了嵌入式軟件從編譯-調(diào)試-仿真-操作系統(tǒng)一整套工具,那時我們支持最多的單片機是高檔的 80186 , 386EX 和 motorola 的 683XX ,但是必須承認當時的市場還是非常的小,最初的階段從工程師到領(lǐng)導多對 C 語言開發(fā)工具和仿真器是認可的,但是到了嵌入式操作系統(tǒng),大家只是聽說國外用的的很多,因為親眼看到的少,懷疑和擔心的觀點占了主流,那是的單片機和微處理器的處理能力,網(wǎng)絡,存儲和外設功能都無法和今天比較,所以嵌入式操作系統(tǒng)應用在那個年代的中國還是鳳毛麟角,直到 97 年開始通訊產(chǎn)業(yè)蓬勃發(fā)展,通訊設備制造商由于對處理能力和網(wǎng)絡的要求而大量采用嵌入式操作系統(tǒng)催生了國內(nèi)嵌入式軟件的快速發(fā)展。記得我第一次訪問華為公司觀看演示和講解的一個項目主管現(xiàn)在已經(jīng)公司中研的老總了,可見那時通訊廠商對嵌入式操作系統(tǒng)的重視??梢宰屓酥档糜洃浀牡湫偷膰鴥?nèi)的 VRTX 應用是 GSM 基站, ISDN 終端, SDH 光傳輸和數(shù)字程控交換機設備,飛行控制裝置,計量和測試設備等等有近百種之多。
VRTX 的市場推廣過程是艱辛和漫長的教育過程,那時多數(shù)用戶是第一次使用 RTOS ,任何的概念和經(jīng)驗都沒有,我們只好走和學校合作的路線,這也讓我認識包括清華大學邵貝貝老師和最初我們的合作伙伴,成都電子科技大學的熊廣澤教授和羅蕾老師,熊老師的小組是國內(nèi)最早研究嵌入式操作系統(tǒng),他們幫助我們完成了 VRTX 培訓教材和十余個試驗,組織了 VRTX 培訓班,安排專人研究一些技術(shù)難題,這些對于今天來看可能是很容易的事情,但是 10 年前,電子科大和麥克泰所作的一切都是開創(chuàng)性,參加我們學習班的某些學員今天已經(jīng)成為大型企業(yè)主要領(lǐng)導了。借助了電子科大的 Intel 實驗室 , 我們拿到了一定數(shù)量的 386EX 評估板,我通過游說 VRTX 美國總部,讓信產(chǎn)部電科院和電子科大成立嵌入式試驗室得到了 VRTX 的教育授權(quán)。今天滿眼看到書店的 ARM/Linux 教材,可惜的是,我們那本 VRTX 培訓教材沒有組織出版,只有手里 1 本留作紀念了。特別值得一體的是 386EX 這顆芯片,雖然它不是傳統(tǒng)意義的單片機,但是它推動 32 位 CPU 在嵌入式系統(tǒng)的應用。這顆芯片更像一個通用 ARM7 SoC ,非常容易構(gòu)造一個小的單片系統(tǒng),只是 DRAM 的接口電路略微復雜了一點。 Intel 在 386EX 之后沒有新發(fā)展,將市場讓給了后來者 motorola, TI, 菲利普和再后面的 ARM 。雖然 Intel 后來借助 xscale 再次進軍嵌入式系統(tǒng)而且取得了更輝煌的成就,但是去年 Intel 還是放棄了 xscale 無線和手持部分業(yè)務,再次回歸 X86 體系。和清華大學邵老師的合作起源于國內(nèi)單片機新的發(fā)展,邵老師的試驗室是 motorola 單片機實驗室,那時 68XX(8 位 ),683XX(16 位 ) 和 68XXX(32 位 ) 早在北美和歐洲占領(lǐng)了大半市場,中國因為 Intel 先入市場還在起步期,得益清華的名氣,合作很順利得到 VRTX 美國方面的支持,最新的 VRTX 開發(fā)系統(tǒng) -Spetra 和 683XX/86XXX 開發(fā)軟件 XRAY 很快就在清華的試驗室運行起來了,當然這也引來不少國內(nèi)希望使用 motorola 單片機的用戶的關(guān)注。這是一個很好的示范項目。和邵老師的認識也讓我以后結(jié)緣 jean labroose 先生,在加拿大蒙特利爾見面后很快建立了他的 uc/os-II 和麥克泰的業(yè)務往來。
ARM 和開源軟件催生單片機和嵌入式系統(tǒng)標準化
自 91 年第一次參加 VRTX 研討會到公司銷售和服務這個產(chǎn)品結(jié)束的整個過程大約是 10 年,這 10 年也正好是中國單片機和嵌入式系統(tǒng)大發(fā)展的時代。在 2000 年之后,市場,技術(shù)和人們的思維觀念都在發(fā)生著巨大的變化。我記得最初的由北航何立民教授召集的單片機聯(lián)誼會是在北航出版社的一個小會議室開的十幾個人的小會,大家就單片機領(lǐng)域各自了解的情況和體會溝通和交流,后來參加的人逐漸多了,何老師開始列了些題目讓大家準備發(fā)言和討論,到 2 - 3 年后因為參加人太多了,會議不多不以講座的形式召開了。單片機聯(lián)誼會的經(jīng)歷過程也是國內(nèi)單片機向嵌入式系統(tǒng)演變的過程,人們思想和觀念的變化催生了單片機向更廣泛的領(lǐng)域發(fā)展,也影響和帶動了更多的人參與和關(guān)心。今天的嵌入式軟件已經(jīng)是軟件行業(yè)的重要部分,今天的單片機和嵌入式系統(tǒng)已經(jīng)是計算機,電子技術(shù),通訊技術(shù)等眾多行業(yè)的集合體。
ARM 和開源嵌入式軟件的為單片機和嵌入式系統(tǒng)的發(fā)展起到了重要作用。在它們之前,不是沒有好的單片機,不是沒有好的嵌入式軟件和操作系統(tǒng),但是沒有一個平臺可以把單片機世界的‘八國聯(lián)軍'統(tǒng)一到一個體系結(jié)構(gòu)里面,美國 8051 和 68XX , TI DSP , MSP430, 歐洲的 XA,AVR ,日本瑞薩和 NEC 的體系結(jié)構(gòu)和開發(fā)工具多是各自為政,操作系統(tǒng)有 vrtx,vxwork,psos,nucleus, OSE , cmx 少擇要幾千美元,多則數(shù)萬美元。這樣的局面直到 ARM 和開源嵌入式軟件出現(xiàn)后才有根本的改變。今天雖然上面的單片機還活躍在我們生活中,但是更多的廠家在加快推出基于 ARM 核的單片機,包括了老牌的 Ateml ,NXP( 以前的菲利普 ) , ST, 飛思卡爾(以前的 motorola ), TI ,三星和 Intel 的 Xscale (今天的 matvel ),還有許許多多基于 ARM 的 SoC 芯片和基于 ARM 的 FPGA ,這些 SOC 往往是一些專用的單片機。除了 Intel 外上面的廠家都保持和 ARM 緊密的合作和路線圖,即 ARM7-ARM9-Cortex-ARM11, 這樣的格局對于單片機的用戶是有益的,用戶將把他們的專注放在產(chǎn)品層面創(chuàng)新。
Linux 是芬蘭的學生 Linus Torvalds 1991 年寫的一個操作系統(tǒng),之后全世界數(shù)以萬計的人們?yōu)橹暙I自己的才能和知識, Linux 不僅在服務器上取得了巨大的成功,在桌面系統(tǒng)逐漸成熟,更重要的是 Linux 被證明非常適合嵌入式系統(tǒng)。 Linux 是完全開放的,免費的,要求的只是使用者的貢獻( GPL 的協(xié)議)。早期的 Linux 還主要是 X86 的移植代碼, ARM 體系越來越為開源社區(qū)更多的人士所接受, ARM 公司和其他眾多的 ARM 授權(quán)的芯片公司也積極資助開源社區(qū)和商業(yè)企業(yè)相關(guān)項目,這些使得 ARM Linux 更加成熟,有了 Linux/GNU 的支持的 ARM 平臺,一個相對完整的單片機開發(fā)環(huán)境就有了,價格是非常的低廉。這個平臺解決了傳統(tǒng)的單片機開發(fā)系統(tǒng)缺少高級語言和操作系統(tǒng),網(wǎng)絡和圖形應用開發(fā)環(huán)境的問題,把單片機的開發(fā)引向了一個高起點。包括 ARM 中國,北航出版社,電子產(chǎn)品世界,單片機和嵌入式系統(tǒng)雜志,博創(chuàng)公司,周立公公司,英培特和麥克泰 , 他們通過推廣 ARM 授權(quán)培訓,圖書,文章, ARM 教學板和入門級 ARM 開發(fā)系統(tǒng)為 ARM 單片機的普及鋪路搭橋。今天 ARM 單片機的書籍,開發(fā)板和 JTAG 仿真器可以和當年的 8051 開發(fā)系統(tǒng)相比擬和超越, ARM 和包括 Linux 在內(nèi)的開源軟件把我們帶入了 32 位的單片機和嵌入式系統(tǒng)世界。也是因為 Linux 的緣故,讓我和 Jim ready 先生以及他新創(chuàng)立的 montavista 再次攜手,把商業(yè)的嵌入式實時 Linux 帶進中國,開始了麥克泰‘嵌入式 Linux 中國上路'的新的歷程。
Linux 是開源軟件的一個杰出典范,其他的開源和半開源軟件包括 ecos,uc/os-II (針對教育和非商業(yè)應用), QT(GPL 和商業(yè)授權(quán) ) 和早期的 miniGUI , 他們對單片機和嵌入式系統(tǒng)的普及和推廣都也啟動了積極的作用。
展望未來
中國走過了單片機從無到有的時代,我們已經(jīng)邁進一個全新的嵌入式系統(tǒng)世界。單片機和嵌入式系統(tǒng)深深的植入了我們生活和工作當中,展望未來我們將看到的單片機是一個絢麗多姿和五彩斑斕的世界,功能強大,品種繁多,單片機將和各種電子器件,網(wǎng)絡,傳感器件結(jié)合融入到各種產(chǎn)品和裝置里面,單片機和嵌入式系統(tǒng)將更加智能,節(jié)能,經(jīng)濟,安全和可靠。嵌入式開發(fā)系統(tǒng)和軟件將更容易使用,組件和平臺化。總之一點,單片機和嵌入式系統(tǒng)將邁出神秘,專業(yè)走向普及和大眾,人們越來越喜愛它,也越來越離不開它。
參考資料 何小慶,電子設計技術(shù) 2003 、 8 ‘嵌入式 Linux 中國上路'
何小慶,電子產(chǎn)品世界 2005 , 5 ‘ 選擇一個 ARM CPU嵌入式操作系統(tǒng) ‘
何小慶, 2006年3月上海微處理器論壇,‘嵌入式Linux軟件和工具支持SoC的發(fā)展
何小慶,電子產(chǎn)品世界 2007 , 8 - 9 ‘ 我看嵌入式軟件知識產(chǎn)權(quán) (上)(下)‘
Intel, 1990 ,8-bit Embedded Controlers,1992, Microcomputer Product
Intel, 2007年9月, Intel 嵌入式行業(yè)創(chuàng)新歷程的 30 周年研討會手冊
單片機和嵌入式系統(tǒng)應用, 2007增刊,第七界嵌入式系統(tǒng)和單片機學術(shù)交流會論文集
電子產(chǎn)品世界, 2007年9月,第七界嵌入式系統(tǒng)和單片機學術(shù)交流會手冊
何小慶 聯(lián)絡方式: 北京海淀上地 3街嘉華大廈D403 郵編100085 ,電話:62975900/13701163160
轉(zhuǎn)自《單片機與嵌入式系統(tǒng)應用》2008年第一期
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)