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