《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 從C語言到FPGA高手,,我是怎么煉成的

從C語言到FPGA高手,,我是怎么煉成的

2015-10-15
關(guān)鍵詞: FPGA C語言

  這些日子我一直在寫一個實時操作系統(tǒng)內(nèi)核,,已有小成了,,等寫完我會全部公開,,希望能夠為 國內(nèi)IT的發(fā)展盡自己一份微薄的力量,。最近看到很多學(xué)生朋友和我當(dāng)年一樣沒有方向 ,,所以把我的經(jīng)歷寫出來與大家共勉,,希望能給剛?cè)胄械呐笥褌円稽c點幫助,。一轉(zhuǎn)眼我在IT行業(yè)學(xué)習(xí)工作已經(jīng)七年多了,這期間我做過網(wǎng)頁,,寫過MIS,、數(shù)據(jù) 庫,應(yīng)用程序,,做過通信軟件,、硬件驅(qū)動、協(xié)議棧,,到現(xiàn)在做操作系統(tǒng)內(nèi)核和 IC相關(guān)開發(fā),,這中間走了很多彎路,也吃了不少苦,。
  我上的是一個三流的高校,,就連同一個城市的人多數(shù)都不知道。因為學(xué)校不好也就沒有指望能靠學(xué)校名氣找一個好工作,。所有的希望都寄托在自己的努力上了,, 大一開學(xué)前的假期我就開始了學(xué)習(xí),記得我買的第一本書是《計算機基礎(chǔ)DOS3.0》,,大家別嚇著了,,其實當(dāng)時已經(jīng)普及了DOS6.22了,只是我在書店里 看到了DOS4.0,,5.0,,6.0的書,以為像英語那樣是第四,、五,、六冊,記得當(dāng)時到處找DOS1.0,,現(xiàn)在想想也幸好我沒有找到:)開學(xué)前我學(xué)完了 PASCAL,,那時既沒有計算機也沒有人可以請教,我連程序是什么的概念都沒有,,只好死記硬背代碼,,然后拿紙寫,,我一直到大三才有了一臺486,在這之前 用紙寫了多少程序我也記不清楚了,,只知道最長的一個我拿A4大小的草稿紙寫了30 多頁,,我的C語言、C++ ,、VC都是在這樣的條件下入門的,。所以說條件是可以克服的,希望我的經(jīng)歷多少給條件艱苦的同學(xué)們一點信心,。第一次上機是在我姐夫的機房,,我的心情激動的無 與倫比,但是一上機我立刻傻了眼,,他們用的是英文版的Win3.1,,我的那點DOS知識都見了鬼,上機提心吊膽的一陣瞎摸,,一不小心把Word弄成了全 屏,,怎么都還不了原,當(dāng)時真是心急如焚,,我以為機器被我弄壞了,。第一個C語言程序,就是那個經(jīng)典的HelloWorld,,我調(diào)了幾個星期,,上機機會非常 少,也沒有書告訴我開發(fā)環(huán)境(TC2.0)需要設(shè)置,,而且開始我都不知道有編譯器,,我甚至自作聰明把寫好的程序擴展名從.c改成.exe,結(jié)果可想而知,。 大一學(xué)完了C,、X86的匯編、數(shù)據(jù)結(jié)構(gòu),、C++,。由于精力都花在自學(xué)上了,大一下四門課掛了彩,,三類學(xué)校就是這點好,,掛上一二十門也照樣畢業(yè)。不過扯遠(yuǎn)點 說,,我那么刻苦都及不了格,,可見我們國家的計算機教育有多死板。
  大二準(zhǔn)備學(xué)VC和BC,,當(dāng)時難以取舍,,后來選了VC,不為別的,,只為書店里兩本書,,VC 那本便宜6塊錢。我的努力在班上無人能及,,學(xué)的日夜不分,,大三有了計算機后更是如此,很多次父親半夜教訓(xùn)我說我不要命了,,我一直覺得自己基礎(chǔ)差,,記憶又不 行,條件也不好,,所以覺得只有多花點時間才能趕上別人,。居然后來有許多朋友說我有學(xué)計算機的天賦,讓我哭笑不得,。我用的是486,,16M內(nèi)存,1G硬盤,, 當(dāng)時同學(xué)們的配置都是P166MMX,,我安裝 一個Windows NT4.0需要一個通宵,編譯一個BC5.0向?qū)傻某绦蛐枰鼉蓚€小時,,我的顯示器是個二手的,,輻射非常大,開機屏幕冒火花,,看起來很酷的:),,有一 次程序?qū)懙奶茫X得怎么白色的編輯器背景變成了紫色,,以為顯示器壞了,,后來才發(fā)現(xiàn)眼睛不行了,不過說來也奇怪,,到今天我的視力還能保持1.5,,真是個奇 跡。但是就是那臺破機器陪伴了我兩年,,讓我學(xué)會了VC,、Delphi、SQLServer等,。后來那臺機器給我阿姨打字用,,據(jù)她說一天她正打的開心,一股 青煙夾著火苗從顯示器鉆出來,,之后它才壽終正寢,。
  大三假期找了個機會在一個計算機研究所實習(xí),,與其說實習(xí)不如說是做義工,工作了兩個月一分錢沒有拿,。但是這兩個月對我的發(fā)展幫助很大,,讓我早一步了解 了社會,剛?cè)サ臅r候我當(dāng)然是一竅不通,,在那里我熟悉了網(wǎng)絡(luò),,學(xué)會了Delphi和Oracle。由于工作很認(rèn)真,,得到了比較好的評價,,在一位長者的引薦 下,我開始和他們一起做項目,,這使我在大三大四就有了自己的收入,,大四又找了兩家MIS公司兼職,雖然錢不多,,但是在學(xué)生期間有1000多的收入我已經(jīng)非 常滿足了,,我終于用自己賺的錢把計算機換了。大四下開始找工作,,這時我的工作經(jīng)驗已經(jīng)比較多(當(dāng)然現(xiàn)在想想非常幼稚),,開始聽父母的想去那個研究所, 實習(xí)過那個部門也希望我能去,,但是不知道為什么最后不了了之,,這種單位就是比較官僚,我一氣之下就到了我兼職的一個公司做MIS的TeamLeader,。 在大三到畢業(yè)一年的時間,,做過了各種MIS,從煤氣,、煙廠,、公安、鐵路,、飲食到高校,,什么有錢做什么,工作也很辛苦,,經(jīng)常加班和熬通宵,,從跟客戶談需求到 設(shè)計、編碼,、測試,、交付都要上。那時覺得很有成就感,覺得自己還不錯,,現(xiàn)在想想真是很膚淺,。
  剛走上工作崗位的學(xué)生很容易被誤導(dǎo),各種開發(fā)工具讓人眼花繚亂,,同時也覺得很受公司器重,,但這樣工作永遠(yuǎn)是一個低層次的開發(fā)者。不要跟我說什么系統(tǒng)分 析有多么多么重要,,多么多么難,。你以為自己跟用戶談需求做設(shè)計就是系統(tǒng)分析和設(shè)計了嗎,,國內(nèi)又有幾個公司能夠做的很到位很規(guī)范,?我是ISO9000內(nèi)審 員,也在Rational公司受過多次培訓(xùn),,拿了4個證書,,還有一個公司讓我去做 CMM。這些我聽過很多,,但是很多事情到國內(nèi)就變了性質(zhì),,一個公司不是通過了ISO9000或者CMM就能規(guī)范了,我現(xiàn)在在一家有幾十年歷史的外企工作,, 里面的管理不是一般國內(nèi)企業(yè)能及的,。作為一個畢業(yè)不久以前沒有步入過社會的學(xué)生,幾乎不可能在很短的時間掌握系統(tǒng)分析和設(shè)計,,面向?qū)ο?、UML只是一個工 具,關(guān)鍵是人本身的思想,,不是說你熟悉了C++,、Rose就能夠做出好的設(shè)計,相反如果你具備了很高的素質(zhì),,你可以用C寫出比別人用C++更加模塊化的程 序,。
  話說遠(yuǎn)一些,國內(nèi)軟件開發(fā)行業(yè)有一個怪圈,,很多人覺得VC > Delphi > VB,,真是很搞笑。這幾個軟件我都做過開發(fā),,說白了他們都是工具,,應(yīng)該根據(jù)應(yīng)用的需要選擇采用哪個,而不是覺得哪個上層次,。如果你因為用某個開發(fā)工具很有 面子而選擇的話,,只能說明你很淺薄。如果說層次,,那么這些工具都不上層次,,因為它們用來用去都是一些系統(tǒng)的API,,微軟的朋友不會因為你記住他們多少個 API或者多少個類就會覺得你很了不起,你永遠(yuǎn)只是他們的客戶,,他們看重的是你口袋里的銀子,。我也做過系統(tǒng)內(nèi)核,我也封裝過很多API,,同樣我也不會看重 那些使用這些API做二次開發(fā)的客戶,,除非他能夠作出自己獨到的設(shè)計。
  至于有人認(rèn)為C++ > C那更是讓人笑掉大牙,,不妨你去打聽一下,,現(xiàn)在有幾個操作系統(tǒng)內(nèi)核是用C++寫的,又有幾個實時系統(tǒng)用的是C++,,當(dāng)然我也不是說C++不好,,但是目前的 內(nèi)核和實時系統(tǒng)中C++還無法與C匹敵,至于說C++適合做應(yīng)用系統(tǒng)的開發(fā)那是另外一回事,。所以我的觀點是不在于你用什么工具和語言,,而在于你干什么工 作。你的設(shè)計體現(xiàn)了你的技術(shù)層次,。
  這樣干了一年我覺得非??鄲灒龅拇蠖鄶?shù)都是熟練工種的活,,個人技術(shù)上沒有太多的提高也看不到方向,。所以決定離開這個城市去上海,尋求更好的發(fā)展,,并且打算放棄我以前的MIS轉(zhuǎn)到通信行業(yè),。
  寫到這里不能不提到我女朋友,我們是在來上海前半年認(rèn)識的,,她大四在我公司實習(xí),,公司派她給我寫文檔,我們的感情發(fā)展的很快,。她告訴我很多事情,,她家 原本是改革開放的第一批暴發(fā)戶,她母親愛打牌,,輸?shù)袅藥装偃f,,還欠了很多債,她有男朋友,,但是她對他沒有感情,,只因為他給了她母親兩萬多塊錢,后來還強迫 她寫了四萬塊的借條,她男朋友背叛過她并且不止一次打她,,現(xiàn)在逼她結(jié)婚不然就要她還錢,。這人居然還是一個高校的老師!她母親把父親給她的學(xué)費花了,,因為拖 欠學(xué)費她沒有辦法拿到畢業(yè)證,。她母親現(xiàn)在有病需要錢,我拿出了自己的一點積蓄并且跟朋友們借了一些,,替她交了學(xué)費并給她母親看?。ê髞聿胖揽床〉腻X又不 知所終,就連她母親是不是有病我都不知道,,但她也是沒有辦法),。這個時候我家知道了一些事情,堅決反對我和她在一起,,她原來的男朋友也極力破壞,。無奈之下 我們決定早一點離開這個傷心的城市,,并且瞞著我們家,。由于時間倉促,我只準(zhǔn)備了4000塊錢,,她僅有的幾百塊錢也被她母親要去了,,我買了三張票,一張是中 午的,,兩張是晚上的,,中午我的家人把我送上船,他們一離開我就下了船,,我和她乘坐晚上的船離開了這個我和她生活了很多年的城市,,帶走的只是一身債務(wù)。沒有 來過上海的我們兩個性倔強,,都不愿意去麻煩同學(xué)和朋友,。來到上海是傍晚6點半,我們都不知道該去哪里,,我們找了一個20塊錢的旅館,,這個房間連窗戶都沒 有,7月份的天氣酷熱難耐,,房間里非常悶熱,。第二天我們開始租房子,因為身上的錢不多,,我們基本都是步行,,花了一個星期時間,不知道在浦東轉(zhuǎn)了多少圈后找 到了一個400塊的房子,但是我們都不了解上海是付三壓一,,還要付半個月的中介費,,買了一些鍋碗瓢盆后,我們身上只有800塊錢了,,工作都還沒有著落,,這 800塊錢要支持到我們拿到第一個月工資,為了省錢我們自己做飯,,每天買菜只花兩塊錢,,她非常喜歡吃(也可能她在大學(xué)經(jīng)常挨餓的原因),看到她現(xiàn)在這樣省 吃儉用我真的很不忍心,。她以前的男朋友也沒有放過她,,經(jīng)常打電話來騷擾,并且來上??此?,還說了不少恐嚇?biāo)脑挘^于善良,,說他以前畢竟幫助過她,,叫我 不要與他一般見識。以后的每天在家就是苦等面試通知,,原本我想迅速找一家MIS公司解決眼前的困難,,但是她堅持讓我不要放棄自己的理想,終于功夫不負(fù)有心 人,,我找到了一家通信公司,,4000塊的工資雖然趕不上MIS公司給我開出的價位,但也夠在上海生存,。她也找到了工作,,第一天上班她哭了,這是她來上海第 一次流淚,,我心里很難受也很感動,。
  由于是全新的行業(yè),我把自己降到了零點,,我學(xué)的VC,、Delphi、數(shù)據(jù)庫派不上用場,,擺在我面前的是嵌入式,、協(xié)議、信令一些我從未接觸過的知識,。我 知道我沒有退路,,于是拼命的學(xué)習(xí),,我把自己當(dāng)做一個應(yīng)屆畢業(yè)生一樣,一分努力一分收獲,,半年過去我終于熟悉了工作,,并且得到了公司的表彰,薪水也加了一 級,。后面的日子里我們省吃儉用,,把欠朋友的1萬多塊錢還了,日子終于上了正軌,。這時女朋友告訴我她想考研究生,,我也很支持,于是她辭職在家備考,。
  另外,,在這里我要感謝我的ProjectManager,他原來是一個大通信公司的產(chǎn)品經(jīng)理,,對人非常和善,,我從他那里學(xué)到了很多知識,而且他也給了 我許許多多無私的幫助,。在工作上他給我充分的空間和信任,。記得公司安排我維護(hù)一個接入服務(wù)器軟件,由于代碼量不算太?。?萬行),,資料和文檔都不齊全,,我 維護(hù)起來非常吃力,,所以想重新把它做一遍,公司領(lǐng)導(dǎo)不太支持,,可能覺得工作量太大,,但是他極力支持我,私下里他讓我放手去做,,我的維護(hù)工作他擠時間做,。在 他的支持下,我花了半年時間完成了接入服務(wù)器的軟件,,并且實現(xiàn)了一個相對完整的TCP/IP協(xié)議棧,。在這里我學(xué)會了嵌入式系統(tǒng)設(shè)計、驅(qū)動開發(fā),、TCP /IP和很多通信的知識,,我花了一年時間終于使自己從MIS開發(fā)轉(zhuǎn)到了通信行業(yè),并且站穩(wěn)了腳跟,。我的開發(fā)大量是對硬件的直接操作,,不再受微軟的操作系 統(tǒng),,VC、Delhpi這些開發(fā)工具的約束,,我終于看到了另外一片天空,。
  我做事情喜歡追根問底,隨著開發(fā)的深入,,軟件開發(fā)與硬件聯(lián)系越來越緊密,,硬件知識的匱乏又對我的發(fā)展產(chǎn)生了障礙,而且芯片技術(shù)基本上掌握在國外公司的 手里,,這對做系統(tǒng)級設(shè)計是一個非常大的制約,,一個新產(chǎn)品出來,第一道利潤(也往往是最豐厚的利潤)常常都被IC公司如Intel,、Motorola賺去 了,,國內(nèi)的廠商只能喝點湯。所以我決心解決自己的硬件技術(shù)障礙,,并打算離開通信行業(yè),,進(jìn)入IC設(shè)計相關(guān)領(lǐng)域。
  當(dāng)然我明白如果我對硬件了解的非常少,,沒有哪家IC公司會仁慈到招我這樣一個一竅不通的人來培訓(xùn),。所以我必須努力打好基礎(chǔ),學(xué)一些相關(guān)知識為以后做準(zhǔn) 備,。就像我開始從MIS轉(zhuǎn)到通信一樣,,我看過大量通信方面的書,并且給一個ISP做過RADIUS計費分揀臺,,在這樣的背景下這家通信公司才給了我這個機 會,。我在的通信公司是做系統(tǒng)設(shè)計的,有不少PCB Layout硬件人員,,平常我就注意向他們學(xué)習(xí),,由于我做的是軟件,在公司看硬件資料不好意思,,所以開始只好在家看,,剛來上海工作我連續(xù)一年都在加班,后 來不加了,,因為我要擠出時間學(xué)習(xí),,通常我12點左右睡,第二天5點半起,,我上班比較早,,地鐵上如果人不多我也用來看書。學(xué)習(xí)當(dāng)然不會是一帆風(fēng)順的,,有些實 在不懂的問題就積累起來問硬件人員,,他們的幫助使我學(xué)習(xí)進(jìn)度快了很多,,因為在沒有人點撥的情況下自學(xué),我的一半時間是花在解決疑難問題上,,但這種問題經(jīng)常 是別人的一句話就可以讓我豁然開朗,,我非常慶幸我有這樣的學(xué)習(xí)環(huán)境。在后面的一年里,,我學(xué)會了看硬件原理圖,,學(xué)會了簡單的硬件設(shè)計(模擬電路方面還有不小 的差距),事情就是這樣的,,當(dāng)你安安份份做軟件,,別人永遠(yuǎn)認(rèn)為你是軟件開發(fā)人員,在你開始學(xué)習(xí)硬件時別人未必會認(rèn)同,,有位中興通訊的朋友還對我說過,,一個 人不可能把所有東西都學(xué)完。我也明白這一點,,但我希望自己做的更好,。但當(dāng)你熟悉硬件后大家又會覺得你好像原本就是軟硬件都懂的,同事們也都習(xí)以為常了,。這 個時候我可以把硬件資料堂堂正正的拿到公司看,,沒有人再大驚小怪了。讓我比較自豪的是我通過自己的努力做了一個IAD(軟交換的終端設(shè)備)系統(tǒng)方案,,包含 軟硬件的選型,、設(shè)計等內(nèi)容,這個方案得到了公司和同事們的認(rèn)同,,讓我感到非常欣慰,。
  技術(shù)是相輔相成的,當(dāng)我的硬件有了一定的進(jìn)步后,,我的軟件設(shè)計也有了很大的提高,,我可以從更深層次理解問題,我做的接入服務(wù)器CPU是 Motorola PowerPC860,,熟悉的朋友都知道860 QMC與軟件的批量數(shù)據(jù)傳輸通常采用BD表的方式,硬件人員做驅(qū)動的時候習(xí)慣采用固定BD表,,每接收或發(fā)送數(shù)據(jù)都將數(shù)據(jù)從BD表拷貝到用戶Buffer,, 或從用戶Buffer拷貝到BD表,由于理解的比較深入,,我自己重新實現(xiàn)了這個過程,,采用動態(tài)BD表的方式,驅(qū)動從一個網(wǎng)口接收數(shù)據(jù),,提交給我的軟件進(jìn)行 三層交換,,直至從另外的接口發(fā)送出去,,沒有進(jìn)行一次拷貝。這樣的設(shè)計大大提高了性能,,使系統(tǒng)的指標(biāo)接近理論值,。軟硬件的結(jié)合使我的設(shè)計水平上了一個臺階。 我現(xiàn)在寫的這個操作系統(tǒng),,編譯后我把程序反編譯成匯編,,找出其中不優(yōu)化的代碼,然后在C程序中進(jìn)行調(diào)整,。舉個例子,,很多CPU沒有專門的乘法指令,這個大 家應(yīng)該都知道,,在這種CPU上進(jìn)行一個乘法操作常常會花費大量的指令周期,,有的朋友會說這個我知道,我會盡量避免采用×號,,但是事情往往不是那么簡單,,你 知道 C語言中數(shù)組的下標(biāo)操作是怎么實現(xiàn)的嗎?仔細(xì)看看反匯編的代碼你就會明白,,同樣是通過下標(biāo)的定位操作,,C編譯器會有時候會產(chǎn)生位移指令,但有時候會用乘法 實現(xiàn),,兩者效率往往是天壤之別,,所以明白這些問題你才能將系統(tǒng)性能提升到極致。這些問題就不多說了,,有興趣的話以后可以共同探討,。
  話說遠(yuǎn)一點,我由衷的希望在軟件上做的比較深入的朋友們有機會學(xué)學(xué)硬件以及其它相關(guān)知識,,尤其是做底層開發(fā)和嵌入式設(shè)計的,。這對軟件技術(shù)的提高有非常 大的幫助,否則很多事情你只知道該這樣但不會明白為什么該這樣,。我這個觀點在我現(xiàn)在的IC公司Project Manager那里也得到了驗證,。他告訴我們公司現(xiàn)在的802.11芯片產(chǎn)品的軟件經(jīng)理原本是做該芯片硬件設(shè)計的,某某某原本是做軟件的,,現(xiàn)在在做IC,, 類似的例子還有很多,只是在國內(nèi)這樣的風(fēng)氣不是非常流行,。
  我有一些心得體會與大家分享,,只有當(dāng)我干好本職工作后,我才會學(xué)習(xí)與工作關(guān)系不大的技術(shù),,這樣公司的上司才不至于反感,,在入門階段的問題我通常不去問 那些資深人士,,而是問一些資歷比較淺的朋友,比如剛畢業(yè)不久的學(xué)生,,因為他們往往會跟你詳細(xì)的講解,,而資深人士通常覺得你的問題太簡單,所以回答的也很簡 單,,我又不好意思多問,。等技術(shù)上了一定的層次后我才會問他們,他們也能給你比較深入的回答,。另外,,有些朋友說我機會比較好,他們也希望能從事新的工作可惜 沒有機會,,我聽了只有苦笑,,我的機會了解的人都應(yīng)該知道,我沒有出生在什么IT世家:)也沒有誰一路提拔我,,所有的路都是自己走出來的,,我母親去世比較 早,我的后母(我叫她阿姨)看著我努力過來的,,一次她看我大年30還在寫程序,,她說像我這樣努力木頭都能學(xué)出來。
  我的最終目的是IC而不是PCB,,所以我下一步的準(zhǔn)備開始學(xué)習(xí)IC設(shè)計的知識,。公司的同事沒有懂IC設(shè)計的,后面的路又要靠自己了,,我買了不少相關(guān)的 書,,在網(wǎng)上也查了很多的資料,我花了大量的時間去學(xué)習(xí)VHDL,,并且用軟件進(jìn)行了一些簡單的設(shè)計和仿真(沒有設(shè)計ASIC,,只是針對FPGA),隨著學(xué)習(xí) 的深入,,我漸漸明白了IC設(shè)計的基本流程,,同時也明白了這條路的艱辛。這個時候我已經(jīng)做好了跳槽的準(zhǔn)備,,我向一家業(yè)界有一定知名度的IC設(shè)計公司投了簡 歷,,并通過了漫長的面試(4個多小時)。其他的一切我都比較滿意,,唯獨薪資差強人意,我也明白原因,,因為我是這個行業(yè)的新人,,我沒有經(jīng)驗,,我再一次將自己 清零了。公司老板問我6000多一個月能不能接受,,我知道他也是照章辦事,。想想我通信行業(yè)的朋友們,基本上都是年薪10萬以上,,月薪過萬的也比比皆是,,朋 友們也幫我介紹了不少待遇不錯的公司,我該怎么選擇,,當(dāng)時我很猶豫,,我熱愛我的事業(yè),我向往我的追求,,但我也是一個普通的人,,我也需要養(yǎng)家糊口,我也想早 一點買房買車,。生活給我出了一道難題,。
  愛因斯坦在63歲時說過“一個人沒有在30歲以前達(dá)成科學(xué)上的最大成就,那他永遠(yuǎn)都不會有,?!边@句話給了我很大的壓力和震動,我馬上就26歲了,,離 30只有四年時間,,我必須抓緊這幾年寶貴的時間,努力達(dá)到我技術(shù)上的最高峰,。為了這個理想,,為了能離自己的夢更近一些,我選擇了這家IC公司,,我明白自己 的薪資和公司剛進(jìn)來的碩士研究生相差無幾,,但為了今后的發(fā)展只能忍受,一切又得重新開始,。換行業(yè)是一個非常痛苦的過程,,尤其從一個春風(fēng)得意的位置換到一個 陌生的崗位,感覺象從溫暖的被子里鉆出來跳進(jìn)冰水中,,讓人難以接受,。在原來那家通信公司,我是唯一兩年時間漲了五次工資的員工,,公司和同事都給了我極大的 認(rèn)可,,工作上也常常被委以重任。但現(xiàn)在這一切都成了過去,在新的公司我只是一個新人,沒有人知道也沒有人在意我過去的成績,。我決定重新開始,,我把自己看作 新畢業(yè)的學(xué)生,我要用自己的努力得到公司的認(rèn)可,。進(jìn)入新的行業(yè)是非常痛苦的,,我告訴自己必須忍受這一切,雖然外面有很多誘惑,,但是既然作出了選擇我就不允 許自己輕易放棄,。
  我現(xiàn)在已經(jīng)在這家新公司上了一個多月的班,開始非常艱難,,現(xiàn)在慢慢適應(yīng)了,。第一 個月結(jié)束時,Team Leader找我談話,,說我是新進(jìn)員工中最優(yōu)秀的一個,,我心里很欣慰,這也算對我努力的一個肯定吧,。在這里還要感謝我的女朋友,,她給了我很大的支持和鼓 舞,每次在我動搖的時候她都在鼓勵我,,讓我堅持自己的理想,,剛來上海是她讓我不要勉強去做MIS,這次也是她讓我頂住了月薪過萬的誘惑,,沒有她我可能不會 有今天的成績?,F(xiàn)在的公司有自己的操作系統(tǒng),自己的CPU,、DSP和其它芯片,,在這里我能學(xué)到世界上最先進(jìn)的技術(shù),我們的設(shè)計開發(fā)不再完全依賴別人的硬件 和系統(tǒng),,這讓我很開心,。我打算等工作步入正軌后,全力學(xué)習(xí)新的知識,,實現(xiàn)我的理想,。在后面的兩年里我給自己定下了幾個目標(biāo):
  努力做好本職工作,在工作上得到公司和同事們的認(rèn)同,;
  努力學(xué)習(xí)IC硬件設(shè)計知識,,多向同事請教,并利用一切機會多實踐,;
  實現(xiàn)我的實時操作系統(tǒng)的主要部分,,完成TCP/IP協(xié)議棧模塊,并免費發(fā)布源代碼;
  和我女朋友結(jié)婚并買一套小房子,,這是最重要的,,因為我明白事業(yè)是可以重來的,,但是珍貴的感情很難失而復(fù)得,。
  在這里提一下我現(xiàn)在開發(fā)的操作系統(tǒng),它是一個實時嵌入式系統(tǒng),,目前支持:
  a.時間片輪轉(zhuǎn)調(diào)度和基于優(yōu)先級調(diào)度,,最多64個優(yōu)先級;
  b.搶占式實時內(nèi)核,;
  c.為了便于移植,,主體用標(biāo)準(zhǔn)C實現(xiàn);
  d.匯編代碼非常少,,不到100行,;
  e.支持任務(wù)管理,各任務(wù)有獨立的堆棧,;
  f.進(jìn)程同步和通信目前完成了Semaphore,,Message Queue正在調(diào)試;
  g.實現(xiàn)了定時系統(tǒng)調(diào)用,;
  h.可以在windows上仿真調(diào)試
  我還打算下一步實現(xiàn)優(yōu)先級反轉(zhuǎn)保護(hù),,Event Flag,Data Pipe,,內(nèi)存管理(以前實現(xiàn)過),、驅(qū)動接口等。 在這之后我還會努力完善它,,比如加入文件系統(tǒng),,協(xié)議棧、調(diào)試接口等,。希望朋友們提出自己的意見和建議,,在此不勝感激!
  就像有的朋友說的,,我的經(jīng)歷或許會給一些朋友產(chǎn)生誤導(dǎo),,在這里我必須說明一下。我來上海以前學(xué)習(xí)過于拼命,,常常晚上只睡3個多小時,,我身高1米71, 那時只有108斤(我現(xiàn)在130多),,家人也說我這樣拼命活不過60歲,,但是當(dāng)時的我太固執(zhí),我對他們說只要能實現(xiàn)理想活50歲我就夠了。那時的拼命使我 的身體受到了影響,,有一次早上突然腰肌劇痛難忍,,痛的我倒在床上站不起來。雖然我現(xiàn)在已經(jīng)比較注意,,但有時候還會隱隱作痛,。后來在女朋友說服了我,來上海 以后我不再如此,。我經(jīng)常引用父親的一句話,,而且我也發(fā)現(xiàn)拼命不是辦法,我可以熬一兩個通宵,,最多的一次我連續(xù)工作了三天三夜,,但是我半個月都沒有恢復(fù)過 來,這樣是不是得不償失,?
  學(xué)習(xí)工作應(yīng)該是一個長期的過程,,像馬拉松而不是百米沖刺。我現(xiàn)在非常注意調(diào)整學(xué)習(xí)和工作的強度,,我要保證每天盡量有相對充沛的精 力,,一些年輕的朋友覺得自己也應(yīng)該拼命努力,這讓我多少有些擔(dān)心,,如果我的故事能讓你在學(xué)習(xí)工作上多一點興趣,,我會感到很開心,但如果誤導(dǎo)了某些朋友,,讓 你做一些不值得的付出,,我會感到很內(nèi)疚。

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。