北京麥克泰軟件技術(shù)有限公司 作者:何小慶 2007年底我發(fā)表了一篇文章“我與單片機和嵌入式系統(tǒng)20年”,后經(jīng)熱心的媒體朋友推薦在幾個網(wǎng)站上刊登并受到了許多讀者關(guān)心和反饋。更多意見是希望我能把從業(yè)這20年心得分享給年輕的工程師朋友,仔細考慮一下的確很有道理。20年時間電子技術(shù)已經(jīng)有幾代的變化,過去認為的高新科技,今天是蘿卜白菜。但是掌握堅實的專業(yè)基礎(chǔ),捕捉機遇,樹立信心一直都是不變應(yīng)萬變的人生必修課程。我愿意借下面這篇短文和大家分享我的體會,里面即有成功的喜悅,也有失敗的挫折、遺憾和惋惜。 硬件是本 1984年大學(xué)畢業(yè),我被分配的第一份工作就和計算機硬件密切相關(guān)-測試和維修,研究所事業(yè)部領(lǐng)導(dǎo)的解釋也是合情合理的——你是男同志,學(xué)自動控制的,其他同屆分配來的多數(shù)是學(xué)計算機的,女同志也占多數(shù)。我開始還老大不情愿,時不常地往科室里面跑,總想多學(xué)習(xí)點編程方面的技術(shù)。但是很快,同事們都跑過來找我請教了,因為那個時候的計算機可要比現(xiàn)在的PC復(fù)雜得多,我們研究所的專業(yè)方向是工業(yè)控制,那就必須和外設(shè)、接口、驅(qū)動打交道。如果一點不了解處理器、寄存器、接口電路、外設(shè)、程序是沒法設(shè)計和測試的。因為工作的特點,我首先學(xué)習(xí)和掌握的就是這些東西,例如,通過編寫8255驅(qū)動打印機的測試程序,可以完整地把CPU的I/O電路、8255器件和外接口測試好。一段時間以后,我對計算機的陌生、膽怯的心理一掃而光,上學(xué)時候更本沒有機會看的CPU,存儲器,磁盤,電源現(xiàn)在都有機會親自組裝,親自把操作系統(tǒng)安裝上去(那時并不像現(xiàn)在的WinXP這樣簡單),我們使用的是微型機,光是操作系統(tǒng)的8寸軟盤就多達十幾張,或者幾盤磁帶,安裝一般需要幾小時,而且系統(tǒng)還沒有任何中文標志。 這些和硬件打交道的經(jīng)歷加上2000年我的研究生畢業(yè)設(shè)計課題——一個電網(wǎng)控制系統(tǒng)的項目,另外,下海后參加數(shù)字程控交換機、移動電話基站的項目都是實實在在的硬件設(shè)計,其中一個設(shè)計是基于8086的主板,另一個是設(shè)計386的主板,都要求運行實時多任務(wù)操作系統(tǒng)。整個系統(tǒng)很復(fù)雜,當時的器件集成度低,調(diào)試手段也沒有現(xiàn)在ARM的JTAG方便,但是掌握了硬件設(shè)計,調(diào)試和生產(chǎn)的基礎(chǔ)對于我的專業(yè)素質(zhì)大有提高,這些經(jīng)歷為我之后投身嵌入式事業(yè)奠定了基礎(chǔ)。 學(xué)習(xí)的力量 大家都知道學(xué)習(xí)的重要性,我想說的是,如果你熱愛現(xiàn)在的專業(yè),希望在這個方向上有更深發(fā)展,那么盡可能多地積累這個專業(yè)的知識是你未來成長的基礎(chǔ)。1988年我得到一個考研的機會,當時的領(lǐng)導(dǎo)不希望我報考研究生,他表示計劃安排我到美國參加培訓(xùn),當時能夠去美國的機會并不多,但我考慮再三后,還是決定放棄出國的機會。因為通過幾年的工作實踐,我深深感到自己計算機專業(yè)基礎(chǔ)知識不夠堅實,因我一九八幾年在大學(xué)本科學(xué)習(xí)的是FOTRAN語言和大型機,而后來研究生課程的C語言和軟件工程的課程都更適合一九九幾年的情況。兩年的研究生學(xué)習(xí)雖然使我在某些方面損失了一些,卻為我之后十幾年突飛猛進的成長和進步奠定了厚實的基礎(chǔ),也為我之后下海創(chuàng)業(yè)平添了一份自信和力量。 學(xué)習(xí)不僅是進入學(xué)校學(xué)習(xí),更是一個持續(xù)持久的過程。從我最初在研究所里接觸微型機、單板機和實時操作系統(tǒng),到嵌入式操作系統(tǒng)、通信協(xié)議、嵌入式數(shù)據(jù)庫,再到手機軟件,轉(zhuǎn)變相當大,而專業(yè)領(lǐng)域卻一直以嵌入式系統(tǒng)為核心,這塊我投入的精力最大,也最喜愛:從VRTX,uC/OS-II到Linux和MontavistaLinux,對這些產(chǎn)品從了解、談判、市場、技術(shù)支持到培訓(xùn)、項目開發(fā)我參與了幾乎所有過程。 技術(shù)上,即使同屬于嵌入式操作系統(tǒng),彼此之間也有差異:內(nèi)核原理、API、BSP、文件、網(wǎng)絡(luò)、圖形模塊均不一樣,尤其是轉(zhuǎn)到嵌入式Linux后,我發(fā)現(xiàn)它和以前的嵌入式操作系統(tǒng)之間存在很大差異,轉(zhuǎn)變就要為之付出相應(yīng)的汗水、辛勞。 通信產(chǎn)業(yè)在20世紀80年代末蓬勃發(fā)展,國內(nèi)的通信企業(yè)紛紛仿效國外對手投入巨資研發(fā)先進的通信設(shè)備。嵌入式操作系統(tǒng)、網(wǎng)絡(luò)協(xié)議和開發(fā)工具等嵌入式軟件立刻有了廣闊的用武之地。我從1984年開始接觸實時操作系統(tǒng),當轉(zhuǎn)向網(wǎng)絡(luò)協(xié)議,特別是電信協(xié)議時,對我一個計算機專業(yè)的人,其困難可想而知了,即使只學(xué)習(xí)個皮毛也不得不下一番苦功夫,那怎么去學(xué)呢?我的方法是:一、向廠家學(xué)——我和公司的技術(shù)人員專門到波士頓附近的Netplane和加州附近的Telenetworks參加培訓(xùn),雖然花錢又吃力,但是收獲不少;二、向用戶學(xué)——東方通信和上海貝爾(現(xiàn)在的阿爾卡特)是我們的用戶,記憶特別深刻的是東方通信,他們樸實熱情。如此反復(fù)幾十次的談?wù)摵团嘤?xùn)讓我和同事都很快成長起來。手機是90年代后流行的通信和消費電子產(chǎn)品,中國企業(yè)也在此期間進入這個領(lǐng)域。開始是組裝生產(chǎn),后來是自主設(shè)計。手機雖小,五臟俱全,除了通信工作外,現(xiàn)在越來越多的手機增加了多媒體、PDA、照相、互聯(lián)網(wǎng)功能,這些多是典型的嵌入式系統(tǒng)。手機通訊部分一般是由基帶芯片公司設(shè)計完成,國內(nèi)手機廠商主要是完成應(yīng)用系統(tǒng)設(shè)計——嵌入式系統(tǒng)。因為當時與montavista合作,而摩托羅拉又在使用這個軟件,于是我們在2004年進入手機這個圈子,機遇是全球興起了一股智能手機浪潮,Nokia使用Symbian,摩托羅拉使用Linux,還有微軟windowsmobile得到了許多中國臺灣公司的支持,摩托羅拉A760系列在中國市場的巨大成功激勵了中國手機企業(yè)加入Linux智能手機開發(fā)隊伍。 手機設(shè)計有相當多的特殊要求,就電源管理而言,因為手機是一個關(guān)鍵應(yīng)用裝置不同與一般的消費電子產(chǎn)品,手機能耗的指標好壞直接影響產(chǎn)品銷路,電源管理和應(yīng)用處理器、OS(比如Linux)、驅(qū)動程序、應(yīng)用軟件、手機的硬件(LCD大小等)都至關(guān)重要,我和公司技術(shù)人員花了大量的時間研究這個問題,特別是基于Linux的電源管理的方式,公司技術(shù)人員通過支持我們的montavistalinux手機用戶的實踐,理解和掌握了具體的方法。最近我和他們一起撰寫的“嵌入式系統(tǒng)電源管理軟件的比較”剛剛在某雜志發(fā)表,有興趣的朋友可以交流。 嵌入式系統(tǒng)技術(shù)和知識更新很快,所以學(xué)習(xí)永遠是進步和成功的源泉。 堅持才能成功 這里想要說的是,無論做任何的事情總是有順利和不順利的時候,有失敗的悲傷,也一定會有成功的喜悅,但是無論如何一定要堅持,堅持才有希望。 90年代初,決定下海本身是一個需要勇氣的事情,決定從事軟件就顯得與眾不同,而后來致力嵌入式軟件,就更需要有信心和毅力,更要耐得住寂寞、堅持不懈——這是我的心得。 1995年公司成立初期,我在向用戶介紹VRTX的時候,多數(shù)場合我必須先把嵌入式操作系統(tǒng)的基本知識講解一遍,然后再把一個多任務(wù)的程序演示一下給他們看,簡單的可以是五個任務(wù)。這種情況是五個任務(wù)的優(yōu)先級相同,如果改變?nèi)蝿?wù)的優(yōu)先級,顯示的情況就會發(fā)生變化,進而需要演示使用調(diào)試工具顯示任務(wù)狀態(tài)和程序源代碼及斷點調(diào)試。 整個的銷售過程很漫長,有時甚至是煎熬,1~2年是很正常的時長,但我沒有放棄,幾年的努力終于迎來了一點點收獲,開發(fā)工具(MRIC/C++編譯器和XRAY調(diào)試器)在電信設(shè)備研究和開發(fā)企業(yè)得到了認可。當時大多企業(yè)正在開發(fā)基于68302的數(shù)據(jù)終端設(shè)備,急于尋找一套開發(fā)工具。VRTX支持X86的real-mode(實模式)版本也因為軟件配置靈活河豐富,使用簡單,價格便宜在基于186/386的控制企業(yè)開始使用,但是這些只是中國巨大的嵌入式軟件市場的冰山一角,等到真正冰雪開始融化,已經(jīng)是90年代末了。這中間我也考慮過轉(zhuǎn)向其他的產(chǎn)品和市場,也嘗試過硬件仿真器,測試工具等產(chǎn)品,但最終我和公司的同事還是堅持下來,到今天,嵌入式操作系統(tǒng)仍然是我公司的主力產(chǎn)品和方向。 uc/os-II這個嵌入式操作系統(tǒng)的推廣過程和VRTX是相反的,VRTX是要通過自己學(xué)習(xí),向用戶宣傳演示,讓用戶接受這個概念,讓用戶相信使用嵌入式操作系統(tǒng)的好處并能夠成功。而uc/os-II則是因為作者JeanLabrosse先生的一本書和他的中文版本在中國悄然流行起來,也許是因為早期的uc/os是完全免費的軟件,而升級后uc/os-II是一個商業(yè)軟件。這件事情無論是原作者、業(yè)內(nèi)人士一開始都沒有特別留意,由于國內(nèi)用戶的知識產(chǎn)權(quán)意識不強,這幾年我們的壓力相當大,一方面是廠家不理解,他們質(zhì)疑,既然中國有這么多人在使用這個軟件,為什么購買商業(yè)授權(quán)的用戶卻是少而有少。另外一方面,公司每天收到大量的uc/os用戶信息,當銷售員把電話打過去,真正有意向購買者鳳毛麟角,要么就是不知道這是個商業(yè)軟件,要么就覺得價格太貴。廠家和公司內(nèi)部的抱怨都壓到我這里。我頂住了這些壓力,并堅信只要uc/os-II做得好,用戶能夠用它設(shè)計出好產(chǎn)品,中國用戶還是愿意為uc/os-II買單的。況且它的價格只是某些國外同類軟件的十分之一,并且沒有生成數(shù)量的限制。安撫好公司內(nèi)部,我和公司和同事多次與Jean溝通,最后我作了三個方面的安排:一、讓Jean寫一封關(guān)于uc/os-II的版權(quán)聲明,我們翻譯成中文發(fā)表在麥克泰公司網(wǎng)站,在國內(nèi)主要嵌入式系統(tǒng)媒體發(fā)表;二、說服國內(nèi)嵌入式硬件,工具和系統(tǒng)廠家通過購買合法uc/os授權(quán)成為伙伴;三、重點專注在國內(nèi)的外資、上市、面向出口企業(yè)、國內(nèi)的半導(dǎo)體和大型設(shè)計機構(gòu)。經(jīng)過最近兩年的努力終于取得了一點成績,如北京博創(chuàng)、廣州周立功等嵌入式系統(tǒng)公司已成為我們的合作伙伴;珠海矩力、南京南瑞、廣州數(shù)控、科學(xué)院DSP中心等已成為uc/os-II合法授權(quán)用戶。更加可喜的是通過我們在國內(nèi)的辛勤工作,得到了半導(dǎo)體公司和工具廠商如NXP、ST、Xilinx和IAR的認可,他們一致認為uc/os-II是一個應(yīng)用廣泛的嵌入式操作系統(tǒng)。公司內(nèi)部原本不看好這個產(chǎn)品的人也逐漸改變了看法。 產(chǎn)品之痛 沒有哪個企業(yè)家不想擁有自己的產(chǎn)品和技術(shù),我也一樣。我一直夢想著自己的核心產(chǎn)品。在中國內(nèi)地,一定的時間內(nèi),硬件和系統(tǒng)產(chǎn)品是企業(yè)做強做大的關(guān)鍵。許多成功企業(yè)的共同之處就在于他們有自己的核心強勢產(chǎn)品,如華為通信產(chǎn)品、聯(lián)想的PC、長虹的電視、海爾的白色家電。 我和麥克泰在過去十幾年中,多次嘗試過自主開發(fā)、和別人合作開發(fā)產(chǎn)品,給我影響最深的是這樣一個例子:1998年中國通信蓬勃發(fā)展,設(shè)備制造企業(yè)也大干快上,他們對先進的嵌入式硬件、軟件、工具等非常感興趣,數(shù)據(jù)通信也是當時的發(fā)展熱點,摩托羅拉公司的Powerpc860(現(xiàn)在的飛思卡爾)通信處理器尤其引人注目,860集成了一個通用的CPU和通信引擎構(gòu)成4個高速的10/100M以太網(wǎng)絡(luò),這對于當時的數(shù)據(jù)設(shè)備和網(wǎng)絡(luò)管理設(shè)備都是非常適合的芯片。 于是我們借鑒國外的一個硬件參考設(shè)計,自己開發(fā)了一款860硬件,取名叫NETE860,它的特別之處是除了母板內(nèi)置的100M以太網(wǎng)外,還可以通過4個擴展接口支持10M,E1接口,這在當時市場上銷售的所有860的設(shè)計中是獨一無二的。最初我們移植了VRTXRTOS和internicheTCP/IP(硅谷的一家提供TCP/IP源代碼的公司),后來因為Vxwork逐漸在國內(nèi)流行了,我們又移植了BSP支持Vxwork,到再以后上海羅頓和交大希望在NETE860上使用開源Linux開發(fā)路由器,我們又把hardhatlinux(MontavistaLinux早期的一個開源版本)移植了上去。兩年的時間這個產(chǎn)品逐漸成熟起來,有了一些銷路,但是由于初期的設(shè)計是一個參考設(shè)計平臺,沒能充分考慮OEM的需求,這樣銷售上就沒有長遠的數(shù)量機會,只能和我們開發(fā)工具軟件搭配銷售。我利用多年在西南市場的關(guān)系,找到了一個合作開發(fā)基于NETE860路由器的機會,當時甚至合作的公司名都已經(jīng)注冊下來,但由于我和對方過于謹慎,另外,包括我在內(nèi)的公司管理層一直對需要長期投入的OEM銷售和產(chǎn)品抱有一種將信將疑的態(tài)度,導(dǎo)致后來其他公司看到這樣的機會,很快開發(fā)出類似的產(chǎn)品來。他們定位了OEM,加上開源Linux開始大行其道,這種免費軟件配合硬件的模式立刻流行全國。 860之后我們雖然敏感于ARM時代的到來,開始設(shè)計NETCARM,但是不久就被淹沒在眾多ARM硬件的海洋里悄無聲息了。 之后的幾年,我和公司繼續(xù)嘗試過合作開發(fā)數(shù)字監(jiān)控產(chǎn)品,委托別人開發(fā)嵌入式調(diào)試工具等,終因時間長,收效漫而告終。久而久之我的信心慢慢消沉下來,公司內(nèi)部的壓力和抵觸情緒也越來越大。我和公司的產(chǎn)品之路也這樣偃旗息鼓了。 今天回頭看看過去的道路和曾經(jīng)的同行,許多當時名聲顯赫的公司已悄然無聲或不復(fù)存在,我慶幸自己和麥克泰還能夠生存下來,同時我很仰慕像合肥的華恒,科銀京成(成都電子科大為開發(fā)團隊)的同行們,他們不但能夠堅持下來,而且已經(jīng)有了相當?shù)闹龋氡匾步?jīng)歷了一番驚濤駭浪。 結(jié)語 20年的時間是人生的一個片段,從20多歲風(fēng)華正茂的青年到沉穩(wěn)的中年是一個充滿幻想的過程。追逐理想的足跡,我走過了學(xué)生、工程師、創(chuàng)業(yè)者和管理者的道路。我熱愛嵌入式系統(tǒng)、我的工作、我學(xué)習(xí)和推廣過的產(chǎn)品、我的家人、老師、合作伙伴、同事以及許許多多的用戶和同行朋友們。如果再讓我選擇一次,我依然會選擇嵌入式軟件和嵌入式系統(tǒng),正如行業(yè)老前輩何立民老師所說“嵌入式系統(tǒng)是一個無限大的系統(tǒng)”,它充滿著新奇、變化和智慧,像一個磁石永遠吸引著我。 |
參與人數(shù) 1 | 積分 +1 | 收起 理由 |
---|---|---|
xu_2chl | + 1 |
學(xué)習(xí)學(xué)習(xí) |
頂 |
受教 |
好啊 |