嵌入式實訓心得體會1
一、 實習時間
20xx年4月12日-20xx年4月26日
二、 指導教師姓名
陳xx
三、 實習地點
長沙市牛耳服務外包實訓基地
四、 實習目的與內容
對于嵌入式項目進行學習培訓,掌握嵌入式的主要項目及相關技術
五、 實習收獲與體會
一轉眼半個月的實習生活過去了,現在我已經回到學校,回想起半個月的實習生活,自己學到了很多,懂得了很多。
真的說不出是什么感覺,伴著時間,就像是在和自己的影子賽跑,不可能從真實的兩面去看清它,只是經意不經意的感受著有種東西在過去,也許更適合的只有那句話:時不待我,怎可駐足。原以為實習對于我來說會是很長,但實際卻不同。想象收獲的東西,真的很多,看看我的工作筆記,一篇又一篇,記別人的事情比自己的還多,也許 實習,并不像我想象中的那樣輕松愜意,而是充滿了挑戰和艱辛。我給自己敲響了警鐘:“不要半途而廢,做事情切忌三分熱度。”我信心十足的回答到:“我一定會堅持到底!”
天下英雄皆我輩,一入江湖立馬催。” 從學校到社會的大環境的轉變,身邊接觸的人也完全換了角色,老師變成老板,同學變成同事,相處之道完全不同。在這巨大的轉變中,我們可能彷徨,迷茫,無法馬上適應新的環境,但在同學、同事的幫助和自己摸索的情況下,我還是完成了這次實習。但我發現,以我們的經驗,不學到一定的深度和廣度是難以在實際工作中應付自如的。因此反映出學習的還不夠,缺點疏漏。需在加以刻苦鉆研及學習,不斷開拓視野,增強自己的實踐操作技能,我們也許看不慣企業之間殘酷的競爭,無法忍受同事之間漠不關心的眼神和言語。很多時候覺得自己沒有受到領導重用,所干的只是一些無關重要的雜活,自己的提議或工作不能得到老板的肯定。
做不出成績時,會有來自各方面的壓力,老板的眼色同事的嘲諷。而在學校,有同學老師的關心和支持,每日只是上上課,很輕松。常言道:工作一兩年勝過十多年的讀書。兩個月的實習時間雖然不長,但是我從中學到了很多知識,關于做人,做事,做學問。只有擁有自信才能夠克服一切,去實現自己的理想,創造自己的人生。
實習是個人綜合能力的鍛煉。作為一名*的新青年更應該把學習作為保持工作積極性的重要途徑。像我這種文憑不高的人,心里就有一種很渴望的感覺,明白了自己與社會所需的要求,因為現在畢業求職,更多的時間是社會職業選擇自己面試,更多的不是自己去選擇職業,這應該就是所謂的先就業再擇業吧。所以自己會把心態放正,在公司的時候先全面發展,等過段再看看精于哪個方面,然后向那個方向努力發展。
“在大學里學的不是知識,而是一種叫做自學的能力”。參加工作后才能深刻體會這句話的含義。課本上學的理論知識用到的很少。在這個信息爆炸的時代,知識更新太快,靠原有的一點知識肯定是不行的。我們必須在工作中勤于動手慢慢琢磨,不斷學習不斷積累。遇到不懂的地方,自己先想方設法解決,實在不行可以虛心請教他人,而沒有自學能力的人遲早要被企業和社會所淘汰。所以我們還要繼續學習,不斷提升理論素養。
在信息時代,學習是不斷地汲取新信息,獲得事業進步的動力。作為一名年輕同志更應該把學習作為保持工作積極性的重要途徑。走上工作崗位后,我積極響應單位號召,結合工作實際,不斷學習理論、業務知識和社會知識,用先進的理論武裝頭腦,用精良的業務知識提升能力,以廣博的社會知識拓展視野。
我們還要努力實踐,自覺進行角色轉化。“理論是灰色的,生活之樹常青”,只有將理論付諸于實踐才能實現理論自身的價值,也只有將理論付諸于實踐才能使理論得以檢驗。同樣,一個人的價值也是通過實踐活動來實現的,也只有通過實踐才能鍛煉人的品質,彰現人的意志。
從學校走向社會,首要面臨的問題便是角色轉換的問題。從一個學生轉化為一個單位人,在思想的層面上,必須認識到二者的社會角色之間存在著較大的差異。學生時代只是單純的學習知識,而社會實踐則意味著繼續學習,并將知識應用于實踐,學生時代可以自己選擇交往的對象,而社會人則更多地被他人所選擇。諸此種種的差異。不勝枚舉。但僅僅在思想的層面上認識到這一點還是不夠的,而是必須在實際的工作和生活中潛心體會,并自覺的進行這種角色的轉換。
在今后的工作和生活中,我將繼續學習,深入實踐,不斷提升自我,努力創造業績,繼續在自己的工作領域創造更多的價值。
大學因實習而完整,而大學生活卻因實習而精彩。
總之,這次實習,自己確實學到了很多也成長了許多。在實習期間,每日重復單調繁瑣的工作,時間久了容易厭倦。但但是工作簡單也不能馬虎,你一個小小的錯誤可能會給公司帶來巨大的麻煩或損失,還是得認真完成。這段時間,我看到了自己本身存在著許多問題,也會遇到這樣那樣的問題,當前的時代日趨復雜,不學到一定的深度和廣度是難以在實際工作中應付自如的。因此反映出學習的還不夠,缺點疏漏。需再加以刻苦鉆研及學習,不斷開拓視野,增強自己的實踐操作技能,為以后的工作存儲更多的能力。
以上就是我的實習報告,可能并不是一份多么規范的報告,但確確實實我這工作中的感受。
實習收獲
通過這次實習,在各方面我感覺自己都有了一定的收獲。這次實習主要是為了我們今后在工作及業務上能力的提高起到了促進的作用,增強了我們今后的競爭力,為我們能在以后立足增添了一塊基石。實習單位的老師也給了我很多機會參與他們的設計是我懂得了很多以前難以解決的問題,將來從事設計工作所要面對的問題,如:前期的策劃和后期的制作等等。這次實習豐富了我在這方面的知識,使我向更深的層次邁進,對我在今后的社會當中立足有一定的促進作用,但我也認識到,要想做好這方面的工作單靠這這幾天的實習是不行的,還需要我在平時的學習和工作中一點一點的積累,不斷豐富自己的經驗才行。我面前的路還是很漫長的,需要不斷的努力和奮斗才能真正地走好。
大學生活讓我對計算機理論知識有了一定的了解,但真正操作起來就沒有那么容易.紙上得來終覺淺, 絕知此事要躬行。經過過去兩個月的實習,我對自己有了新的認識及前進的方向。
經過過去半個月的實踐和實習,我對未來充滿了美好的憧憬,在未來的日子,我將努力做到以下幾點:
1.繼續學習,不斷提升理論素養。
在信息時代,學習是不斷地汲取新信息,獲得事業進步的動力。現在通過實習總感覺自己學的不夠,要用到知識時總感覺腦袋是空白的。很后悔自己當時在學校為什么不多學一點,多練習一點。總在后悔也沒有用,只能自己去努力學習。為了能更好的適應工作,我利用自己空閑時間去附近的書店去看書,希望能彌補不足。
2.加強信心,堅持下去
雖然在這個公司自己可能是學歷水平是最高的,但真的工作起來我的起點卻很低。有時候遇到事情總會著急,慌張。平常信心不足,總感覺自己做不好。大家說我很內向,其實只是自己有點自卑,不敢去表達。或許還需要一段時間的磨練吧。只有自己的知識和能力都在提升,相信自己總有一天會很勇敢的表現自己。
上學的時候大家都說,能珍惜現在的日子就好好珍惜。等工作了才真的領悟這句話。每天起早貪黑,忙忙碌碌,做了第一天就想回到學校接著做學生。感覺學生時代真是最美好的時間。可是既然踏出來了就要繼續走下去,因為這一天也終究要來到。
對給自己點信心,多給自己點贊賞,多給自己鼓鼓勁。相信總會走出一條寬敞大道的。
3、同事相處
感覺學生時代很美好,不僅僅是不需要去努力工作,而是在學生時代你可以有很好的同學,很好的朋友,大家相互噓寒問暖,不必勾心斗角。我感覺這里才真的有純潔的友誼。可踏上了社會,于存在著利益關系,又工作繁忙,就多了份人情世故。老板對你的頤指氣使,同事對你的多加防范,就更加想念自己的同學。可能自己還不能適應這樣的環境吧。但還是希望以后自己去努力,希望自己可以有個好朋友,希望自己可以有個團結的環境。
實習,是開端也是結束。在書本上學過很多理論,但從未付諸實踐過,也許等到真正運用時,才會體會到難度有多大。在今后的工作和生活中,自己需要更加努力的奮斗下去。
實習的同時也讓我了解到了自己的不足,我會繼續努力,完善自我。對于學校的精心安排和指導老師的用心輔導非常!
嵌入式實訓心得體會2
就在昨天3月9日,學校規定實習時間已經到期了。從上個月的13日到現在已經近一個月,雖然與公司的實習時間還沒有結束,但是為了完成學校交待的任務,在此對這段時間的實習做一個總結。
首先,我先來簡單介紹下實習單位。我實習的單位全稱??上海寶信軟件股份有限公司廈門分公司。其作為上海寶信軟件中的重要一員,是寶信軟件在全國多網點支持服務的延伸,具備與寶信軟件上海總部相同的技術服務能力,并可無限制調用總部專家資源,秉承寶信軟件“IT服務,提升信息價值”的經營理念,致力于IT服務,主營業務包括網絡安全產品銷售、系統集成、運維服務、軟件工程等。
其次,向大家介紹是我的實習內容。這里要先介紹我的實習崗位??嵌入式軟件開發工程師。實習內容大致分為兩塊,一是軟件測試,二是編碼。在我們剛來的前兩周,我的實習內容就是軟件測試。軟件測試的主要內容是UnitTest也就是單元測試。但是,在實習剛開始的階段,我并沒有就馬上做測試。而是有前輩給我發了一份我們要做的產品的功能書給我看。功能書文檔是日文版的,我要把它看懂,才知道我們這里到底是做什么。后面的測試工作就是做單元測試了。
我們在做測試是有測試環境的,整個單元測試過程是有前人經驗的。所以只要按照規則來就沒有問題,也相對比較簡單。就這樣單元測試做了近8天左右,測試了51個c++函數。其實,單元測試比較簡單,但是碰到函數的輸入輸出的值及路徑多的時候,特別的煩,會影響測試效率。實習的另一個內容就是編碼,其實說的確切一點,是看代碼。一個剛來不到3周的新員工,以前又沒有經驗,公司怎么會放心讓你寫代碼。有前輩給我安裝了秀丸和Source Insight軟件,然后給了我一代碼,讓我按上面看,有問題可以問組里的前輩。C++代碼是看的懂,但是太多的函數,被調用的關系也不清楚,也不了解決函數的意義,所以感到很無趣。也許是在考驗我的耐心或者是讓我熟悉代碼編寫的規范。不管是什么目的,至少自己可以鞏固下c++的基礎。不過真的要感謝前輩的細心指導,使我大概了解程序的調用關系。
再次,向大學介紹下我的實習階段的工作過程。每的8小時的上班時間,但是一般會比這個時間長的。早上8點45分到9點15分不等上班,晚上5點30分到6點不等下班,中午11點可以去吃飯、1點之前上班。這個時間還是比較人性化的。當然也有時候也要加班,如有時候日本客戶來這里的時候,發現我們的人都很早下班的時候,他就會和我們的上級說,然后我們就得加班。這也是一種非常情況,但是加班是可以調休的。每天的上班時間基本上是跟電腦打交道。
前期實習階段都是打開電子表格看日語版功能說明書,后面做測試的時間就是各種軟件一起用了。每天做單元測試的時候,其實感覺特別煩。有時候一天做7到8個,有時候一天2個做不到。但是整個過程自己還是堅持下來了,雖然很累,自己還是很好強的。后期基本上是學習編程了。由于后面項目已經交互,所以每天都不沒有加班了。每天的工作主要就是學習代碼規范,如那里怎么縮進、命名之類的事。至于邏輯什么的,還是很不清楚,還需要努力多問多想。
再次,與大家分享下我的實習收獲。雖然與原計劃5個月的實習還差很遠,但自己還是很有收獲。其一,對于歌樂Audio項目有一定的了解。具體的表現在,分了幾層。我個人是分配到app層,也就是業務應用層。雖然對業務的熟悉不夠深,但大概知道,每一天前輩們都在做什么事。其二,日語方面的加強。因為客戶方面基本上是日本人,所以加強日語學習是必須的。有了這樣的一種壓力,自動會轉化為一種動力,促使我去學習。我想這樣多少可以提高下我的日語能力。還有就是,常常有很多日本客戶就做在我的旁邊。感情還是很緊張,因為不知道怎么跟他交流。結果每一天他來的時候,我只能和他說聲早上好。希望自己在今
后的時間里要多多加強日語學習,爭取與日本客戶交流,才能提升自己的能力。其三,交流溝通能力的提高。其實自習也一直覺得溝通能力對成功貢獻是最大,要把一件做成肯定不是一個人的事情,我們需要與別人溝通。在溝通中互相了解相聯系的部分,這樣才能夠避免摩擦帶來不必要時間與精力的浪費。而我自己的溝通能力提高表現在自我意識的提高。當遇到問題的時候,會主動的想想,是哪個具體的點不懂,然后列出問題,再向前輩請教。這樣大腦里就會有一個邏輯過程。通過這樣就可以把自己的意思清楚的傳達給別人。在別人向自己傳達信息的時候,我會邊思考邊聽,遇到不了解的地方,講明白自己的不解之處。這樣這個溝通過程就會比較流暢。其四,職場意識的提高。可以說來實習就意味我們提前畢業了,提前進入社會。所以,由學生到社會職業人的過渡期就被實習給填充了。經過一個月實習,我發現自己已經很習慣在公司工作。對于自己能做什么,未來能做什么也有了一定的思考。不管畢業,我還是留在這個公司還是去其他的公司,我想我心中已經有了這份意識,這對我將來的職業生涯都是有幫助的。其五,時間管理。很多人工作的時候就忘記了生活的存在,我們的生活是多彩的,并不是只有工作。其中,有一項轉變的比較大,就是很多人不喜歡運動了。對于這些,我都是不太認可的。我還是會抽出時間出去運動一下。我覺得運動可以帶給我健康,同時會讓我的精神更好,工作更有效率。其實,運動并不會浪費我們時間,而是會給生活帶更美好。
最后,與大家分享一下我這個月實習的心得與體會。通過這段時間的學習,從無知到認知,到深入了解,漸漸的我喜歡上這份工作,讓我深刻的體會到學習的過程是最美的。在整個實習過程中,我每天都有很多的新的體會,新的想法,想說的很多,我總結下來主要有以下幾點:
1、持之以恒
既然選擇了自己的這份工作,不管工作本身怎么樣,我們都要堅持往下走。因為我相信每一家公司的工作原理都是差不多的。如果你在這家公司做不住的話,我想你在另外一家公司也是做不住的。只有我們改變自己的態度,才可能戰勝心中的浮躁。我們新人一來到公司我,一開始都不會立刻給工作我們做,-一般也都是先讓我們看看文檔或代碼,時間短的要幾天,時間長的要幾周,在這段時間里很多人會覺得很無聊,沒事可做,便覺沒有發展空間,于是產生想走的念頭。恰恰在這個關鍵的時候更需要我們的堅持,輕易放棄只會讓自己后悔。
2、不怕做小事,那是一種考驗
我們一來到公司實習的時候,很多組里的前輩多數還是把我們當學生看待。他們不會也不敢讓我們直接參考到一個真正的項目中去。在這個其間一般會給我們看一些過去做過項目的文檔和代碼,其實不可小看這些小事,也許是為了考驗我們,也許是讓我們先了解業務。作為一人新人,一定要積極面對這些,勇于擔當做小事,喜歡做小事。這樣公司同事才會更快的接受你,慢慢地才會讓你做一些重要的工作。
3 、態度端正,一定要多主動
我們到公司工作以后,要知道自己能否勝任這份工作,關鍵是看你自己對待工作的態度,態度對了,即使自己以前沒學過的知識也可以在工作中逐漸的掌握。態度不好,就算自己有知識基礎也不會把工作做好,四多一少就是我的態度,我剛到這個崗位工作,根本不清楚該做些什么,并且這和我在學校讀的專業與這里做的東西還是不太一樣的,剛開始我覺得很頭痛,可經過工作過程中多看別人怎樣做,多聽別人怎樣說,多想自己應該怎樣做,然后自己親自動手去多做,終于在這一個月里對工作有了一個較系統的認識,慢慢的自己也可以完成相關的工作了,光用嘴巴去說是不行的,所以,我們今后不管干什么都要端正自己的態度,這樣才能把事情做好。
4.不要報怨
其實在做單元測試的那個時候,有時候覺的特別的煩。有時候做了半天連一個函數都沒有把弄出來,那種感覺真的是非常的難受,心中也有委屈。可是這是我的工作,我報怨也沒有用。只能一步一個腳印走過來。直到后面把函數測完,心中還是很有成就感的。其實有的人會覺得公司這里不好那里不好,同事也不好相處工作也不如愿,經常埋怨。我覺這樣只會影響自己的工作情緒,不但做不好工作,還增加了自己的壓力。所以,我們應該少埋怨,要看到公司好的一面,對存在的問題應該想辦法去解決而不是去報怨,這樣才能保持工作的激情。
5、虛心學習
由于我們是新手,而且又還沒有從學校里完全走出來。所以在工作過程中,我們會碰到很多問題,有的問題我們可以有我們所學的解決,有的有很大業務性的問題,我們就無法解決。這個時候不要不懂裝懂,應該虛心地向前輩們請教。請不要害怕,因為前輩肯教我們肯定是我們的福氣,對我們以后在工作中都有幫助的。同時請教的時候也是一個鍛煉溝通的過程。在前輩給我們解惑的時候,我們也應該虛心的接受,不要裝著一副不屑的樣子。
6、知錯能改
做為一名新人,不管在學校有多么的優秀,來到公司,我們頂多就只有點基礎,其他什么的都得重新開始。在學習的過程當中,犯錯是不可避免的。知錯能改是我們唯一的選擇。明知自己有錯,還理直氣壯那是不應該的。我認為這種行為是可恥的。在犯錯的時候來銘記于心,不要第二次在犯同樣的錯了。當前輩或其他人指出我們的錯誤時,我們要虛心聽教,坦誠改錯。這樣我們才會進步,才會在組里與同事相處融洽。
7、團隊合作
重要的不是我,是我們。在一個項目組里,我并不是一個人。我只能說我是組里的一個部分。我們每一人都不是神,我們不可能一個來完成所有的工作,因此,必須分工。但是,分工并不是都很明確的。每個人分到的工作,多多少少都會和別人的工作的有交集。這是因為,作為一個項目的每個部分,最終還是整合形成整體。我們還是需要這些部分與部分交集作為連接點組合起來。因此,每個雖是分工,但更多是合作。我們中的我必須明白這些,要有團隊觀,做好自己的同時,更重要也要做好與別人的溝通。這樣才會避免工作的重復,意見的不同等負能量。
8、溝通能力
在上一點的體會團隊合作中,其實我已經說了,團隊合作的基礎就是溝通。一個有效率的團隊,我認為它的成功就在于成員之間良好的溝通能力。因為,人與人的溝通是信息傳遞的媒介。沒有良好的溝通基礎,信息在傳遞的時候就會被曲解。在軟件開發的整個過程,團隊合作是至關重要。每一環節,都離不開溝通。需求變更帶來的問題,尤其需要在溝通中解決問題。所以,讓自己把信息傳遞的正確和有效,提高溝通能力是必不可少的。
9.做人做事講究原則
其實在公司上下班是一個很大的學問。同事都已經來上班了,你才來。或者是同事還沒下班,你人就都先走了。其實要把這些看成一種常態。在公司上班不是比誰先來,也不是比誰晚走的,比得是自己的工作的效率。有時候,我們工作做完,是可以先走。你想想,你走了之后,估計別人也敢走了。從這一點上,可以說你是幫助了大家。當然這只是開玩笑,做人做事要有點原則。工作沒完成當然不能跑回去,這是沒有責任的表現,以后主管怎么能把事情交給你。工作做完,想先走就走了,不必當擔心這擔心那的。我相信一個好的主管,不會以一些無所謂的因素來衡量一個人的。只要自己身體正,就不怕別人說。
10.做好職業生涯規劃
每個人在來實習之前,肯定會想我來這家公司是做什么。當你想好,并決定來的時候,你已經做了第一步職業生涯規劃了。實習也是成了我們檢驗計劃的時候,如果你發現這個工作不適合你,畢業前你還有機會可以做換。如果感覺這個工作適合你,那么你就可以做下一步
的規劃了。我當初選擇這個工作,是因為嵌入式軟件開發在近幾年會發展會比較快,而且本人對c++和c比較感興趣。同時,目前做的工作是對日外包,對于我日語的提高也是很有幫助的。現在實習給我感覺是,不出現什么其他狀況,應該畢業后會留在這個公司。至少今后的職業規劃以日語和編程提高為主,以管理為輔。
在這里,我要感謝上海寶信軟件股份分司給我這次寶貴的實習機會。同時,也要感謝組員對我有直接幫助的前輩。當然還要感謝學校和畢業指導王老師的關心與指導。
總而言之,這次實習是我大學四年來最正式的一次。我想通過這次的實習,我將從學生走向社會職業人的轉變。一個月的時間過的太快了,但是我們的實習并沒有結束。通過這次的總結,我對這次實習的意義有了深刻地認識。自己在今后的學習與工作中,一定會更加努力做的更好。
嵌入式實訓心得體會3
這學期才接觸嵌入式系統感覺還稱不上入門,我通過學習知道了嵌入式的發展前景很大,各個領域都用到了嵌入式,學好嵌入式不愁沒飯吃。
廣義上講,凡是帶有微處理器的專用軟硬件系統都是嵌入式系統。如各類單片機和DSP系統。從狹義上講,那些使用嵌入式微處理器構成獨立系統,具有自己操作系統,具有特定功能,用于特定場合的專用軟硬件系統稱為嵌入式系統。嵌入式系統由嵌入式硬件與嵌入式軟件組成; 嵌入式硬件以芯片、模板、組件、控制器形式埋藏于設備內部。
理解“嵌入”的概念 主要從三個方面上來理解。
1、從硬件上,將基于CPU的處圍器件,整合到CPU芯片內部,比如早期基于X86體系結構下的計算機,CPU只是有運算器和累加器的功能,一切芯片要造外部橋路來擴展實現,象串口之類的都是靠外部的16C550/2的串口控制器芯片實現,而目前的這種串口控制器芯片早已集成到CPU內部,還有PC機有顯卡,而多數嵌入式處理器都帶有LCD控制器,但其種意義上就相當于顯卡。比較高端的ARM類Intel Xscale架構下的IXP網絡處理器CPU內部集成PCI控制器(可配成支持4個PCI從設備或配成自身為CPI從設備);還集成3個NPE網絡處理器引擎,其中兩個對應于兩個MAC地址,可用于網關交換用,而另外一個NPE網絡處理器引擎支持DSL,只要外面再加個PHY芯片即可以實現DSL上網功能。IXP系列最高主頻可以達到1.8G,支持2G內存,1G×10或10G×1的以太網口或Febre channel的光通道。IXP系列應該是目標基于ARM體系統結構下由intel進行整合后成Xscale內核的最高的處理器了。
2、從軟件上前,就是在定制操作系統內核里將應用一并選入,編譯后將內核下載到ROM中。而在定制操作系統內核時所選擇的應用程序組件就是完成了軟件的“嵌入”,比如WinCE在內核定制時,會有相應選擇,其中就是wordpad,PDF,MediaPlay等等選擇,如果我們選擇了,在CE啟動后,就可以在界面中找到這些東西,如果是以前PC上將的windows操作系統,多半的東西都需要我們得新再裝。
3、把軟件內核或應用文件系統等東西燒到嵌入式系統硬件平臺中的ROM中就實現了一個真正的“嵌入”。。
嵌入式系統分為4層,硬件層、驅動層、操作系統層和應用層
1、硬件層,是整個嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,并且能用C和匯編語言來編程的話,從嵌入式系統的硬件層走起來相對容易,硬件層也是驅動層的基礎,一個優秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統內核及其調度性相當的熟悉的。但硬件平臺是基礎,增值還要靠軟件。 硬件層比較適合于,電子、通信、自動化、機電一體、信息工程類專業的人來搞,需要掌握的專業基礎知識有,單片機原理及接口技術、微機原理及接口技術、C語言。
2、驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨占操作系統時間片,而導至其它任務不能動行,不懂操作系統內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。想做個好的驅動人員沒有三、四年功底,操作系統內核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可是最高的。
驅動層比較適合于電子、通信、自動化、機電一體、信息工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬件層所具備的基礎學科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。
3、操作系統層,對于操作系統層目前可能只能說是簡單的移植,而很少有人來自已寫操
作系統,或者寫出缺胳膊少腿的操作系統來,這部分工作大都由驅動工程師來完成。操作系統是負責系統任務的調試、磁盤和文件的管理,而嵌入式系統的實時性十分重要。據說,XP操作系統是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。
4、應用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到操作系統下只是編譯和開發環境有相應的變化而已。如果涉及Java方面的編程也是如此的。嵌入式系統中涉及算法的由專業算法的人來處理的,不必歸結到嵌入式系統范疇內。但如果涉及嵌入式系統下面嵌入式數據庫、基于嵌入式系統的網絡編程和基于某此應用層面的協議應用開發(比如基于SIP、H.323、Astrisk)方面又較為復雜,并且有難度了。
通過網上查詢我發現目前國內外這方面的人都很稀缺。一方面,是因為這一領域入門門檻較高,不僅要懂較底層軟件(例如操作系統級、驅動程序級軟件),對軟件專業水平要求較高(嵌入式系統對軟件設計的時間和空間效率要求較高),而且必須懂得硬件的工作原理,所以非專業IT人員很難切入這一領域;另一方面,是因為這一領域較新,目前發展太快,很多軟硬件技術出現時間不長或正在出現(如ARM處理器、嵌入式操作系統等),掌握這些新技術的人當然很少。嵌入式人才稀缺,身價自然就高,越有經驗價格就越高。其實嵌入式人才稀少,根本原因可能是大多數人無條件接觸,這需要相應的嵌入式開發板和軟件,另外需要有經驗的人進行指導開發流程。我們軟件系的人學習嵌入式,顯然應偏重于嵌入式軟件,特別是嵌入式操作系統方面。對于搞嵌入式軟件的人,最重要的技術顯然是掌握主流嵌入式微處理器的結構與原理,必須掌握一個嵌入式操作系統,必須熟悉嵌入式軟件開發流程并至少做過一個嵌入式軟件項目。
然而我們都沒有做過一個嵌入式軟件項目,甚至連嵌入式的開發流程我也不清楚,我只了解了使用簡單工具做一個簡單的實驗。只有去專研才能在嵌入式的領域站住腳,只有知道的比別人多才會更有競爭力。通過網上了解,我查詢了嵌入式的入門和所需要的知識,其中C語言尤為重要,不管是做嵌入式軟件還是硬件開發的人員,對C語言的掌握這個是必需的,特別是對于以后致力于嵌入式軟件開發的人,現在絕大部分都是用C語言。其次,應該對操作系統有所了解,這對你對硬件和軟件的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如進程、線程,系統如何來分配資源的,系統如何來管理硬件的;知道了c語言和操作系統之后,再來看看嵌入式系統,我們主要學的是ARM,用的是ARM7, 深入理解ARM不是件容易的事,只有在知道ARM相關知識之后才能稱得上嵌入式已經入門了。 與嵌入式有關的知識我也學了不少就是不能夠綜合在一起運用,組成原理,數據結構,操作系統,C++,這3門與嵌入式密切相關的學科都系統的學了一遍,但由于長時間沒用到都有點忘記了,從網上得知嵌入式的學習與這些書有很大關系之后,我把嵌入式與以前學過的知識結合起來發現嵌入式的實驗中很多都是共通的,我對嵌入式有了初步的理解。
我以為學習嵌入式應該分為2個部分:軟件和硬件。關于硬件方面我接觸到了數字電路教材和模擬電路方面的知識,但由于沒有嵌入式CPU很難親自動手來實現嵌入式的相關理論;嵌入式入門則需要不斷地實驗與分析,我只在實驗課時做幾個與所給的程序相關的小程序來實現一下;而軟件方面則學過C語言,里面通常的語法曾今熟悉過;我通過下列方法來適應C語言在嵌入式中應用:首先重新翻看了下C的教材,看了些常見的語法,接著在編譯器的角度來看待C,編譯原理我剛學過,其中將高級語言與低級語言的翻譯感覺在嵌入式中用到了很多;最后沖硬件的角度來看待C。嵌入式的核心包括嵌入式操作系統,嵌入式軟件開發平臺及工具以及嵌入式應用軟件。這些決定怎樣才能開發一個好的嵌入式系統。 下面談談我了解的嵌入式的相關知識與應用:
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應
用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。 嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
那么該如何學好嵌入式我覺得應該從以下幾點入手:
首先C語言,這個是毋庸置疑的,不管是做嵌入式軟件還是硬件開發的人員,對C語言的掌握這個是必需的,特別是對于以后致力于嵌入式軟件開發的人,現在絕大部分都是用C語言,你說不掌握它可以嗎?至于如何學習C語言,我想這些基礎的知識每個人都有自己的方法,關鍵要去學習,看書也好,網上找些視頻看也好。很多人會問,C語言要學到怎么樣,我覺得這沒有標準的答案。我想至少你在明白了一些基礎的概念后,就該寫代碼了,動手才是最重要的,當你動手了,遇到問題了,再反過來學習,反過來查查課本,那時的收獲就不是你死看書能得到的。
其次,應該對操作系統有所了解,這對你對硬件和軟件的理解,絕對有很大的幫助。應該把系統的管理理解一下,比如進程、線程,系統如何來分配資源的,系統如何來管理硬件的,當然,不是看書就能把這些理解透,如果不是一時能理解,沒關系,多看看,結合以后的項目經驗,會有更好的理解的。
還有應該學習下linux或者wince下的編程,這些對以后做應用的編程很有幫助,當然,如果做手機的話,那可以學習MTK、塞班、Android等操作系統,Android是以后發展的趨勢,現在很熱門,Android也是基于linux系統封裝的,所以建議先學習下linux。
還有,應該學習下單片機或者ARM或者MIPS,很多人說我沒有單片機的經驗,直接學ARM可以嗎?我覺得那完全沒有問題的,當然如果你學習過單片機,那最好不過了,以后學習ARM就更簡單了。
最后如果你把以上的知識都有所了解后,就該去閱讀閱讀一些優秀的代碼,比如結合arm芯片手冊學習去學習下UBOOT的源代碼,了解下最小的系統開發,那對你整個嵌入式開發的非常有幫助的,可以的話,還可以學習下linux的源代碼,當然如果你直接閱讀2.6的代碼,我想你會很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖
小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。
以上就是我在本學期學習嵌入式后的心得及感想。