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