丁香花无码AV在线,欧美日韩国产色,年轻人手机在线免费视频,伊人成人在线,可以直接免费观看的av网站,日本三级香港三级人妇99,亚洲免费二区

嵌入式學(xué)習(xí)心得體會(huì)

時(shí)間:2022-05-19 18:20:22 心得體會(huì) 我要投稿

嵌入式學(xué)習(xí)心得體會(huì)(精選14篇)

  我們心里有一些收獲后,常?梢詫⑺鼈儗(xiě)成一篇心得體會(huì),這樣可以不斷更新自己的想法。是不是無(wú)從下筆、沒(méi)有頭緒?下面是小編為大家整理的嵌入式學(xué)習(xí)心得體會(huì),歡迎大家借鑒與參考,希望對(duì)大家有所幫助。

嵌入式學(xué)習(xí)心得體會(huì)(精選14篇)

  嵌入式學(xué)習(xí)心得體會(huì) 篇1

  研究嵌入式系統(tǒng)已經(jīng)有快兩年的時(shí)間了。很慶幸自己當(dāng)初選擇了嵌入式系統(tǒng)作為自己的研究和職業(yè)方向,可以說(shuō)它是一種催化劑,讓我自身的修養(yǎng)和研究能力都有了很大的提高。

  在嵌入式系統(tǒng)的大門(mén)前,我只能算是剛剛看到這個(gè)大門(mén)的臺(tái)階,但這段小小的距離讓我受益頗多,現(xiàn)將其中心得奉獻(xiàn)出來(lái),歡迎高手前輩們指正,以供剛接觸的新人參考。

  在寫(xiě)之前,想先寫(xiě)一句話(huà),千萬(wàn)不要以為你是天才,所謂天才即勝別人N倍的人,如果你真認(rèn)為你是天才,請(qǐng)以天才的標(biāo)準(zhǔn)來(lái)要求自己,將自己付出和別人的比例以N:1來(lái)進(jìn)行。

 。1)學(xué)習(xí)與生活心態(tài)

  很多朋友都是在剛步入大學(xué)校門(mén)開(kāi)始接觸計(jì)算機(jī)或者其他。大學(xué)是一個(gè)很讓人迷茫頹廢的地方,可能你在高中躊躇滿(mǎn)志,但在大學(xué)的管理機(jī)制下卻心態(tài)漸糜。能夠在大學(xué)(大一)里找到自己人生之志的同學(xué)有多少?目標(biāo)要明確,不要得過(guò)且過(guò),不要追逐熱門(mén)的東西。

  不管在什么時(shí)候,心里都要有自己的信念和理想,不要被其他東西左右了自己。要從興趣和競(jìng)爭(zhēng)出發(fā),因?yàn)檫@才是你產(chǎn)生動(dòng)力源的地方。學(xué)東西時(shí),要讓自己先喜歡上它,要學(xué)會(huì)享受學(xué)習(xí)它的時(shí)間,喜歡喬XXX的都知道,喬老爺子最常說(shuō)的一句就是要享受比賽的時(shí)間。

  因?yàn)橹挥心阆矚g上了它,享受了它,才不會(huì)被它所產(chǎn)生的壓力壓倒自己,不要產(chǎn)生一種厭惡的心理。而且心態(tài)要調(diào)整,不要一味的蠻學(xué),死學(xué),在沒(méi)有什么興趣學(xué)的時(shí)候可以先玩幾天,在回過(guò)頭來(lái),或者用其他的方式來(lái)轉(zhuǎn)換。要抱著一種十年方能磨一劍的心理,扎扎實(shí)實(shí)從基礎(chǔ)開(kāi)始,不要為高速開(kāi)發(fā)的一些現(xiàn)象所迷惑,那些都只是軟件的功勞。

  我個(gè)人認(rèn)為搞編程,英語(yǔ)和數(shù)學(xué)很重要,大家一定要時(shí)時(shí)的抓,至于怎么抓那就是另外一回事了,當(dāng)然其他的知識(shí)也要汲取,可以多接觸點(diǎn)天文,地理,人文方面的東西來(lái)補(bǔ)充自己。轉(zhuǎn)換的生活方式。要學(xué)會(huì)生活,在人的一生中,都會(huì)遇到一些很不開(kāi)心的事,或者大大小小的意外,孫子兵法里面一句大意就是說(shuō),戰(zhàn)場(chǎng)上要會(huì)將劣勢(shì)轉(zhuǎn)成優(yōu)勢(shì),即最大的劣勢(shì)很可能就是你的優(yōu)勢(shì)所在。

  一個(gè)打擊你可以把他變?yōu)榍斑M(jìn)的動(dòng)力,不必為了一點(diǎn)挫折和捶胸頓足,不必為了一點(diǎn)小事?tīng)?zhēng)吵不休?臻e的時(shí)候可以躺下來(lái)看看天,你就會(huì)明白自強(qiáng)不息,厚德載物之理。(看到一些為了失戀或者其他而墮落的人真的很難受和可惜)。

  要給人以幫助。別人有困難時(shí)或者一些舉手之勞在自己解決范圍內(nèi)的盡力幫之,這對(duì)自己不會(huì)損失什么,相反在對(duì)方心里能夠樹(shù)立你的形象和增加好感。記住,給人之恩時(shí)也是給你自己鋪路,這個(gè)世界不是靠你一個(gè)人可改變的。

 。2)編程語(yǔ)言的選擇語(yǔ)言的爭(zhēng)論。

  很多初學(xué)擇,老是在學(xué)習(xí)何種語(yǔ)言上舉棋不定,試問(wèn),中國(guó)牌子有幾個(gè)不被罵的,試問(wèn),世界上哪部影片沒(méi)人說(shuō)他壞話(huà)的?術(shù)業(yè)有專(zhuān)攻,各司其職,每個(gè)語(yǔ)言的出現(xiàn)肯定都有自己價(jià)值和領(lǐng)域的范圍,不同的只是價(jià)值和領(lǐng)域的.高級(jí)和大小。

  就像高,矮,胖,瘦組成一個(gè)“型”。但是技術(shù)是進(jìn)步的,這個(gè)進(jìn)步也是在舊的基礎(chǔ)上。放心,技術(shù)再飛躍也不會(huì)今天奔I,明天扣肉的迅速,在學(xué)習(xí)的同時(shí)也要時(shí)時(shí)關(guān)注整個(gè)語(yǔ)言界的走勢(shì)(貌似哪個(gè)偉人說(shuō)的與時(shí)俱進(jìn)),保持一種同步曲線(xiàn)的前進(jìn)。語(yǔ)言能干什么?能問(wèn)這句話(huà),很欣慰。

  表明你是從基礎(chǔ)學(xué)起才會(huì)問(wèn)出這樣的話(huà)來(lái)。但換而言之你一開(kāi)始對(duì)這門(mén)語(yǔ)言調(diào)查的信息不足。廟算者勝,對(duì)自己身邊的事物了解是非常重要的,這也能說(shuō)明說(shuō)你的教材或者教導(dǎo)你的人不夠充分。如果是我對(duì)新手交流,我會(huì)花足時(shí)間讓他明白這門(mén)語(yǔ)言是什么,能干什么,整個(gè)體系等等。

  這樣在學(xué)的時(shí)候,對(duì)同一條語(yǔ)句上的理解你可能跟別人就不一樣了,因?yàn)槟阒肋@門(mén)語(yǔ)言的體系架構(gòu),你可以從更多的特性角度去挖掘使用它。提高自己對(duì)語(yǔ)言閱讀能力。如何快速的進(jìn)步?可以告訴你沒(méi)有一步登天的辦法,但是也可以告訴你如何讓你快速掌握你所學(xué)的技術(shù)。多讀他人代碼,多領(lǐng)悟他人思維,多給自己出難題,多幾種方法來(lái)解問(wèn)題,多將語(yǔ)言的思想和身邊的事物聯(lián)系起來(lái)。想想你是怎么掌握普通話(huà)的,方法就不具體說(shuō)了。

  編程的思維。計(jì)算機(jī)是充滿(mǎn)誘惑的東西,很多人都說(shuō)熱愛(ài)計(jì)算機(jī),那只是它的表面,你熱愛(ài)的只是他的一種擴(kuò)展性的東西。能學(xué)計(jì)算機(jī)我很高興,因?yàn)橛?jì)算機(jī)從某種意義上來(lái)說(shuō)將空間的距離給消除掉了。這里沒(méi)有流血,沒(méi)有犧牲。你可以以一種藝術(shù)家的思維來(lái)塑造它,可以以偵探的邏輯思維來(lái)解決它,可以以一種戰(zhàn)爭(zhēng)狂人的思維來(lái)摧毀它。

  你可以將你的這種思維體現(xiàn)在代碼和整個(gè)布局里,不要驚異別人代碼思維的異風(fēng),你也有自己的思維風(fēng)格,你也可以,你也可以用自己代碼讓別人驚異。記住你學(xué)東西時(shí)更多的要體會(huì)他的思維,比如數(shù)學(xué),微積分,離散,無(wú)數(shù)的定理,你學(xué)完以后可能永遠(yuǎn)都用不到,但是你可能有這種感覺(jué),在你碰到某一問(wèn)題時(shí),這一問(wèn)題的性質(zhì)和你學(xué)到的東西很類(lèi)似,但是中間就是差了一點(diǎn)東西,對(duì)了,這就是它思維上的一種運(yùn)用,一種抽象,一種轉(zhuǎn)換。

  嵌入式學(xué)習(xí)心得體會(huì) 篇2

  首先,我們學(xué)習(xí)的課本是嵌入式系統(tǒng)應(yīng)用教程。我學(xué)習(xí)的體會(huì)是這樣的:開(kāi)始時(shí),由于是剛剛?cè)腴T(mén),對(duì)老師書(shū)的好多東西是好奇的,好多名詞也是新鮮的,不過(guò)不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會(huì)。

  在嵌入式的學(xué)習(xí)過(guò)程中,讓我了解了什么是嵌入式系統(tǒng)。它就是以應(yīng)用為中心,以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟硬件可定制,適用于不同應(yīng)用場(chǎng)合,對(duì)功能、可靠性、成本、體積、功耗有嚴(yán)格要求的計(jì)算機(jī)系統(tǒng)。他一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)、用戶(hù)應(yīng)用程序四個(gè)部分組成,用于實(shí)現(xiàn)對(duì)其他設(shè)備的控制、監(jiān)視或管理功能。嵌入式系統(tǒng)已經(jīng)應(yīng)用于科學(xué)研究、工業(yè)控制、軍事技術(shù)、交通通信、醫(yī)療衛(wèi)生、消費(fèi)娛樂(lè)等領(lǐng)域,人們?nèi)粘J褂玫氖謾C(jī)、PDA、汽車(chē)、智能家電、GPS等均是嵌入式系統(tǒng)的典型代表。

  一開(kāi)始我們就學(xué)習(xí)嵌入式的系統(tǒng)的基礎(chǔ)部分,那很簡(jiǎn)單,就是一些定義或是介紹之類(lèi)的。在進(jìn)入第二章時(shí),就開(kāi)始學(xué)習(xí)了嵌入式開(kāi)發(fā)過(guò)程中的主要操作系統(tǒng)——linux,在接下來(lái)的課程中,我發(fā)現(xiàn)嵌入式的學(xué)習(xí)過(guò)程還是蠻有趣的。在對(duì)linux的學(xué)習(xí)中,我們對(duì)它有了一點(diǎn)點(diǎn)的了解,接著就是學(xué)習(xí)一虛擬機(jī)的方式安裝linux。對(duì)我來(lái)說(shuō)有趣的就是安裝的過(guò)程了,首先我們跟著老師的腳步走,學(xué)會(huì)了怎么安裝,在自己動(dòng)手進(jìn)行對(duì)它的安裝,這個(gè)過(guò)程是簡(jiǎn)單而有趣的。這樣的開(kāi)始讓我對(duì)它充滿(mǎn)了興趣,也對(duì)以后的學(xué)習(xí)充滿(mǎn)了信心。

  其次就是安裝好了之后,老師就更深一步的'教我們應(yīng)用了。在這是老師首先交給我們的是一些簡(jiǎn)單的命令應(yīng)用,Linux具有很豐富的命令,絕大多數(shù)命令具有大量的參數(shù)。

  在學(xué)習(xí)命令的過(guò)程中,只要你認(rèn)真的看著老師操作還有認(rèn)真聽(tīng)著他講,你就會(huì)發(fā)現(xiàn)有些命令的操作還是很簡(jiǎn)單的,不過(guò)在操作的過(guò)程中,我也有遇到有些困難,會(huì)出現(xiàn)你按照書(shū)上學(xué)習(xí)的例子,將命令輸入終端時(shí)會(huì)出現(xiàn)你不想要的結(jié)果,也就是錯(cuò)誤的結(jié)果。這是問(wèn)問(wèn)旁邊的同學(xué)或是懂的同學(xué)就可以解決了。

  在對(duì)于這部分的學(xué)習(xí)中,讓我知道了命令對(duì)于嵌入式的重要性。它是linux的重要內(nèi)容,linux中所有的功能都是通過(guò)命令執(zhí)行。在實(shí)際應(yīng)用中,為了減少系統(tǒng)開(kāi)銷(xiāo),經(jīng)常不使用圖形界面,此時(shí),對(duì)系統(tǒng)的所有操作都需要以命令方式來(lái)執(zhí)行。在嵌入式系統(tǒng)開(kāi)發(fā)過(guò)程中,由于目標(biāo)機(jī)的性能和配置比較低,因此,一般情況下目標(biāo)機(jī)僅具有命令窗口而沒(méi)有圖形界面,對(duì)目標(biāo)機(jī)的所有操作都通過(guò)命令來(lái)實(shí)現(xiàn)。

  還有的那就是進(jìn)一步學(xué)習(xí)與嵌入式系統(tǒng)開(kāi)發(fā)相關(guān)的linux的服務(wù),他們的啟動(dòng)、設(shè)置等的操作和應(yīng)用。而在學(xué)習(xí)之中,我們主要介紹的是嵌入式系統(tǒng)中開(kāi)發(fā)工程使用的TFTP、Telent和NFS服務(wù)。第一個(gè)實(shí)現(xiàn)的事上機(jī)位與下機(jī)位之間文件的傳輸、無(wú)磁盤(pán)網(wǎng)絡(luò)的設(shè)備的啟動(dòng)等功能;第二個(gè)實(shí)現(xiàn)的事遠(yuǎn)程登錄功能;第三個(gè)實(shí)現(xiàn)的是網(wǎng)絡(luò)文件系統(tǒng)功能。

  從以上的內(nèi)容之中,并不難感受到我們的學(xué)習(xí)過(guò)程是由淺入深的,這對(duì)于我們的學(xué)習(xí)也有了較好的幫助。

  當(dāng)然,我們學(xué)習(xí)的不僅僅是這么幾個(gè)內(nèi)容,其中還有相關(guān)的實(shí)驗(yàn)內(nèi)容。在我們基礎(chǔ)的學(xué)習(xí)的過(guò)程之中,我有了這么一點(diǎn)的感受,總的來(lái)說(shuō)就是概念加專(zhuān)業(yè)名詞還有介紹加實(shí)驗(yàn)。不過(guò)你絕對(duì)不能小看那些概念和介紹,它對(duì)我們有著很重要的指導(dǎo)作用哦!實(shí)驗(yàn)?zāi)蔷透挥谜f(shuō)了,它提高我們的動(dòng)手能力,在實(shí)驗(yàn)的過(guò)程中還能讓你更加理解書(shū)中的理念,這就是我學(xué)習(xí)嵌入式的感受。

  嵌入式學(xué)習(xí)心得體會(huì) 篇3

  這個(gè)題目很大,給人一種感覺(jué)我好像很成功,其實(shí)不然。實(shí)際上自己水平不高,甚至很低,但是做過(guò)了一些曲折的學(xué)習(xí)道路,同時(shí)把自己真實(shí)的學(xué)習(xí)歷程表達(dá)出來(lái),希望對(duì)后來(lái)者有借鑒的意義,甚幸!工作三年、幾成廢人!

  我XX年畢業(yè)于華中地區(qū)的一個(gè)理工科大學(xué),專(zhuān)業(yè)是機(jī)械電子,我當(dāng)時(shí)已經(jīng)簽了一家內(nèi)陸某個(gè)省級(jí)機(jī)關(guān)工作,家里八輩是農(nóng)民,并且很偏遠(yuǎn),能夠進(jìn)入這樣的地方是祖墳有風(fēng)水。但在畢業(yè)前夕有個(gè)進(jìn)入it的機(jī)會(huì),我本想進(jìn)去的,家里人極力反對(duì),阻力可想而知。同時(shí)要交4000元的違約金,對(duì)我來(lái)說(shuō)是天文數(shù)字。大學(xué)里的費(fèi)用很多是借的,幾乎將近一半的費(fèi)用是在大學(xué)勤工儉學(xué)掙的,為了省錢(qián),高中一個(gè)學(xué)期回家一次,大學(xué)一年回去一次。并且我個(gè)人也有特殊的人生背景(悲景更確切),這里不多說(shuō)了,寫(xiě)十篇也寫(xiě)不完,同時(shí)偏離主題。這樣我就參加了工作。一張報(bào)紙一杯茶的日子,幾乎下班后有種很空虛和恐慌的感覺(jué)。在工作中雖然是與自己專(zhuān)業(yè)有點(diǎn)關(guān)系,但是很少。專(zhuān)業(yè)幾乎荒廢。我自己也思考,如果再不出去,自己將會(huì)成廢人,只好讓國(guó)家養(yǎng)了。兩年后決定出去,但是幾成廢人,誰(shuí)要呢,只好到學(xué)校去鍍金。這是中國(guó)教育和社會(huì)的悲哀!

  至于專(zhuān)業(yè)就改為計(jì)算機(jī)方面,聽(tīng)說(shuō)好找工作,我說(shuō)實(shí)話(huà)不是很對(duì)計(jì)算機(jī)特別感興趣,生存第一需要。不要笑我,哈哈!

  考研成績(jī)出來(lái),超過(guò)了國(guó)家線(xiàn)幾十分。那個(gè)方向要兩個(gè),我第三,但是那年非碘,不面試就按分?jǐn)?shù)來(lái)排,自然我落選了。其實(shí)給我面試機(jī)會(huì)也不一定要我,哈哈,自己幾斤幾兩很清楚。

  最后調(diào)劑到另外一個(gè)學(xué)校,交錢(qián),咬咬牙,交吧!現(xiàn)在仍然債臺(tái)高筑!

  進(jìn)入學(xué)校前夕

  為什么要把這段列出,看后就知道了。

  單位有網(wǎng)絡(luò),經(jīng)常上網(wǎng)查些英語(yǔ)資料,在那里唯獨(dú)英語(yǔ)沒(méi)有丟很多。于是我就在網(wǎng)上查資料,學(xué)什么好呢,最后確定學(xué)嵌入式把,聽(tīng)說(shuō)跟硬件相對(duì)比較緊密!而我在大學(xué)里多少學(xué)習(xí)了數(shù)字電路,單片機(jī)等,所以多少也有所利用,不會(huì)真的一無(wú)所知。當(dāng)然在這之前也自學(xué)過(guò)數(shù)據(jù)結(jié)構(gòu),計(jì)算機(jī)組成原理等。c語(yǔ)言在大學(xué)就學(xué)了。哈哈這就是我的家底。

  我知道自己的基礎(chǔ)差,于是我就拿操作系統(tǒng),數(shù)據(jù)庫(kù)、數(shù)據(jù)結(jié)構(gòu)、c++來(lái)看,機(jī)關(guān)有這個(gè)好處,空余時(shí)間多,于是平常就看書(shū),很痛苦,沒(méi)有人請(qǐng)教。

  另外就上網(wǎng)到論壇上去,我就到各個(gè)專(zhuān)業(yè)的技術(shù)論壇,其實(shí)是電子論壇和嵌入式論壇。我?guī)缀鯖](méi)有發(fā)帖,幾乎把幾個(gè)大型的出名的論壇的帖子翻遍了,雖然有很多重復(fù)的',我才知道嵌入式是個(gè)什么東東。這些帖子對(duì)我以后的學(xué)習(xí)產(chǎn)生了極大的影響。

  最關(guān)鍵兩點(diǎn):

  1、嵌入式是什么?

  2、嵌入式需要哪些知識(shí)?

  知道了這兩點(diǎn),好辦!我就開(kāi)始規(guī)劃學(xué)習(xí)路線(xiàn)。計(jì)算機(jī)的基本理論不能丟,于是重點(diǎn)看組成原理,數(shù)據(jù)機(jī)構(gòu),操作系統(tǒng)、c++。同時(shí)論壇上了解到,實(shí)時(shí)操作系統(tǒng)ucos是一個(gè)很好的嵌入式操作系統(tǒng),對(duì)初學(xué)者很好。于是我就買(mǎi)了一本書(shū),但是代碼在電腦里調(diào)不通,網(wǎng)上也有很多相同的問(wèn)題,我就看書(shū),分析代碼,一遍不行就兩遍,三遍,這樣才看了入了門(mén),才知道什么是進(jìn)程。原來(lái)看操作系統(tǒng)書(shū)時(shí),根本就不知道進(jìn)程是個(gè)什么東西。

  在這段時(shí)間掌握的東西不多,但是,對(duì)我以后的影響很大,我想起了大學(xué)時(shí)一個(gè)同學(xué)跟我說(shuō)過(guò)了一句話(huà):大學(xué)里最重要的不是學(xué)到了什么,最重要的是學(xué)會(huì)怎么學(xué)!大概是這個(gè)意思。

  進(jìn)入我的避難所

  對(duì)我來(lái)講,再次進(jìn)入大學(xué)不再是大學(xué),而是避難所。希望這次進(jìn)入給我喘氣和養(yǎng)精蓄銳的機(jī)會(huì)和時(shí)間。我是這樣認(rèn)為和實(shí)踐的。

  在學(xué)校我有三件事:上課,上圖書(shū)館,上網(wǎng)。

  對(duì)于上課,學(xué)校開(kāi)了很多課程,非常好,很多是名人名師講解,于是很多同學(xué)都想學(xué),都去聽(tīng)。我也考慮過(guò),最后放棄。我是這樣認(rèn)為的,時(shí)間是有限的,什么都想學(xué),什么都學(xué)不成。于是我把我自己學(xué)的課進(jìn)行了分化,一般的課程通過(guò)就行,重要的一定好好學(xué)。我希望不要什么爭(zhēng)論學(xué)習(xí)課程多和少的問(wèn)題,這僅僅是我的看法。所以我的成績(jī)應(yīng)該是很差的。分?jǐn)?shù)低。好在后來(lái)的單位沒(méi)有要我的成績(jī)單,否則就慘了。

  我個(gè)人感覺(jué)是上圖書(shū)館的效率比在寢室里高多了,這是我的經(jīng)驗(yàn)。

  嵌入式學(xué)習(xí)心得體會(huì) 篇4

  一、如果非常多人都想做Linux,那么就要對(duì)Linux要比較熟悉。

  這個(gè)熟悉不是說(shuō)對(duì)內(nèi)核,對(duì)代碼有多了解,而是至少要會(huì)基本的操作,非常難想象讓一個(gè)連編譯程式,編輯文本文件都非常困難的人去弄嵌入式的軟件吧?傊谶M(jìn)入嵌入式這個(gè)領(lǐng)域之前要對(duì)自己評(píng)估一下,看看自己是不是準(zhǔn)備好了去學(xué)習(xí)嵌入式相關(guān)的東西。

  二、要舍得花錢(qián)買(mǎi)研發(fā)板。公欲善其技,必先利其器。

  也就是說(shuō),理論上可能掌控了非常多,不過(guò)不去實(shí)踐,那只能是紙上談兵,這樣是無(wú)法學(xué)好嵌入式的。弄個(gè)研發(fā)板自己擺弄擺弄,即使什么都不懂,也能按照說(shuō)明書(shū)把廠(chǎng)家給的程式下載到研發(fā)板上運(yùn)行運(yùn)行,先知其然,然后再通過(guò)具體的學(xué)習(xí)知其所以然,這樣能避免學(xué)習(xí)中的枯燥。目前市場(chǎng)上研發(fā)板的種類(lèi)繁多,相同CPU的板子價(jià)格卻相差非常多,令非常多人都不知道怎么選擇購(gòu)買(mǎi)。我的看法是,盡量買(mǎi)大廠(chǎng)的產(chǎn)品。因?yàn)樵诔鯇W(xué)階段學(xué)習(xí)資料少是個(gè)非常頭疼的事,非常多時(shí)候都是無(wú)從下手,不知道怎么去做,那么隨研發(fā)板附送的資料就非常重要了。大廠(chǎng)技術(shù)比較強(qiáng),附帶的程式都是能在板子上運(yùn)行的,例如我買(mǎi)的優(yōu)龍ST2410這個(gè)板子(不是廣告啊),光盤(pán)上帶了一個(gè)bootloader,個(gè)2.4.18的內(nèi)核,更有一個(gè)cramfs,這些程式的原始碼都是廠(chǎng)家事先做好或修改好的,完全適用于初學(xué)者使用。而有些實(shí)力不行的小廠(chǎng)家的資料不齊全,我們學(xué)習(xí)的時(shí)候需要自己弄bootloader什么的,那入門(mén)就非常難了。不過(guò)大廠(chǎng)的板子都非常貴,大家能根據(jù)預(yù)算來(lái)選擇適合自己的研發(fā)板,不過(guò)無(wú)論怎樣,在學(xué)習(xí)上投資都是值得的。

  三、不要事無(wú)巨細(xì)的學(xué)習(xí),要有明確的目標(biāo)。

  我最開(kāi)始給自己制定的學(xué)習(xí)計(jì)劃是:學(xué)習(xí)arm體系結(jié)構(gòu)->學(xué)習(xí)arm匯編->自己移植bootloader ->自己移植kernel ->做應(yīng)用,不過(guò)不久就被我否決了,因?yàn)檫@個(gè)過(guò)程實(shí)在是太枯燥太痛苦了,在學(xué)習(xí)資料少,沒(méi)人指導(dǎo)的情況下根本無(wú)法進(jìn)展。于是我決定使用廠(chǎng)家的代碼來(lái)“玩”研發(fā)板,自己弄些應(yīng)用上去。先是完全使用廠(chǎng)家給的bootloader,kernel,cramfs。之后發(fā)現(xiàn)cramfs中的一些控制Linux初始化的文件不符合我的.需求,于是修改cramfs,刪除了QT,修改了網(wǎng)卡初始的IP地址,安裝到板子上能運(yùn)行了之后就開(kāi)始嘗試做一些應(yīng)用,比如hello world這樣的程式。最后移植了一個(gè)mpg123到板子上。完萬(wàn)能在不知道原理的情況下來(lái)使用板子的一些功能,等熟悉板子了再回頭學(xué)習(xí)其中的道理,這樣就容易一些。學(xué)習(xí)嵌入式就是這樣,根據(jù)問(wèn)題來(lái)選擇學(xué)習(xí)的內(nèi)容,否則會(huì)非常盲目,最后就失去信心了。

  四、要有耐心。

  不能否認(rèn),在學(xué)習(xí)一門(mén)自己完全不了解的技術(shù)是非常煩人的。嵌入式的復(fù)雜在于他的交叉性。也就是說(shuō)為了研究某一個(gè)嵌入式的問(wèn)題,你有可能得學(xué)習(xí)非常多其他的知識(shí),比如操作系統(tǒng),編譯,體系結(jié)構(gòu)等等,那么對(duì)于這種情況需要我們有足夠的耐心。我在交叉編譯mpg123的時(shí)候前幾次無(wú)論怎么修改makefile都無(wú)法編譯成功,最后我發(fā)現(xiàn)我用的arm-linux-gcc是2.9版本的,比較老,于是我換成新的3.4.1版本,就ok了。

  以上是我初學(xué)嵌入式所獲得的一些淺顯的經(jīng)驗(yàn),基本都是基于軟件方面的,硬件的DIY我就不行了。希望我的經(jīng)驗(yàn)?zāi)芙o大家一些幫助。

  剛剛和LUPA的嵌入式版主要了uboot的代碼,接下來(lái)的我想研究研究廠(chǎng)家的bootloader代碼然后移植一下uboot。

  嵌入式學(xué)習(xí)心得體會(huì) 篇5

  4月10號(hào),為期一個(gè)階段的Linux開(kāi)發(fā)基礎(chǔ)培訓(xùn)課程圓滿(mǎn)結(jié)束,回首這些天所留下的點(diǎn)點(diǎn)滴滴,感觸深深,學(xué)習(xí)上知識(shí)點(diǎn)的積累,靈活運(yùn)用的過(guò)程中感受到了Linux操作的快速高效性能,這也是我所追求的效率!

  當(dāng)初初涉培訓(xùn)課程的第一門(mén)課程時(shí),都說(shuō)Linux操作很繁瑣復(fù)雜,心里總有些顧忌,帶著種種不安與些許拼博的決心,開(kāi)始了自我提升階段的“充電”,由徐海兵老師教授我們基礎(chǔ)課程的培訓(xùn),我們則像著小學(xué)生般認(rèn)真的記著筆記,仔細(xì)聽(tīng)著并學(xué)會(huì)如何去在實(shí)踐中運(yùn)用所學(xué)的Linux下的各種強(qiáng)大的命令集。

  在Unit 1中,徐老師詳細(xì)生動(dòng)的為我們講述了有關(guān)Linux的誕生、初成長(zhǎng)以及輝煌的發(fā)展至今,今后應(yīng)用范圍則愈來(lái)愈廣泛,講解了為L(zhǎng)inux這個(gè)偉大的OS做出巨大貢獻(xiàn)的一位位出色的、偉大的人物,他們那種學(xué)習(xí)鉆研的精神、鍥而不舍的信念、勇于把握住難得的'機(jī)會(huì),從小處著手,踏踏實(shí)實(shí)的創(chuàng)造出了對(duì)人類(lèi)科技發(fā)展做出卓越貢獻(xiàn)的Linux(Unix)系統(tǒng),他們的種種,都值得我們?nèi)ド羁谭词、刻苦學(xué)習(xí)、傳承并永遠(yuǎn)發(fā)展下去。

  查看ip地址和重啟網(wǎng)絡(luò)服務(wù)是我學(xué)的第一個(gè)命令: ifconfig eth0、ifconfig eth0 IP地址、service network restart。了解到遠(yuǎn)程登錄軟件可用xmanager。

  secureCRT是我們常用的,安裝好后利用其登錄到了Red hat Linux,需要知道Linux主機(jī)的ip 地址。徐老師為我們介紹了重要內(nèi)容:SHELL,即運(yùn)行程序的程序,如echo $$SHELL可查看SHELL的環(huán)境變量是csh還是bash。指令pwd可查看當(dāng)前所在路徑,passwd:更改Linux下的密碼,僅限r(nóng)oot用戶(hù)有此權(quán)限,當(dāng)然我們是利用虛擬機(jī)VMware程序來(lái)運(yùn)行Linux OS的,懂得了如何設(shè)置虛擬機(jī)的網(wǎng)卡設(shè)置、暫停、恢復(fù)、全屏等。

  簡(jiǎn)單的學(xué)習(xí)后進(jìn)入U(xiǎn)nit 2,命令行的句法讓我懂得了用法規(guī)則,一系列的命令功能強(qiáng)大:

  date 顯示當(dāng)前年月時(shí)間星期之類(lèi)的;

  more指令與less重要但不常用;

  cat用于查看短小的文件內(nèi)容,常用!

  mkdir命令用于在當(dāng)前目錄下創(chuàng)建新的目錄;

  ls 顯示當(dāng)前目錄下所有文件;cd 更改文件路徑,如cd 、cd . 當(dāng)前目錄;

  rmdir 刪除空文件夾;

  rm指令很強(qiáng)大,用于刪除空目錄及非空目錄下的指定或全部文件;

  man 真男人,幫助手冊(cè);

  history指令用于顯示編寫(xiě)過(guò)的命令集,以history 序號(hào) 可顯示序號(hào)所指命令;

  echo回寫(xiě)命令,很重要,我需要繼續(xù)學(xué)習(xí);

  exit 指從多重SHELL退出來(lái)。

  嵌入式學(xué)習(xí)心得體會(huì) 篇6

  目前最常見(jiàn)的嵌入式LINUX方面,我認(rèn)為大概3個(gè):

  1、嵌入式LINUX上層的應(yīng)用,包括QT的GUI開(kāi)發(fā)

  2、嵌入式的LINUX系統(tǒng)開(kāi)發(fā)

  3、嵌入式的驅(qū)動(dòng)開(kāi)發(fā)

  學(xué)習(xí)嵌入式:

  第一、C語(yǔ)言要掌握(硬件略懂),C語(yǔ)言是所有編程語(yǔ)言中的強(qiáng)者,單片機(jī),DSP,類(lèi)似ARM的種種芯片的編程都可以用C語(yǔ)言搞定,因?yàn)樗梢浦敌詮?qiáng),編譯效率高,運(yùn)算速度快,便于實(shí)現(xiàn)理更復(fù)雜的的數(shù)據(jù)結(jié)構(gòu)。上層應(yīng)用和數(shù)據(jù)存儲(chǔ),我推薦使用C++語(yǔ)言。

  第二、學(xué)習(xí)一種嵌入式的處理器架構(gòu),個(gè)人推薦32位的處理器,像ARM,因?yàn)榍度胧介_(kāi)發(fā)8位的`處理器顯得有點(diǎn)低端,大多數(shù)只能用作簡(jiǎn)單的工控.

  第三、學(xué)習(xí)一種嵌入式操作系統(tǒng),像LINUX,WINCE等都可以,LINUX更好。

  ARM是一種微處理器,已遍及工業(yè)控制,消費(fèi)類(lèi)的電子產(chǎn)品,通信,網(wǎng)絡(luò),無(wú)線(xiàn)等各類(lèi)的產(chǎn)品基于ARM技術(shù)的微處理器已占75%以上的市場(chǎng)份額,可見(jiàn)其技術(shù)已逐滲入到我們生活中的各個(gè)領(lǐng)域,像手機(jī)就是用ARM7 ARM9 ARM11的微處理器技術(shù)開(kāi)發(fā)的。嵌入式系統(tǒng)最常見(jiàn)的ARM系列,ARM7,ARM9,ARM11,cortex-A8等。

  我們都是曾經(jīng)從大學(xué)里走出來(lái)的迷茫羊羔,工作以后我才知道,在大學(xué)里不是學(xué)到了什么,而是學(xué)會(huì)怎么去學(xué),相信自己,理清自己的思路,根據(jù)自己的性格,剖析自我適合往哪方面發(fā)展。

  嵌入式學(xué)習(xí)心得體會(huì) 篇7

  本人本科學(xué)的是電子信息工程專(zhuān)業(yè),其實(shí)這個(gè)專(zhuān)業(yè)和嵌入式?jīng)]有多大的關(guān)系,要說(shuō)有關(guān)系就是簡(jiǎn)單的講了下C語(yǔ)言語(yǔ)法,學(xué)完之后還不知道什么是C語(yǔ)言,只記住了char,int,long等占幾個(gè)字節(jié),if, while,for循環(huán)什么的,感覺(jué)也就能算一些小學(xué)就會(huì)的題目,全國(guó)計(jì)算機(jī)二級(jí)C語(yǔ)言也就糊涂的過(guò)了。我這個(gè)專(zhuān)業(yè)沒(méi)學(xué)過(guò)C++,一開(kāi)始不知道什么是面向?qū)ο,這可能會(huì)讓人笑話(huà)了。不過(guò)這說(shuō)的是實(shí)話(huà),本科的時(shí)候,學(xué)院安排的課程大部分偏硬件部分,動(dòng)手機(jī)會(huì)比較多,自然而然比較喜歡硬件方面。

  在大二的時(shí)候就聽(tīng)學(xué)長(zhǎng)說(shuō),單片機(jī)很難學(xué),那時(shí)候經(jīng)學(xué)長(zhǎng)介紹,淘寶買(mǎi)了本郭天祥老師出的書(shū)《51單片機(jī)C語(yǔ)言教程》,一開(kāi)始還真是不怎么懂,感覺(jué)有點(diǎn)像是看天書(shū),然后硬著頭皮去看,當(dāng)我把51的結(jié)構(gòu)看完了,就不像一開(kāi)始那樣一頭霧水了,自己在紙上把51的結(jié)構(gòu)圖默畫(huà)一遍,然后再把各個(gè)寄存器功能寫(xiě)一下,各個(gè)功能口的結(jié)構(gòu)粗略畫(huà)了下,然后覺(jué)得51整體已在我心中了,雖然沒(méi)有什么作用,但是至少懂得這門(mén)課要怎么去學(xué)習(xí)。其實(shí)有些時(shí)候不是這個(gè)東西你不會(huì),而是在不會(huì)的時(shí)候自己先告訴自己這個(gè)太難了,自己先放棄了。

  在大三的時(shí)候,第一學(xué)期課比較少,我就經(jīng)常待在圖書(shū)館,會(huì)去蠻看些專(zhuān)業(yè)相關(guān)的書(shū)籍,現(xiàn)在想想,那時(shí)候也是機(jī)緣巧合下,看到了一本書(shū)《從51到ARM》,講述的是從51系列單片機(jī)的一般知識(shí)出發(fā),將arm處理器和51系列單片機(jī)進(jìn)行對(duì)比,引導(dǎo)讀者去理解和學(xué)習(xí)arm處理器的知識(shí)。那個(gè)時(shí)候也有考慮到以后就業(yè)的問(wèn)題,就想到一件事情,如果去應(yīng)聘工作的話(huà),每個(gè)工科院校電子信息類(lèi)的畢業(yè)生都會(huì)異口同聲地說(shuō):我會(huì)51系列單片機(jī)。當(dāng)他說(shuō)這句話(huà)的時(shí)候,他和別人是站在同一起跑線(xiàn)上的?晌覀兺耆锌赡芎蛣e人不站在同一起跑線(xiàn)上。正是這本書(shū)給我開(kāi)啟了另外一扇大門(mén),讓我初步了解了嵌入式。后來(lái)去報(bào)考全國(guó)計(jì)算機(jī)等級(jí)考試三級(jí)教程——嵌入式系統(tǒng)開(kāi)發(fā)技術(shù),在圖書(shū)館奮斗了兩個(gè)月,最后取得優(yōu)秀的成績(jī),也讓我進(jìn)一步了解嵌入式系統(tǒng)。

  在大四的時(shí)候,我們有嵌入式的選修課,不過(guò)當(dāng)時(shí)因?yàn)榭佳械木壒剩蜎](méi)有去上過(guò)這門(mén)課,好可惜呀!但是,在選擇讀研研究方向的時(shí)候我還是毅然選擇了嵌入式方向,我知道這將成為我未來(lái)三年研究的方向。這學(xué)期(研一下學(xué)期),很開(kāi)心能夠再次接觸嵌入式系統(tǒng)這門(mén)課程,對(duì)于導(dǎo)師教的這門(mén)課程,我覺(jué)得自己上課還是蠻認(rèn)真聽(tīng)講的,當(dāng)然也被師在臺(tái)上那講得頭頭是道,溫文儒雅的風(fēng)姿所吸引。對(duì)于沒(méi)有學(xué)過(guò)微機(jī)8086的我,有些時(shí)候,老師用微機(jī)與嵌入式的對(duì)比讓我頭腦沒(méi)有相關(guān)概念...

  首先,我對(duì)嵌入式在概念上有了一個(gè)比較精確的了解。嵌入式是指以應(yīng)用為中心,以計(jì)算機(jī)為基礎(chǔ),并且軟硬件可裁剪,適用于對(duì)功能、可靠性、成本、體積和功耗有嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。它由硬件平臺(tái)和系統(tǒng)軟件組成。硬件平臺(tái)指嵌入式處理器和與之通過(guò)接口連接的外圍硬件平臺(tái)。系統(tǒng)軟件是指實(shí)時(shí)操作系統(tǒng)和用戶(hù)應(yīng)用軟件。

  談到硬件部分,我首先想到的是嵌入式處理器那些外圍功能模塊。對(duì)于這部分的學(xué)習(xí),我當(dāng)初花了好長(zhǎng)時(shí)間看《深入淺出ARM7——LPC2400》這本書(shū),現(xiàn)在想想覺(jué)得自己學(xué)習(xí)方法沒(méi)用對(duì),完全沒(méi)有那個(gè)必要,自己卻花了大把時(shí)間在看這些寄存器引腳的使用,因?yàn)閱渭兊目催^(guò)之后還是很容易忘的,之后在進(jìn)行實(shí)驗(yàn)的時(shí)候還是翻書(shū)來(lái)查就證明了這一點(diǎn)。不過(guò)一些最基本的模塊,例如通用輸入/輸出口(GPIO),通用異步收發(fā)器(UART),向量中斷控制器(VIC),外部中斷輸入和定時(shí)器/計(jì)數(shù)器還是需要看書(shū)認(rèn)真去記住那些常用的引腳功能。對(duì)于CPU異常這部分,我一開(kāi)始以為異常就是中斷,因?yàn)樘幚沓绦蛄鞒淘O(shè)計(jì)是相似的,都是請(qǐng)求處理器打斷正常的程序執(zhí)行流程,進(jìn)入特定程序的一種機(jī)制。當(dāng)時(shí)還對(duì)老師提出的一個(gè)看法有點(diǎn)疑義,51可以處理中斷嵌套而ARM處理器卻不能?我當(dāng)時(shí)腦子里面就在想:中斷不都是有硬件設(shè)備產(chǎn)生的,那按常理來(lái)講ARM處理器也可以處理的呀。后來(lái)在認(rèn)真查書(shū),發(fā)現(xiàn)CPU異常有7種:復(fù)位,數(shù)據(jù)中止,中斷,快中斷,預(yù)取中止,未定義,軟件中斷。而異常向量會(huì)使CPU轉(zhuǎn)入異常入口地址執(zhí)行程序,開(kāi)始了異常處理。同理的話(huà),中斷向量使CPU轉(zhuǎn)入中斷入口地址執(zhí)行程序,開(kāi)始了中斷處理。即當(dāng)發(fā)生IRQ中斷時(shí),程序返回地址被存入該IRQ中斷模式下的LR,如果繼續(xù)發(fā)生IRQ中斷,那第二次的中斷返回地址也還是被存入該IRQ中斷模式下的LR中,那先前發(fā)生中斷時(shí)候存入的程序返回地址將被覆蓋掉,導(dǎo)致不能返回正確的位置。在我解決這個(gè)問(wèn)題的期間,每次睡前思維準(zhǔn)會(huì)定格在這問(wèn)題上,久久不能繞出來(lái),其實(shí)有時(shí)候查書(shū)還是最好的解決方案,因?yàn)榫W(wǎng)絡(luò)資源只能提供給我們部分的參考資料。

  對(duì)于ARM匯編語(yǔ)言這部分的學(xué)習(xí),我認(rèn)為是需要重視的,學(xué)匯編不是說(shuō)用這語(yǔ)言做多牛逼的事情, 問(wèn)題的關(guān)鍵在于, 學(xué)透了匯編會(huì)使你真正理解計(jì)算機(jī)。另外一方面,只要以后在嵌入式工作中你遲早會(huì)在某個(gè)陰暗的角落里遇到匯編。“不管你承認(rèn)不承認(rèn), 現(xiàn)在的CPU沒(méi)有直接跑高級(jí)語(yǔ)言的, 哪怕是虛擬機(jī)也都是類(lèi)似匯編的指令集.當(dāng)遇到崩潰分析, 性能優(yōu)化甚至編譯器抽風(fēng)等等的時(shí)候, 匯編是你最后一根救命稻草(這句話(huà)是福來(lái)師兄講的)!睘榇怂o了我們一份資料,周立功lpc21xx/lpc22xx系列ARM7啟動(dòng)代碼分析,主要講述的是startup.s文件的分析,看了下才發(fā)現(xiàn)老師上課講的那個(gè)啟動(dòng)代碼分析很多不理解之處這里都有詳細(xì)的介紹,這分析太精辟了。

  學(xué) ARM7這么久,我認(rèn)為從硬件上講,一方面就是學(xué)習(xí)接口電路設(shè)計(jì),另一方面就是學(xué)習(xí)匯編和C語(yǔ)言的板級(jí)編程。如果從軟件上講,就是要學(xué)習(xí)基于ARM處理器的操作系統(tǒng)層面 的驅(qū)動(dòng)和移植。這些對(duì)于我們初學(xué)者來(lái)說(shuō)必須明確,要么從硬件著手開(kāi)始學(xué),要么從操作系統(tǒng)的熟悉到應(yīng)用開(kāi)始學(xué),但不管學(xué)什么,只要不是純的操作系統(tǒng)級(jí),硬件的寄存器類(lèi)的東西還是要能看懂的,基于板級(jí)的匯編和C編程還是要會(huì)的。

  μC/OS-II 是一種基于優(yōu)先級(jí)的搶占式多任務(wù)實(shí)時(shí)操作系統(tǒng),包含了實(shí)時(shí)內(nèi)核、任務(wù)管理、時(shí)間管理、任務(wù)間通信同步(信號(hào)量,郵箱,消息隊(duì)列)和內(nèi)存管理等功能。它可以使各個(gè)任務(wù)獨(dú)立工作,互不干涉,很容易實(shí)現(xiàn)準(zhǔn)時(shí)而且無(wú)誤執(zhí)行,使實(shí)時(shí)應(yīng)用程序的設(shè)計(jì)和擴(kuò)展變得容易,使應(yīng)用程序的設(shè)計(jì)過(guò)程大為減化。μC /OS-II是一個(gè)完整的、可移植、可固化、可裁剪的占先式實(shí)時(shí)多任務(wù)內(nèi)核。μC/OS-II絕大部分的代碼是用ANSI的C語(yǔ)言編寫(xiě)的,包含一小部分匯編代碼,使之可供不同架構(gòu)的微處理器使用。

  μC/OS-II可以大致分成內(nèi)核結(jié)構(gòu)、任務(wù)管理、時(shí)間管理、任務(wù)之間通信與同步4個(gè)部分。內(nèi)核結(jié)構(gòu)是操作系統(tǒng)的處理核心,包括操作系統(tǒng)初始化、操作系統(tǒng)運(yùn)行、中斷進(jìn)出的前導(dǎo)、時(shí)鐘節(jié)拍、任務(wù)調(diào)度、事件處理等多部分。任務(wù)管理部分中的內(nèi)容都是與任務(wù)的操作密切相關(guān)的。包括任務(wù)的建立、刪除、掛起、恢復(fù)等等。因?yàn)棣藽/OS-II是以任務(wù)為基本單位調(diào)度的,所以這部分內(nèi)容也相當(dāng)重要。μC/OS-II中的最小時(shí)鐘單位是timetick(時(shí)鐘節(jié)拍),任務(wù)延時(shí)等操作是在時(shí)間管理這部分完成的。任務(wù)之間通信與同步為事件處理部分,包括信號(hào)量、郵箱、郵箱隊(duì)列、事件標(biāo)志等部分;主要用于任務(wù)間的互相聯(lián)系和對(duì)臨界資源的訪(fǎng)問(wèn)。μC/OS-Ⅱ操作系統(tǒng)是在main()中建立的,首先要系統(tǒng)初始化,OSInit(),初始化系統(tǒng)所有的變量和數(shù)據(jù)結(jié)構(gòu)。然后進(jìn)行任務(wù)的創(chuàng)建,OSTaskCreate();之后進(jìn)行多任務(wù)的啟動(dòng),OSStart()。在進(jìn)行任務(wù)的并行處理的時(shí)候,一個(gè)任務(wù)的程序是順序執(zhí)行的,而不同任務(wù)的程序卻是并行執(zhí)行的。從應(yīng)用程序的觀點(diǎn)來(lái)看,此處的并行處理只是一個(gè)假象。而實(shí)際上它是通過(guò)實(shí)時(shí)操作系統(tǒng)的內(nèi)核控制任務(wù)之間的切換來(lái)實(shí)現(xiàn)的,也就是任務(wù)調(diào)度啦。

  μCOS-Ⅱ總是運(yùn)行進(jìn)入就緒態(tài)任務(wù)中優(yōu)先級(jí)最高的那一個(gè)。當(dāng)創(chuàng)建新任務(wù)時(shí),或當(dāng)前任務(wù)調(diào)用一些可能把自己掛起的系統(tǒng)函數(shù)(如OSMBoxPend)時(shí),內(nèi)核就要進(jìn)行任務(wù)切換。在上述的場(chǎng)合,任務(wù)級(jí)的調(diào)度是由函數(shù)OSSched()完成的。

  在一個(gè)多任務(wù)的應(yīng)用工程中,任務(wù)之間并不是完全獨(dú)立的,它們存在一些需相互配合的處理,這些相互配合是靠任務(wù)間的通訊或同步,信號(hào)量、郵箱、消息隊(duì)列可以實(shí)現(xiàn)這種任務(wù)與任務(wù),任務(wù)與中斷服務(wù)函數(shù)間的通訊與同步。

  郵箱可以使一個(gè)任務(wù)或者中斷服務(wù)子程序向另一個(gè)任務(wù)發(fā)送一個(gè)指針型的'變量。而信號(hào)量不可以,其只能發(fā)送信號(hào)量。消息隊(duì)列可以使一個(gè)任務(wù)或者中斷服務(wù)子程序向另一個(gè)任務(wù)發(fā)送以指針?lè)绞蕉x的變量。因具體的應(yīng)用有所不同,每個(gè)指針指向的數(shù)據(jù)結(jié)構(gòu)變量也有所不同,實(shí)際上,我們可以將消息隊(duì)列看作多個(gè)郵箱組成的數(shù)組,只是它們共用一個(gè)等待任務(wù)列表。

  我們實(shí)驗(yàn)所用的ARM開(kāi)發(fā)工具是ADS1.2。ARMADS全稱(chēng)為ARM Developer Suite,是ARM公司推出的新一代ARM集成開(kāi)發(fā)工具,F(xiàn)在ADS的最新版本是1.2,支持軟件調(diào)試及JTAG硬件仿真調(diào)試、支持匯編、C語(yǔ)言、C++源程序,具有編譯效率高、系統(tǒng)庫(kù)功能強(qiáng)等特點(diǎn)。在安裝ADS1.2的時(shí)候出現(xiàn)過(guò)小問(wèn)題,當(dāng)時(shí)我的電腦是64位的,安裝完之后顯示不了,后來(lái)百度查找到原因,竟然是文件夾放錯(cuò)地方,應(yīng)該放在Program Files(x86)這個(gè)文件夾中。后來(lái)有同學(xué)問(wèn)我這方面的問(wèn)題,但是發(fā)現(xiàn)他們的ADS1.2安裝不了的原因是因?yàn)長(zhǎng)icence弄錯(cuò)了。在打開(kāi)CodeWarrior for ARM Developer Suite的時(shí)候,一定要記得選DebugInChipRAM,否則Make都出現(xiàn)很多error,而且那些幾乎都是未定義函數(shù)的錯(cuò)誤。之后就進(jìn)行Debug,調(diào)試成功之后會(huì)跳出AXD的界面,選擇Options里面的ConfigureTarget,再添加H-JTAG的文件,之后點(diǎn)擊GO,程序會(huì)跳出匯編語(yǔ)言的界面,再點(diǎn)擊下就跳到C語(yǔ)言程序入口地址,之后再點(diǎn)擊下GO,程序就開(kāi)始跑起來(lái)。前面所述的這些步驟是理想情況下程序自身沒(méi)有發(fā)生錯(cuò)誤,當(dāng)然在調(diào)試過(guò)程中,還是有很多硬件上的問(wèn)題,一方面是有些開(kāi)發(fā)板可能用久了,用JTAG并口連接的時(shí)候接觸不良,很容易自動(dòng)掉線(xiàn),常出現(xiàn)未連接設(shè)備的的Error,還有一方面是跑程序過(guò)程常會(huì)出現(xiàn)兼容性的問(wèn)題,導(dǎo)致程序AXD調(diào)試時(shí)候會(huì)出現(xiàn)卡在某個(gè)部分一直進(jìn)入死循環(huán),這個(gè)后來(lái)是解決了,但是偶爾還是會(huì)出現(xiàn)這個(gè)BUG。

  通過(guò)這學(xué)期對(duì)嵌入式的學(xué)習(xí),我發(fā)現(xiàn)自己尚未掌握的知識(shí)點(diǎn)還是蠻多的,尤其是對(duì)μC/OS-II的移植方面,我只是理論上粗略了解,沒(méi)有經(jīng)過(guò)實(shí)驗(yàn)的操作。還有對(duì)存儲(chǔ)器加速模塊(MAM)這方面不夠了解,主要一方面當(dāng)初在做消息隊(duì)列采集實(shí)驗(yàn)(KeySem_SampdataQeue),這個(gè)模塊被代替掉,不需要使用它,所以后來(lái)也沒(méi)有去掌握相關(guān)知識(shí)點(diǎn)。對(duì)于任務(wù)就緒算法這部分,我只是上課的時(shí)候聽(tīng)“懂”了,課后自己再看完全懵了。對(duì)于CAN總線(xiàn)調(diào)試的部分,老師上課沒(méi)有講到這部分的介紹與應(yīng)用,但是后來(lái)通過(guò)自己對(duì)實(shí)驗(yàn)室?guī)熜謧兯龅恼n題初步了解,發(fā)現(xiàn)我自己有必要去弄懂它的構(gòu)造和原理。

  “看書(shū)不要希望一次就會(huì),一次就明白是什么意思,也不要死記硬背,看不明白也沒(méi)關(guān)系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就記住了,遇到的少的,忘記也就忘記了!币廊挥浀卯(dāng)初不懂怎么解決某個(gè)問(wèn)題的時(shí)候請(qǐng)教李碩師兄,師兄對(duì)我說(shuō)的這番話(huà)。自己在μC/OS-II這部分內(nèi)容掙扎了好久,現(xiàn)在想想,覺(jué)得當(dāng)初不應(yīng)該一上來(lái)就直接閱讀內(nèi)核源代碼,看了一些自己把頭撞破也想不明白的事,這樣直接正面打擊我學(xué)習(xí)嵌入式的積極性。學(xué)習(xí)啊,還是得要循序漸進(jìn)。如果你想學(xué)習(xí)嵌入式一定要有塊學(xué)習(xí)板?丛俣嗟囊曨l,看再多的書(shū),也不如自己動(dòng)手試一下,看著很簡(jiǎn)單的東西,做起來(lái)就可能遇到很多的問(wèn)題,遇到問(wèn)題找到原因,解決問(wèn)題,只有這樣才能學(xué)到東西。記得我第一次仿寫(xiě)led的驅(qū)動(dòng),想自己試一下,可是自己一試,就出了好多的問(wèn)題,那個(gè)led弄了我一天才把led燈點(diǎn)亮。所以不要眼高手低。

  對(duì)于初學(xué)者,有一點(diǎn)小建議,我們拿到一個(gè)開(kāi)發(fā)板,很興奮也很激動(dòng),想法自然也很多,想用開(kāi)發(fā)板實(shí)現(xiàn)自己的這個(gè)想法,實(shí)現(xiàn)那個(gè)想法,然后又不知道從何下手,然后就去論壇中發(fā)一個(gè)貼,最后等著別人去回復(fù),當(dāng)見(jiàn)沒(méi)人回復(fù)就開(kāi)始抱怨。這種做法是不可取的,有想法是好的,我們要實(shí)現(xiàn)自己的想法也是有前提的,首先,我們對(duì)這部分知識(shí)了解嗎?如果不了解就去google一下(最好別用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到問(wèn)題,再去發(fā)貼問(wèn),這樣也顯得咱們有水平。比如自己連串口是什么都不太清楚呢,就問(wèn)串口通信怎么做啊,就是人家把代碼給咱,咱也不明白是怎么回事啊。見(jiàn)多識(shí)廣,熟能生巧。多看代碼,要從代碼中讀出代碼的意思來(lái)。自己平時(shí)也要多寫(xiě)代碼,多練習(xí)(這一點(diǎn)我做的不好,寫(xiě)的少)。

  最后,我想說(shuō)的是嵌入式系統(tǒng)的學(xué)習(xí)和研究一旦我們達(dá)到了一定的水平后,其實(shí)很簡(jiǎn)單,就是如何去看CPU和相關(guān)芯片的Datasheet!

  嵌入式學(xué)習(xí)心得體會(huì) 篇8

  4月10號(hào),為期一個(gè)階段的Linux開(kāi)發(fā)基礎(chǔ)培訓(xùn)課程圓滿(mǎn)結(jié)束,回首這些天所留下的點(diǎn)點(diǎn)滴滴,感觸深深,學(xué)習(xí)上知識(shí)點(diǎn)的積累,靈活運(yùn)用的過(guò)程中感受到了Linux操作的快速高效性能,這也是我所追求的效率!

  當(dāng)初初涉培訓(xùn)課程的第一門(mén)課程時(shí),都說(shuō)Linux操作很繁瑣復(fù)雜,心里總有些顧忌,帶著種種不安與些許拼博的決心,開(kāi)始了自我提升階段的"充電",由徐海兵老師教授我們基礎(chǔ)課程的培訓(xùn),我們則像著小學(xué)生般認(rèn)真的記著筆記,仔細(xì)聽(tīng)著并學(xué)會(huì)如何去在實(shí)踐中運(yùn)用所學(xué)的Linux下的各種強(qiáng)大的命令集。

  在Unit 1中,徐老師詳細(xì)生動(dòng)的為我們講述了有關(guān)Linux的誕生、初成長(zhǎng)以及輝煌的發(fā)展至今,今后應(yīng)用范圍則愈來(lái)愈廣泛,講解了為L(zhǎng)inux這個(gè)偉大的OS做出巨大貢獻(xiàn)的一位位出色的、偉大的人物,他們那種學(xué)習(xí)鉆研的精神、鍥而不舍的信念、勇于把握住難得的機(jī)會(huì),從小處著手,踏踏實(shí)實(shí)的創(chuàng)造出了對(duì)人類(lèi)科技發(fā)展做出卓越貢獻(xiàn)的Linux(Unix)系統(tǒng),他們的種種,都值得我們?nèi)ド羁谭词、刻苦學(xué)習(xí)、傳承并永遠(yuǎn)發(fā)展下去。

  查看ip地址和重啟網(wǎng)絡(luò)服務(wù)是我學(xué)的第一個(gè)命令:ifconfig eth0、ifconfig eth0 IP地址、service network restart。了解到遠(yuǎn)程登錄軟件可用xmanager。secureCRT是我們常用的,安裝好后利用其登錄到了Red hat Linux,需要知道Linux主機(jī)的ip地址。徐老師為我們介紹了重要內(nèi)容:SHELL,即運(yùn)行程序的程序,如echo $SHELL可查看SHELL的.環(huán)境變量是csh還是bash。(學(xué)習(xí)心得 )指令pwd可查看當(dāng)前所在路徑,passwd:更改Linux下的密碼,僅限r(nóng)oot用戶(hù)有此權(quán)限,當(dāng)然我們是利用虛擬機(jī)VMware程序來(lái)運(yùn)行Linux OS的,懂得了如何設(shè)置虛擬機(jī)的網(wǎng)卡設(shè)置、暫停、恢復(fù)、全屏等。

  簡(jiǎn)單的學(xué)習(xí)后進(jìn)入U(xiǎn)nit 2,

  命令行的句法讓我懂得了用法規(guī)則,一系列的命令功能強(qiáng)大:date顯示當(dāng)前年月時(shí)間星期之類(lèi)的;more指令與less重要但不常用;cat用于查看短小的文件內(nèi)容,常用!mkdir命令用于在當(dāng)前目錄下創(chuàng)建新的目錄;ls顯示當(dāng)前目錄下所有文件;cd更改文件路徑,如cd 、cd .當(dāng)前目錄;rmdir刪除空文件夾;rm指令很強(qiáng)大,用于刪除空目錄及非空目錄下的指定或全部文件;man真男人,幫助手冊(cè);history指令用于顯示編寫(xiě)過(guò)的命令集,以history序號(hào)可顯示序號(hào)所指命令;echo回寫(xiě)命令,很重要,我需要繼續(xù)學(xué)習(xí);exit指從多重SHELL退出來(lái);Linux賬號(hào)下,可以增加用戶(hù)、刪除用戶(hù)、設(shè)置密碼:useradd、userdel、passwd。

  注:所有的用戶(hù)的家目錄都在/home下面,唯獨(dú)root的家是在/root.點(diǎn)文件都是些SHELL的腳本程序,也稱(chēng)隱藏文件;環(huán)境變量常見(jiàn)的有:HOME PATH PWD,懂得了絕對(duì)路徑與相對(duì)路徑的對(duì)比概念。

  最后進(jìn)入U(xiǎn)nit 3、

  文件與文件處理的學(xué)習(xí)中,知道了Linux下支持的六種文件類(lèi)型:普通文件、目錄、設(shè)備文件、命名管道、符號(hào)鏈接、socket;Linux下文件系統(tǒng)的組織:倒立的樹(shù)形結(jié)構(gòu):/ /bin /boot /dev /home /lib /proc等文件目錄,ls –l指令很好很強(qiáng)大,顯示文件類(lèi)型與權(quán)限、所有者、字節(jié)大小、時(shí)間及文件名;touch可創(chuàng)建空文件,復(fù)制文件用指令cp,可選-i、-r等;重命名文件使用mv [-i];du顯示當(dāng)前目錄所占空間大小;wc命令顯示列表中文件的行數(shù)、字?jǐn)?shù)、字符數(shù);追加:cat [文件列表] 》目標(biāo)文件;find指令與grep重要,暫未學(xué)習(xí),自己在實(shí)踐中學(xué)習(xí),文件訪(fǎng)問(wèn)權(quán)限有:r w x;chmod指令可修改訪(fǎng)問(wèn)權(quán)限,如chmod 777 -R文件名。

  輸入輸出重定向每個(gè)命令默認(rèn)打開(kāi)三個(gè)文件:標(biāo)準(zhǔn)輸入stdin,標(biāo)準(zhǔn)輸出stdout,標(biāo)準(zhǔn)錯(cuò)誤stderr,鍵盤(pán)為標(biāo)準(zhǔn)輸入,而控制臺(tái)則是標(biāo)準(zhǔn)輸出,文件描述符分別是0,1,2;最重要最常用的為輸出重定向>與錯(cuò)誤重定向2> ;echo添加的內(nèi)容>/ 》文件;Linux過(guò)濾器和管道:管道操作符:| ;即將某個(gè)命令的輸出與某個(gè)命令的標(biāo)準(zhǔn)輸入相連接,從而實(shí)現(xiàn)管道功能,例如ls –l |wc;管道和重定向操作符可同時(shí)用于一個(gè)命令行。

  嵌入式學(xué)習(xí)心得體會(huì) 篇9

  1 .基礎(chǔ)知識(shí)

  嵌入式開(kāi)發(fā)很大一部分靠C語(yǔ)言,尤其在底層驅(qū)動(dòng)等用的很多,當(dāng)然在應(yīng)用開(kāi)發(fā)還用到諸如C++等其他語(yǔ)言,但我想對(duì)于一個(gè)初學(xué)者有C基礎(chǔ)就足夠了,等到學(xué)到一定程度再去擴(kuò)展。所以C基礎(chǔ)是學(xué)嵌入式的前提。

  關(guān)于C語(yǔ)言需要知道基本的語(yǔ)法,什么是結(jié)構(gòu)體,什么是共用體,有什么區(qū)別,不用強(qiáng)記一些實(shí)際中用的很少的東西。C++要知道什么是類(lèi),怎么定義,繼承,接口,要深刻理解,當(dāng)然基本語(yǔ)法也是必不可少的。

  操作系統(tǒng)原理也需要基本理解和掌握的,我記得我上課的時(shí)候不以為然沒(méi)有認(rèn)真學(xué)習(xí),后來(lái)發(fā)現(xiàn)很多的東西都是在這個(gè)課上講到的。什么時(shí)間片啊,任務(wù)調(diào)度啊,都是在那里知道的。

  Linux基本命令的使用(vi編輯器必須會(huì)用,因?yàn)樵诮K端修改文件的時(shí)候只能用這個(gè)),我們現(xiàn)在很多的人都習(xí)慣用鼠標(biāo)了,很少用到命令,我學(xué)習(xí)嵌入Linux就強(qiáng)迫自己去改掉這個(gè)習(xí)慣了,Linux用命令操作一是效率高,二是功能非常強(qiáng)大,遠(yuǎn)非圖形界面能比的了的,其實(shí)我們用圖形界面的操作都要轉(zhuǎn)化為命令傳給硬件的。Linux文件系統(tǒng)的管理要清楚,哪個(gè)目錄存放是什么東西,有什么用,文件權(quán)限管理等。

  2.單片機(jī)知識(shí)的學(xué)習(xí)

  我覺(jué)得單片機(jī)、嵌入式等這一類(lèi)都有很大的相似性,知識(shí)功能不一樣,但工作的原理、控制原理都和大的相似。就我個(gè)人而言,能比較快的進(jìn)入嵌入式的學(xué)習(xí)與提高,很大一部分依賴(lài)于對(duì)單片機(jī)的原理有較深入的學(xué)習(xí)和理解,單片機(jī)比較簡(jiǎn)單,學(xué)習(xí)起來(lái)相對(duì)比較容易,所以我建議想學(xué)嵌入式的同學(xué),可以和我一樣從單片機(jī)入手,那樣不僅可以理解這些微處理器、微控制器的操作與控制原理,當(dāng)然還可以順便學(xué)學(xué)匯編語(yǔ)言,這對(duì)后面的嵌入式學(xué)習(xí)都有很大的幫助。

  看書(shū)不要希望一次就會(huì),一次就明白是什么意思,也不要死記硬背,看不明白也沒(méi)關(guān)系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就記住了,遇到的少的,忘記也就忘記了。還有,不要直接閱讀Linux內(nèi)核源代碼,看一些自己把頭撞破也想不明白的事,一開(kāi)始很打擊我的積極性,要循序漸進(jìn),剛開(kāi)始我就從學(xué)習(xí)做led開(kāi)始的,接著學(xué)習(xí)做個(gè)串口,慢慢的就開(kāi)始學(xué)著做硬件編解碼了。

  3.學(xué)習(xí)開(kāi)發(fā)板

  我在剛開(kāi)始學(xué)習(xí)嵌入式時(shí)就買(mǎi)了一塊學(xué)習(xí)板,現(xiàn)在的.開(kāi)發(fā)板不是很貴,給很我們初學(xué)者減輕了經(jīng)濟(jì)負(fù)擔(dān)?丛俣嗟囊曨l,看再多的書(shū),也不如自己動(dòng)手試一下,看著很簡(jiǎn)單的東西,做起來(lái)就可能遇到很多的問(wèn)題,遇到問(wèn)題找到原因,解決問(wèn)題,只有這樣才能學(xué)到東西,記得我第一次寫(xiě)led的驅(qū)動(dòng),想自己試一下,網(wǎng)上也有人寫(xiě)過(guò)相關(guān)的代碼,可是自己一試,就出了好多的問(wèn)題,那個(gè)led弄了我一天才把led燈點(diǎn)亮。所以不要眼高手低。

  4.不要好高騖遠(yuǎn),要腳踏實(shí)地

  我拿到開(kāi)發(fā)板時(shí),很興奮也很激動(dòng),想法自然也很多,想用開(kāi)發(fā)板實(shí)現(xiàn)自己的這個(gè)想法,實(shí)現(xiàn)那個(gè)想法,然后又不知道從何下手,然后就去論壇中發(fā)一個(gè)貼,“那個(gè)什么什么怎么實(shí)現(xiàn)啊,哪位大俠能詳細(xì)說(shuō)一下啊,跪求!!”,然后等著別人去回復(fù)。我覺(jué)得有想法是好的,我們要實(shí)現(xiàn)自己的想法也是有前提的,首先,我們對(duì)這部分知識(shí)了解嗎?如果不了解就去Google一下(最好別用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到問(wèn)題,再去發(fā)貼問(wèn),這樣也顯得我們有一點(diǎn)點(diǎn)水平啦。比如自己連串口是什么都不太清楚呢,就問(wèn)串口通信怎么做啊,就是人家把代碼給我們,我們也不明白是怎么回事啊。

  5多看代碼,多寫(xiě)代碼

  見(jiàn)多識(shí)廣,熟能生巧。多看代碼,要從代碼中讀出代碼的意思來(lái)。自己平時(shí)也要多寫(xiě)代碼,多練習(xí)(這一點(diǎn)我做的不好,寫(xiě)的少)。

  個(gè)人覺(jué)得這是最重要的一種做法。這東西沒(méi)自己親手做,程序沒(méi)親手寫(xiě),沒(méi)有進(jìn)行調(diào)試等,都是很難學(xué)到東西,因?yàn)楹芏鄸|西感覺(jué)看的都懂,其實(shí)真正做起來(lái)就什么都不會(huì)了。因此買(mǎi)塊板來(lái)自己做,這樣才能真正將所學(xué)的應(yīng)用到實(shí)際中去。而且這樣做印象才能深刻,死記硬背原理及規(guī)則不但不可行還會(huì)拖垮你的學(xué)習(xí)興趣,自然學(xué)不下。

  總之,我覺(jué)得,基礎(chǔ)知識(shí)很重要,但是動(dòng)手做更重要!

  嵌入式學(xué)習(xí)心得體會(huì) 篇10

  工作一年了,喜愛(ài)嵌入式這個(gè)好玩,令人羨慕的行業(yè),不止是工資待遇哦。

  4月,又是有許多面臨畢業(yè)、找工作的大學(xué)生來(lái)到,面對(duì)如此激烈的競(jìng)爭(zhēng),如果有一技之長(zhǎng)旁身,那就是你挑公司了。

  非常有感慨,上一年我也在大學(xué)城中參加千里馬的面試,跟我同學(xué)都是拿著一袋子的簡(jiǎn)歷去排隊(duì)。

  或者網(wǎng)上招聘海投簡(jiǎn)歷。

  現(xiàn)在就職的公司算不上高大上,還能算的過(guò)去?偨Y(jié)一下學(xué)習(xí)心得,也算對(duì)自己學(xué)習(xí)有個(gè)交代吧。

  1、如何做好嵌入式Linux學(xué)習(xí)前的準(zhǔn)備?

  要成為一名合格的嵌入式Linux工程師,就需要系統(tǒng)的學(xué)習(xí)軟、硬件相關(guān)領(lǐng)域內(nèi)的知識(shí)。大學(xué)里面學(xué)的基礎(chǔ)還行,可以繼續(xù)自學(xué),我是自學(xué)韋東山Linux視頻,重點(diǎn)是有書(shū),有視頻,有代碼。如果基礎(chǔ)太差是個(gè)小白,還是建議去花幾萬(wàn)培訓(xùn)吧。

  2、學(xué)習(xí)嵌入式Linux需要補(bǔ)習(xí)哪些基礎(chǔ)課程?

  嵌入式Linux工程師的學(xué)習(xí)需要具備一定的C語(yǔ)言基礎(chǔ),因此面對(duì)許多朋友只是在大一或者大二學(xué)習(xí)過(guò)C(還不一定認(rèn)真學(xué)了,呵呵!),之后基本就不再用過(guò)的情況,建議大家在學(xué)習(xí)之前先復(fù)習(xí)一下C語(yǔ)言基礎(chǔ)這塊。要提醒大家的是,復(fù)習(xí)時(shí)不能只關(guān)注基本語(yǔ)法,對(duì)于常用的數(shù)據(jù)存儲(chǔ)及處理方式,例如:數(shù)組、結(jié)構(gòu)體等也要關(guān)注,有條件的話(huà)一定在機(jī)器上親自敲敲代碼、分析理解一下具體案例代碼編寫(xiě)的思路,讓自己慢慢進(jìn)入一名嵌入式開(kāi)發(fā)人員的狀態(tài)。

  3、嵌入式Linux開(kāi)發(fā)跟普通軟件開(kāi)發(fā)在學(xué)習(xí)方法上有什么不同?

  要成為一名成功的'嵌入式軟件開(kāi)發(fā)人員,程序的設(shè)計(jì)能力是首要技能,這一點(diǎn)與普通的軟件開(kāi)發(fā)人員的要求是一樣的。但是作為“軟硬兼施”的嵌入式開(kāi)發(fā),則要求大家不僅要了解較底層軟件的工作過(guò)程和工作原理(例如操作系統(tǒng)級(jí)、驅(qū)動(dòng)程序級(jí)軟件),可以看一下韋東山Linux視頻第1期(基于S3C2440錄制): ARM實(shí)驗(yàn),u-boot,文件系統(tǒng),初級(jí)驅(qū)動(dòng)。

  嵌入式學(xué)習(xí)心得體會(huì) 篇11

  從實(shí)習(xí)到現(xiàn)在搞嵌入式開(kāi)發(fā)快一年了,驀然回首好像一年過(guò)得挺快,挺順利的。細(xì)細(xì)品味,發(fā)現(xiàn)這一年還是有很多值得回憶和總結(jié)的東西。至少這一年看書(shū)挺多,大概二十幾本,當(dāng)然和那些一年看一百多本書(shū)的人沒(méi)法比,但是我已經(jīng)超越了自己。這是我大學(xué)畢業(yè)的第一年,初次走上社會(huì),很想一展身手,可是.....其實(shí)也不用可是了,和很多朋友一樣碰了很多釘子,現(xiàn)在我和老板的關(guān)系就挺一般的,只是我性格還不錯(cuò)。呵呵~~,做優(yōu)秀員工看來(lái)還得慢慢學(xué)。

  今年最大的收獲就是做了一個(gè)半項(xiàng)目,是在uClinux下面跑的。半個(gè)是SNMP-Agent的實(shí)現(xiàn),因?yàn)槲胰サ臅r(shí)候snmpd已經(jīng)跑起來(lái)了,我只是實(shí)現(xiàn)部分管理功能;一個(gè)是基于Web的管理系統(tǒng),使公司的主打產(chǎn)品微波通信設(shè)備上網(wǎng)。這個(gè)項(xiàng)目是我一手策劃,一手實(shí)現(xiàn)(界面設(shè)計(jì)是一位女同事,很優(yōu)秀的程序員),從中學(xué)到的東西也最多,感情不可謂不深。

  SNMP即簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議,其實(shí)一點(diǎn)都不簡(jiǎn)單。在我所知的網(wǎng)絡(luò)協(xié)議里面,它僅僅比OSI的CMIP簡(jiǎn)單一點(diǎn),而CMIP直到現(xiàn)在還沒(méi)得到廣泛應(yīng)用。我們能夠?qū)崿F(xiàn)SNMP-Agent不能不感謝CarnegieMellon大學(xué)免費(fèi)發(fā)布的ucd-snmp軟件包。它使得開(kāi)發(fā)人員專(zhuān)注于實(shí)現(xiàn)對(duì)特定設(shè)備的管理功能。

  我在項(xiàng)目中的工作主要是擴(kuò)展MIB,實(shí)現(xiàn)相應(yīng)的管理功能以及網(wǎng)絡(luò)功能的擴(kuò)展。我們公司的MIB庫(kù)比較龐大,但是程序運(yùn)行還是挺快的。因?yàn)閡cd-snmp軟件包中大量使用回調(diào)函數(shù),而且它將MIB樹(shù)以二叉樹(shù)形式表示,但是每個(gè)結(jié)點(diǎn)不是單個(gè)的MIB結(jié)點(diǎn),而是一個(gè)表,包括了多個(gè)結(jié)點(diǎn);卣{(diào)函數(shù)和兩層表示法的使用是操作快速的主要因素。

  基于Web的管理系統(tǒng)我原本是打算在設(shè)備外實(shí)現(xiàn)SNMP-Manager的功能,因?yàn)樵O(shè)備中已經(jīng)嵌入了Agent。這樣管理人員可以在世界各地通過(guò)WWW登錄公司的管理平臺(tái),實(shí)現(xiàn)對(duì)所有設(shè)備的管理。但是老板想在設(shè)備中嵌入一個(gè)管理系統(tǒng),可以通過(guò)www管理單個(gè)設(shè)備就行。呵呵~~,這樣工作又輕松了一點(diǎn),就按老板的意思做了。

  我用的http服務(wù)器是BOA,它比現(xiàn)在市場(chǎng)占有率第一的Apache速度要快。目前還只支持CGI,我就用C寫(xiě)CGI程序,古老了點(diǎn)。但是在開(kāi)發(fā)過(guò)程中感覺(jué)用CGI比用現(xiàn)在流行的ASP,JSP要爽,可以隨心所欲,哈哈~~,而且這也是用CC++語(yǔ)言的優(yōu)點(diǎn)。CGI程序很簡(jiǎn)單,它的輸入就是標(biāo)準(zhǔn)輸入,它的輸出就是標(biāo)準(zhǔn)輸出。BOA在uClinux上面跑總要出點(diǎn)問(wèn)題的,出問(wèn)題好,出了問(wèn)題我就能找到問(wèn)題,一來(lái)一往,我對(duì)socket編程,I/O多路等編程技術(shù)了解也就越來(lái)越深了。

  在Linux下面搞了一年,不愛(ài)上Linux都難,個(gè)人認(rèn)為軟件開(kāi)發(fā)人員在Linux下面進(jìn)步是最快的。那么多優(yōu)秀的開(kāi)源代碼供我們研究,猶如每天與世界上最優(yōu)秀的程序員打交道,進(jìn)步于不經(jīng)意間。哈哈~~。正所謂“熟讀唐詩(shī)三百首,不會(huì)作詩(shī)也會(huì)吟”。GCC編譯器的優(yōu)秀不用多說(shuō),我覺(jué)得寫(xiě)Makefile也是很件開(kāi)心的事。不推薦程序員搞開(kāi)發(fā)都用IDE,隔靴捎癢很不爽。但是Linux缺點(diǎn)也很明顯,聽(tīng)歌、看碟、玩游戲不如Windows。恰巧公司的電腦沒(méi)音箱,干脆我就懶得用Windows了。

  用Linux而不講開(kāi)源是不道德的,我們程序員享受著開(kāi)源的好處,自然也要為開(kāi)源做點(diǎn)貢獻(xiàn)。我開(kāi)發(fā)的所有軟件都開(kāi)源,但是我也有個(gè)“怪癖”:不喜歡別人在我代碼未完成的時(shí)候問(wèn)我要源代碼。

  做嵌入式開(kāi)發(fā)一年,稍稍有點(diǎn)心得。總結(jié)了一下,有以下幾點(diǎn)經(jīng)驗(yàn):

  1.不要玩Linux。這一點(diǎn)主要是對(duì)像我這樣在Linux下面開(kāi)發(fā)的程序員來(lái)說(shuō)的。因?yàn)長(zhǎng)inux對(duì)程序員的吸引力很大,但它下面可以直接用的軟件還是比較少。于是我們總想到網(wǎng)上找一些開(kāi)源的軟件裝到我們的機(jī)器上,從無(wú)到有讓人很有成就感的,呵呵~~。要是裝上的不是最新版本的還不滿(mǎn)意,于是又開(kāi)始忙升級(jí)。在Windows下這個(gè)過(guò)程大概沒(méi)什么意思,全都next了。在Linux下就不一樣了,直接拿過(guò)來(lái)的源代碼很多編譯都不能通過(guò),最新版本更是這樣,得我們自己改,而且往往時(shí)改了又改。這個(gè)過(guò)程很花時(shí)間,我就在這方面浪費(fèi)了很多時(shí)間,本來(lái)有個(gè)月工作比較輕松,打算閱讀Linuxkernel代碼(也想成高手,呵呵~~),當(dāng)時(shí)我機(jī)子上沒(méi)有好的閱讀工具,于是先弄了個(gè)sourcenavigator,覺(jué)得不夠又裝了個(gè)openoffice,然后又找來(lái)了幾份不同版本的kernel代碼。結(jié)果一個(gè)月過(guò)去了,一個(gè)文件夾還沒(méi)看完。后面工作緊了,只能把看kernel當(dāng)休息,直到現(xiàn)在才粗略看完fs,mm兩個(gè)文件夾。

  2.不要滿(mǎn)足于C語(yǔ)言。C語(yǔ)言很優(yōu)秀,也很簡(jiǎn)單。程序設(shè)計(jì)能力不等同于用C語(yǔ)言能力。嵌入式開(kāi)發(fā)程序員要有扎實(shí)的數(shù)據(jù)結(jié)構(gòu)基礎(chǔ),要積極的學(xué)習(xí)操作系統(tǒng),積極的學(xué)習(xí)網(wǎng)絡(luò)編程,要是想進(jìn)行驅(qū)動(dòng)開(kāi)發(fā)還需要積極的學(xué)習(xí)硬件知識(shí)。

  3.了解幾種芯片體系結(jié)構(gòu)。嵌入式不像PC領(lǐng)域x86一統(tǒng)天下,在嵌入式領(lǐng)域ARM、MIPS、M68k等各顯神通。例如ARM7是沒(méi)有MMU的',uClinux在它上面跑是最合適了,但是沒(méi)有MMU我們也必須實(shí)現(xiàn)簡(jiǎn)單的MM功能,同時(shí)沒(méi)有MMU一些常用庫(kù)函數(shù)是不能實(shí)現(xiàn)的,這些嵌入式開(kāi)發(fā)程序員必須要了解。

  4.編寫(xiě)無(wú)錯(cuò)的C程序。關(guān)于這一點(diǎn)建議閱讀SteveMaguire的《WritingCleanCode》。我對(duì)MS沒(méi)有好感,但這不影響我對(duì)MS里面大牛們的尊敬。嵌入式的調(diào)試是非常麻煩的,很耗時(shí)。雖然有g(shù)dbserver這類(lèi)工具,但是你用的開(kāi)發(fā)工具鏈中不一定包括它,而且就算用上了調(diào)試仍然是很花時(shí)間的。所以要是不想天天通宵調(diào)程序呢,那就要時(shí)時(shí)以編寫(xiě)無(wú)錯(cuò)程序?yàn)槟繕?biāo)。

  5.了解一點(diǎn)編譯知識(shí)。這對(duì)編寫(xiě)高性能程序很有幫助。

  6.學(xué)習(xí)設(shè)計(jì)模式。設(shè)計(jì)模式一般在高級(jí)語(yǔ)言中討論較多,但是好東西應(yīng)該大家一起分享。學(xué)習(xí)設(shè)計(jì)模式對(duì)提高我們的設(shè)計(jì)能力非常有幫助。用C語(yǔ)言也可以實(shí)現(xiàn)一些模式思想,例如我們常用的回調(diào)函數(shù),就可看作是Command模式的C語(yǔ)言版本。

  7.要有前瞻性,要積極學(xué)習(xí)新技術(shù)。目前的嵌入式開(kāi)發(fā)一般都是將PC應(yīng)用加以剪裁,移植到嵌入式系統(tǒng)中。但是隨著通信技術(shù)的發(fā)展,IPv6的廣泛應(yīng)用,設(shè)備上網(wǎng)是大勢(shì)所趨。許多新技術(shù)有可能在嵌入式領(lǐng)域率先應(yīng)用。把握住這個(gè)趨勢(shì),嵌入式程序員大有可為。

  現(xiàn)在很多公司招程序員要求有嵌入式開(kāi)發(fā)經(jīng)驗(yàn),其實(shí)本質(zhì)上嵌入式開(kāi)發(fā)和我們平常的開(kāi)發(fā)沒(méi)什么不同,只是要求嚴(yán)格一點(diǎn)。我寫(xiě)下這些希望對(duì)學(xué)習(xí)嵌入式開(kāi)發(fā)的朋友們有所幫助。

  嵌入式ARM軟件開(kāi)發(fā)設(shè)計(jì)流程

  一.項(xiàng)目總體任務(wù)描述:

  設(shè)計(jì)GPS/北斗接收顯示終端平臺(tái),為數(shù)據(jù)的接收(NEMA格式),處理,圖形顯示等后端應(yīng)用軟件提供平臺(tái)支持。

  二.項(xiàng)目功能要求:

  1.以PXA270微處理器配合LCD模塊開(kāi)發(fā)出獨(dú)立的接收顯示終端硬件平臺(tái);

  2.在該硬件平臺(tái)架構(gòu)LINUX,

  3.WINCE操作系統(tǒng)

  三.嵌入式軟件開(kāi)發(fā)上手知識(shí)儲(chǔ)備和開(kāi)發(fā)流程

  (注:由于我們開(kāi)發(fā)時(shí)買(mǎi)了一個(gè)樣機(jī),這樣可以節(jié)省我們項(xiàng)目開(kāi)發(fā)中的許多時(shí)間和降低了開(kāi)發(fā)的復(fù)雜度,我們?cè)诳促Y料的時(shí)候,作為學(xué)習(xí)時(shí),可以認(rèn)真仔細(xì)的看每個(gè)細(xì)節(jié),但作為開(kāi)發(fā)時(shí),有時(shí)會(huì)碰到一些無(wú)關(guān)緊要的細(xì)節(jié)問(wèn)題,這時(shí)可以采用黑匣子辦法,只要會(huì)用就行了,我的理解是做項(xiàng)目時(shí)并不一定需要知道每個(gè)具體細(xì)節(jié),要學(xué)會(huì)分清“系統(tǒng)學(xué)習(xí)”和“實(shí)踐應(yīng)用”的范疇。比方說(shuō),操作系統(tǒng),我們只需要拿別人的一個(gè)樣板來(lái)修改達(dá)到自己需要的要求就可以,而沒(méi)必要自己去編操作系統(tǒng),一般來(lái)講,一個(gè)人自己去編寫(xiě)那東西是不大現(xiàn)實(shí)的。所以以下我都是從實(shí)用的角度出發(fā),總節(jié)我這段時(shí)間ARM的學(xué)習(xí)體會(huì),從而讓對(duì)嵌入式不了解的新手如何迅速掌握開(kāi)發(fā)中的重點(diǎn)以及達(dá)到開(kāi)發(fā)的能力?傊业睦斫馐歉汩_(kāi)發(fā)就是大量廣泛看好的資料,一份好的資料可以節(jié)省你開(kāi)發(fā)中的好多時(shí)間。不必等資料都看完再動(dòng)手,那樣時(shí)間不夠,可以一邊動(dòng)手一邊學(xué)習(xí)資料,需要什么方面的知識(shí),不懂的當(dāng)即查下看懂即可。)

  嵌入式軟件開(kāi)發(fā)整體流程:

  Uboot啟動(dòng)代碼的編寫(xiě)->各模塊驅(qū)動(dòng)程序的開(kāi)發(fā)->操作系統(tǒng)的移植->應(yīng)用程序的開(kāi)發(fā)

  以下是上手的一些基本知識(shí)儲(chǔ)備:

  1)匯編語(yǔ)言的學(xué)習(xí)可參見(jiàn)文件夾“我的ARM”->“ARM匯編指令”集,不需要都掌握,只要知道有哪些指令功能,用的時(shí)候查閱就可以了。這部分的學(xué)習(xí)對(duì)用匯編編寫(xiě)的“uboot”啟動(dòng)代碼的理解比較重要,啟動(dòng)代碼的詳細(xì)介紹可參見(jiàn)“StudyARMboot”這本書(shū),里面講的非常詳細(xì)。(注:如沒(méi)特殊說(shuō)明,資料指的是都是“我的ARM”文件夾里的資料)

  2)C語(yǔ)言只需我們本科學(xué)的就夠用了,大致過(guò)一遍應(yīng)用時(shí)去查就可以了。沒(méi)必要再深入系統(tǒng)的學(xué)習(xí)。搞Wince操作系統(tǒng)移植的同學(xué)有必要把C++快速學(xué)一遍,掌握C++的三大特性(抽象性,繼承和派生,多態(tài)),因?yàn)椴僮飨到y(tǒng)Wince的程序代碼都是按C++的編程格式組織起來(lái)的,如果不懂C++的那些特性,比較難看懂程序。這方面的資料請(qǐng)看見(jiàn)文件夾“VC++學(xué)習(xí)”,里面資料相當(dāng)詳細(xì)。

  3)各模塊驅(qū)動(dòng)程序的開(kāi)發(fā)。這方面首先要熟讀芯片資料,要理解軟件程序是怎樣控制硬件的。(簡(jiǎn)單的理解就是往寄存器里寫(xiě)不同的值以驅(qū)使硬件實(shí)現(xiàn)不同的功能。)剛開(kāi)始不必把芯片中的每個(gè)模塊都搞透,只需熟悉一些常用的模塊即可,比方說(shuō)串口,I/O口,IIC總線(xiàn),LCD驅(qū)動(dòng)控制和顯示等等,這些跟我們當(dāng)前的項(xiàng)目都是緊密聯(lián)系的?锤鱾(gè)模塊芯片資料的時(shí)候可以對(duì)照示例程序結(jié)合起來(lái)看,首先要理解這個(gè)模塊的工作原理,然后看程序中每個(gè)寄存器所設(shè)的參數(shù),邊看邊思考這些程序如果我用在其他的地方該如何修改。其他的模塊的學(xué)習(xí)都是觸類(lèi)旁通的,關(guān)鍵是思路,可以把本科我們所做的單片機(jī),DSP等實(shí)驗(yàn)聯(lián)想結(jié)合起來(lái)。資料可參見(jiàn)文件夾“44b0實(shí)驗(yàn)資料”和“實(shí)驗(yàn)指導(dǎo)書(shū)”。

  4)操作系統(tǒng)的移植。主要是理解操作系統(tǒng)的一些基本概念(如對(duì)信號(hào)量,鎖,進(jìn)程同步,進(jìn)程間的通信,臨界資源使用,驅(qū)動(dòng)管理,文件存儲(chǔ)等等),然后知道這些概念在程序中是如何反映出它們的功能的。我們以UCOS-II這個(gè)操作系統(tǒng)作為理解學(xué)習(xí),具體資料參見(jiàn)文件夾“uCOSII-en”,里面資料講得非常詳細(xì)。項(xiàng)目中要求的是用Wince和Linux兩套操作系統(tǒng),由于我們買(mǎi)了成套開(kāi)發(fā)板,代碼都有,我們要做的工作就是對(duì)它們進(jìn)行修改和移植,所以只有當(dāng)你了解了操作系統(tǒng)的一些基本概念,你才可能對(duì)它們進(jìn)行修改。Linux開(kāi)發(fā)難度要大些,不僅操作復(fù)雜些,而且開(kāi)發(fā)用的命令行的方式,這方面的資料可參考文件夾“l(fā)inux學(xué)習(xí)”和“ucLinux核心(中文手冊(cè))”,由于嵌入式大部分用的是嵌入式linux操作系統(tǒng),從學(xué)習(xí)的角度來(lái)講,這方面要多下功夫。

  至于應(yīng)用程序的開(kāi)發(fā),那就要看具體的應(yīng)用了,這個(gè)難度不是很大。

  嵌入式學(xué)習(xí)心得體會(huì) 篇12

  一、嵌入式系統(tǒng)的概念

  著重理解“嵌入”的概念

  主要從三個(gè)方面上來(lái)理解。

  1、從硬件上,將基于CPU的處圍器件,整合到CPU芯片內(nèi)部,比如早期基于X86體系結(jié)構(gòu)下的計(jì)算機(jī),CPU只是有運(yùn)算器和累加器的功能,一切芯片要造外部橋路來(lái)擴(kuò)展實(shí)現(xiàn),象串口之類(lèi)的都是靠外部的16C550/2的串口控制器芯片實(shí)現(xiàn),而目前的這種串口控制器芯片早已集成到CPU內(nèi)部,還有PC機(jī)有顯卡,而多數(shù)嵌入式處理器都帶有LCD控制器,但其種意義上就相當(dāng)于顯卡。比較高端的ARM類(lèi)Intel Xscale架構(gòu)下的IXP網(wǎng)絡(luò)處理器CPU內(nèi)部集成PCI控制器(可配成支持4個(gè)PCI從設(shè)備或配成自身為CPI從設(shè)備);還集成3個(gè)NPE網(wǎng)絡(luò)處理器引擎,其中兩個(gè)對(duì)應(yīng)于兩個(gè)MAC地址,可用于網(wǎng)關(guān)交換用,而另外一個(gè)NPE網(wǎng)絡(luò)處理器引擎支持DSL,只要外面再加個(gè)PHY芯片即可以實(shí)現(xiàn)DSL上網(wǎng)功能。IXP系列最高主頻可以達(dá)到1.8G,支持2G內(nèi)存,1G×10或10G×1的以太網(wǎng)口或Febre channel的光通道。IXP系列應(yīng)該是目標(biāo)基于ARM體系統(tǒng)結(jié)構(gòu)下由intel進(jìn)行整合后成Xscale內(nèi)核的最高的處理器了。

  2、從軟件上前,就是在定制操作系統(tǒng)內(nèi)核里將應(yīng)用一并選入,編譯后將內(nèi)核下載到ROM中。而在定制操作系統(tǒng)內(nèi)核時(shí)所選擇的應(yīng)用程序組件就是完成了軟件的“嵌入”,比如WinCE在內(nèi)核定制時(shí),會(huì)有相應(yīng)選擇,其中就是wordpad,PDF,MediaPlay等等選擇,如果我們選擇了,在CE啟動(dòng)后,就可以在界面中找到這些東西,如果是以前PC上將的windows操作系統(tǒng),多半的東西都需要我們得新再裝。

  3、把軟件內(nèi)核或應(yīng)用文件系統(tǒng)等東西燒到嵌入式系統(tǒng)硬件平臺(tái)中的ROM中就實(shí)現(xiàn)了一個(gè)真正的“嵌入”。

  以上的定義是我在6、7年前給嵌入式系統(tǒng)下自話(huà)側(cè)重于理解型的定義,書(shū)上的定義也有很多,但在這個(gè)領(lǐng)域范圍內(nèi),誰(shuí)都不敢說(shuō)自己的定義是十分確切的,包括那些專(zhuān)家學(xué)者們,歷為畢竟嵌入式系統(tǒng)是計(jì)算機(jī)范疇下的一門(mén)綜合性學(xué)科

  二、嵌入式系統(tǒng)的分層與專(zhuān)業(yè)的分類(lèi)。

  嵌入式系統(tǒng)分為4層,硬件層、驅(qū)動(dòng)層、操作系統(tǒng)層和應(yīng)用層。

  1、硬件層,是整個(gè)嵌入式系統(tǒng)的根本,如果現(xiàn)在單片機(jī)及接口這塊很熟悉,并且能用C和匯編語(yǔ)言來(lái)編程的話(huà),從嵌入式系統(tǒng)的硬件層走起來(lái)相對(duì)容易,硬件層也是驅(qū)動(dòng)層的基礎(chǔ),一個(gè)優(yōu)秀的驅(qū)動(dòng)工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設(shè)計(jì)的,同時(shí)還要對(duì)操作系統(tǒng)內(nèi)核及其調(diào)度性相當(dāng)?shù)氖煜さ摹5布脚_(tái)是基礎(chǔ),增值還要靠軟件。

  硬件層比較適合于,電子、通信、自動(dòng)化、機(jī)電一體、信息工程類(lèi)專(zhuān)業(yè)的人來(lái)搞,需要掌握的專(zhuān)業(yè)基礎(chǔ)知識(shí)有,單片機(jī)原理及接口技術(shù)、微機(jī)原理及接口技術(shù)、C語(yǔ)言。

  2、驅(qū)動(dòng)層,這部分比較難,驅(qū)動(dòng)工程師不僅要能看懂電路圖還要能對(duì)操作系統(tǒng)內(nèi)核十分的精通,以便其所寫(xiě)的驅(qū)動(dòng)程序在系統(tǒng)調(diào)用時(shí),不會(huì)獨(dú)占操作系統(tǒng)時(shí)間片,而導(dǎo)至其它任務(wù)不能動(dòng)行,不懂操作系統(tǒng)內(nèi)核架構(gòu)和實(shí)時(shí)調(diào)度性,沒(méi)有良好的驅(qū)動(dòng)編寫(xiě)風(fēng)格,按大多數(shù)書(shū)上所說(shuō)添加的驅(qū)動(dòng)的方式,很多人都能做到,但可能連個(gè)初級(jí)的驅(qū)動(dòng)工程師的水平都達(dá)不到,這樣所寫(xiě)的驅(qū)動(dòng)在應(yīng)用調(diào)用時(shí)就如同windows下我們打開(kāi)一個(gè)程序運(yùn)行后,再打開(kāi)一個(gè)程序時(shí),要不就是中斷以前的程序,要不就是等上一會(huì)才能運(yùn)行后來(lái)打開(kāi)的程序。想做個(gè)好的驅(qū)動(dòng)人員沒(méi)有三、四年功底,操作系統(tǒng)內(nèi)核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統(tǒng)四層中可是最高的。

  驅(qū)動(dòng)層比較適合于電子、通信、自動(dòng)化、機(jī)電一體、信息工程類(lèi)專(zhuān)業(yè)尤其是計(jì)算機(jī)偏體系結(jié)構(gòu)類(lèi)專(zhuān)業(yè)的人來(lái)搞,除硬件層所具備的基礎(chǔ)學(xué)科外,還要對(duì)數(shù)據(jù)結(jié)構(gòu)與算法、操作系統(tǒng)原理、編譯原理都要十分精通了解。

  3、操作系統(tǒng)層,對(duì)于操作系統(tǒng)層目前可能只能說(shuō)是簡(jiǎn)單的移植,而很少有人來(lái)自已寫(xiě)操作系統(tǒng),或者寫(xiě)出缺胳膊少腿的操作系統(tǒng)來(lái),這部分工作大都由驅(qū)動(dòng)工程師來(lái)完成。操作系統(tǒng)是負(fù)責(zé)系統(tǒng)任務(wù)的調(diào)試、磁盤(pán)和文件的管理,而嵌入式系統(tǒng)的實(shí)時(shí)性十分重要。據(jù)說(shuō),XP操作系統(tǒng)是微軟投入300人用兩年時(shí)間才搞定的,總時(shí)工時(shí)是600人年,中科院軟件所自己的女?huà)zHopen操作系統(tǒng)估計(jì)也得花遇幾百人年才能搞定。因此這部分工作相對(duì)來(lái)講沒(méi)有太大意義。

  4、應(yīng)用層,相對(duì)來(lái)講較為容易的,如果會(huì)在windows下如何進(jìn)行編程接口函數(shù)調(diào)用,到操作系統(tǒng)下只是編譯和開(kāi)發(fā)環(huán)境有相應(yīng)的變化而已。如果涉及Java方面的編程也是如此的。嵌入式系統(tǒng)中涉及算法的由專(zhuān)業(yè)算法的人來(lái)處理的,不必歸結(jié)到嵌入式系統(tǒng)范疇內(nèi)。但如果涉及嵌入式系統(tǒng)下面嵌入式數(shù)據(jù)庫(kù)、基于嵌入式系統(tǒng)的網(wǎng)絡(luò)編程和基于某此應(yīng)用層面的協(xié)議應(yīng)用開(kāi)發(fā)(比如基于SIP、H.323、Astrisk)方面又較為復(fù)雜,并且有難度了。

  三、目標(biāo)與定位。

  先有目標(biāo),再去定位。

  學(xué)ARM,從硬件上講,一方面就是學(xué)習(xí)接口電路設(shè)計(jì),另一方面就是學(xué)習(xí)匯編和C語(yǔ)言的板級(jí)編程。如果從軟件上講,就是要學(xué)習(xí)基于ARM處理器的操作系統(tǒng)層面的驅(qū)動(dòng)、移植了。這些對(duì)于初學(xué)都來(lái)說(shuō)必須明確,要么從硬件著手開(kāi)始學(xué),要么從操作系統(tǒng)的熟悉到應(yīng)用開(kāi)始學(xué),但不管學(xué)什么,只要不是純的操作系統(tǒng)級(jí)以上基于API的應(yīng)用層的編程,硬件的寄存器類(lèi)的東西還是要能看懂的,基于板級(jí)的匯編和C編程還是要會(huì)的。因此針對(duì)于嵌入式系統(tǒng)的硬件層和驅(qū)動(dòng)程的人,ARM的接口電路設(shè)計(jì)、ARM的C語(yǔ)言和匯編語(yǔ)言編程及調(diào)試開(kāi)發(fā)環(huán)境還是需要掌握的。

  因此對(duì)于初學(xué)者必然要把握住方向,自己的目標(biāo)是什么,自己要在那一層面上走。然后再著手學(xué)習(xí)較好,與ARM相關(guān)的嵌入式系統(tǒng)的較為實(shí)際的兩個(gè)層面硬件層和驅(qū)動(dòng)層,不管學(xué)好了那一層都會(huì)很有前途的。

  如果想從嵌入式系統(tǒng)的應(yīng)用層面的走的話(huà),可能與ARM及其它體系相去較遠(yuǎn),要著重研究基嵌入式操作系統(tǒng)的環(huán)境應(yīng)用與相應(yīng)開(kāi)發(fā)工具鏈,比如WinCe操作系統(tǒng)下的EVC應(yīng)用開(kāi)發(fā)(與windows下的VC相類(lèi)似),如果想再有突破就往某些音視頻類(lèi)的協(xié)議上靠,比如VOIP領(lǐng)域的基于SIP或H。323協(xié)議的應(yīng)用層開(kāi)發(fā),或是基于嵌入式網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的開(kāi)發(fā)等等。

  對(duì)于初學(xué)者來(lái)講,要量力而行,不要認(rèn)為驅(qū)動(dòng)層工資高就把它當(dāng)成方向了,要結(jié)合自身特點(diǎn),嵌入式系統(tǒng)四個(gè)層面上那個(gè)層面上來(lái)講都是有高人存在,當(dāng)然高人也對(duì)應(yīng)的高工資,我是做硬件層的,以前每月工資中個(gè)人所得稅要被扣上近3千大元,當(dāng)然我一方面充當(dāng)工程師的角色,一方面充當(dāng)主管及人物的角色,兩個(gè)職位我一個(gè)人干,但上班時(shí)間就那些。硬件這方面上可能與我PK的人很少了,才讓我拿到那么多的工資。

  四、開(kāi)發(fā)系統(tǒng)選擇。

  很多ARM初學(xué)者都希望有一套自己能用的系統(tǒng),但他們住住會(huì)產(chǎn)生一種錯(cuò)誤認(rèn)識(shí)就是認(rèn)為處理器版本越高、性能越高越好,就象很多人認(rèn)為ARM9與ARM7好,我想對(duì)于初學(xué)者在此方面以此入門(mén)還應(yīng)該理智,開(kāi)發(fā)系統(tǒng)的選擇最終要看自己往嵌入式系統(tǒng)的那個(gè)方向上走,是做驅(qū)動(dòng)開(kāi)發(fā)還是應(yīng)用,還是做嵌入式系統(tǒng)硬件層設(shè)計(jì)與板級(jí)測(cè)試。如果想從操作系統(tǒng)層面或應(yīng)用層面上走,不管是驅(qū)動(dòng)還是應(yīng)用,那當(dāng)然處理器性能越高越好了,但這個(gè)東西自學(xué),有十分大的困難,不是幾個(gè)月或半年或是一年二年能搞定的事。

  在某種意義上請(qǐng),ARM7與9的差別就是在某些功能指令集上豐富了些,主頻提高一些而已,就比如286和386。對(duì)于用戶(hù)來(lái)講可能覺(jué)查不到什么,只能是感覺(jué)速度有些快而已。

  ARM7比較適合于那些想從硬件層面上走的人,因?yàn)锳RM7系列處理器內(nèi)部帶MMU的很少,而且比較好控制,就比如S3C44B0來(lái)講,可以很容易將Cache關(guān)了,而且內(nèi)部接口寄存器很容易看明白,各種接口對(duì)于用硬件程序控制或AXD單步命令行指令都可以控制起來(lái),基于51單片機(jī)的思想很容易能把他搞懂,就當(dāng)成個(gè)32位的單片機(jī),從而消除很多51工程師想轉(zhuǎn)為嵌入式系統(tǒng)硬件ARM開(kāi)發(fā)工程師的困惑,從而不會(huì)被業(yè)界某此不是真正懂嵌入式爛公司帶到操作系統(tǒng)層面上去,讓他們望而失畏,讓業(yè)界更加缺少這方面的人才。

  而嵌入式系統(tǒng)不管硬件設(shè)計(jì)還是軟件驅(qū)動(dòng)方面都是十分注重接口這部分的,選擇平臺(tái)還要考察一個(gè)處理器的外部資源,你接觸外部資源越多,越熟悉他們那你以后就業(yè)成功的機(jī)率就越高,這就是招聘時(shí)所說(shuō)的有無(wú)“相關(guān)技能”,因?yàn)橐粋(gè)人不可能在短短幾年內(nèi)把所有的處理器都接觸一遍,而招聘單位所用的處理器就可能是我們完全沒(méi)有見(jiàn)過(guò)的,就拿臺(tái)灣數(shù)十家小公司(市價(jià)幾千萬(wàn))的公司生產(chǎn)的ARM類(lèi)處理器,也很好用,但這些東西通用性太差,用這些處理器的公司就只能招有相關(guān)工作經(jīng)驗(yàn)的人了,那什么是相關(guān)工作經(jīng)驗(yàn),在硬件上講的是外圍接口設(shè)計(jì),在軟件上講是操作系統(tǒng)方面相關(guān)接口驅(qū)動(dòng)及應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。我從業(yè)近十年,20xx年ARM出現(xiàn),我一天始做ARM7,然后直接跑到了Xscale(這個(gè)板本在ARM10—11之間),一做就是五年,招人面試都不下數(shù)百人,在這些方面還是深有體會(huì)的。

  我個(gè)人認(rèn)為三星的S3C44b0對(duì)初學(xué)者來(lái)說(shuō)比較合適,為什么這么說(shuō)哪?因?yàn)榻涌谫Y源比較豐富,技術(shù)成熟,資料較多,應(yīng)該十分適合于初學(xué)者,有問(wèn)題可能很容易找人幫且解決,因?yàn)榇蠖鄶?shù)人都很熟悉,就如同51類(lèi)的單片機(jī),有N多位專(zhuān)家級(jí)的人物可以給你幫忙,相關(guān)問(wèn)題得以很快解答,所然業(yè)界認(rèn)為這款A(yù)RM都做用得爛了,但對(duì)于初學(xué)者來(lái),就卻是件好事。

  因此開(kāi)發(fā)系統(tǒng)的選擇,要看自己的未來(lái)從來(lái)目標(biāo)方向、要看開(kāi)發(fā)板接口資源、還要看業(yè)界的通用性。

  五、如何看待培訓(xùn)。

  首先說(shuō)說(shuō)我自己,我目前從業(yè)近十年,與國(guó)內(nèi)嵌入式系統(tǒng)行業(yè)共同起步,一直站在嵌入式系統(tǒng)行業(yè)前沿,設(shè)計(jì)過(guò)多款高端嵌入式系統(tǒng)平臺(tái)產(chǎn)品并為眾多公司提供過(guò)解決方案,離職前為從事VOIP的美資公司設(shè)計(jì)IP—PBX,歷任項(xiàng)目經(jīng)理、項(xiàng)目主管、技術(shù)總監(jiān)、部門(mén)經(jīng)理,積累眾多人脈,并集多年經(jīng)驗(yàn)所得,考慮到學(xué)生就業(yè)與公司招人的不相匹配,公司想招人招不到,而學(xué)生和剛畢業(yè)的工程師想找份工作也不太容易,于此力創(chuàng)知天行科技有限公司,開(kāi)展嵌入式系統(tǒng)教育培訓(xùn)。

  因一線(xiàn)的科研人員和一線(xiàn)的教師不相接觸,導(dǎo)至國(guó)內(nèi)嵌入式人才缺乏,國(guó)外高校的技術(shù)超前于業(yè)界公司,而國(guó)內(nèi)情況是業(yè)界公司方面的嵌入式系統(tǒng)技術(shù)要遠(yuǎn)遠(yuǎn)領(lǐng)先于高校。為架構(gòu)業(yè)界與高校溝通的橋梁,把先進(jìn)技能帶給高校學(xué)子,為學(xué)生在就業(yè)競(jìng)爭(zhēng)中打造一張王牌,并為業(yè)界工程師快速提升實(shí)現(xiàn)自我創(chuàng)造機(jī)遇,我就這樣辭去了外企年薪20多萬(wàn)的職位,做嵌入式系統(tǒng)方面的培訓(xùn)了。

  對(duì)于培訓(xùn)來(lái)講,是花錢(qián)來(lái)買(mǎi)時(shí)間,很多工程師都喜歡自己學(xué),認(rèn)為培訓(xùn)不值,這也是有可能的,純?yōu)橘嶅X(qián)的培訓(xùn)當(dāng)然不會(huì)太有價(jià)值,但對(duì)于實(shí)力型的培訓(xùn)他們可能就虧大了,有這樣一筆帳不知他們算過(guò)沒(méi)有,如果一個(gè)一周的培訓(xùn),能帶給他們自學(xué)兩年后才能掌握的知識(shí),在培訓(xùn)完后他們用三個(gè)月到半年時(shí)間消化培訓(xùn)內(nèi)容,這樣他會(huì)省約至少一年半的時(shí)間來(lái)學(xué)其它的或重新站在另一個(gè)高度上工作,那么他將最遲一年后會(huì)拿到他兩年后水平所對(duì)應(yīng)的工資,就是在工資與水平對(duì)應(yīng)的`關(guān)系上比同批人縮短一年,每月按最少1千計(jì),再減去培訓(xùn)費(fèi)用至少多1.0萬(wàn),同時(shí)也省了一年時(shí)間,不管是休閑也好,再繼續(xù)提高也好,總之是跑到了隊(duì)伍的前面了。

  另一層面上講,對(duì)于新人的培訓(xùn)相當(dāng)于他們?yōu)樽约禾崆百I(mǎi)了份失業(yè)保險(xiǎn),有師傅會(huì)帶領(lǐng)他們?nèi)氲溃医衲晔罴贂r(shí)班里最年輕的一個(gè)學(xué)生是大二的,今年才上大三,這學(xué)期才剛學(xué)單片機(jī),但現(xiàn)在ARM方面的編程工作已經(jīng)搞得有聲有色了,再過(guò)一年多畢業(yè),他還會(huì)失業(yè)嗎?再者通過(guò)培訓(xùn),你可以知道很多業(yè)界不為常人所知的事,同時(shí)也為自己找了個(gè)師傅,就比如說(shuō),兩個(gè)工程師分別用S3C2410和PXA255來(lái)做手持設(shè)備,同樣兩人都工作四年,再出去找工作,兩人工資可能最多可相差一倍,為什么?這就是業(yè)界不為常人所知的規(guī)則,2410屬于民品,被業(yè)界用爛了,做產(chǎn)品時(shí)成本特敏感,當(dāng)然也對(duì)人才成本敏感了,PXA255是intel的東西,一個(gè)255 CPU能買(mǎi)三個(gè)2410,一直被業(yè)界定義為貴族產(chǎn)品,用的公司都是大公司或?yàn)檐姺椒⻊?wù)的公司,不會(huì)在乎成本,只要把東西做好,一切都好說(shuō),但這方面做的人也少啊,因?yàn)殚_(kāi)發(fā)系統(tǒng)貴啊。

  對(duì)于說(shuō)為自已找了個(gè)好師傅,我想是這樣的,因?yàn)橥?jí)工程師間存在著某此潛在的競(jìng)爭(zhēng)關(guān)系,有很多人不愿意把自己知道的東西教給別人,這意味著他將要失業(yè),就是所說(shuō)的教會(huì)徒弟,餓死師傅,但對(duì)于我們這些人就不存在這樣的關(guān)系了,我是在嵌入式系統(tǒng)平臺(tái)設(shè)計(jì)上走到了一定程序,目前在國(guó)內(nèi)這塊的技術(shù)上已經(jīng)是自己很難再突破自己,因此很多東西我對(duì)大家都是OPEN的,就比如說(shuō)下面那部分關(guān)于接口設(shè)計(jì)中所提到的時(shí)序接口東西,我要是不講,卻使是高級(jí)硬件工程師我想也幾乎只有10%的人能知道吧。

  六、成為高級(jí)嵌入式系統(tǒng)硬件工程師要具備的技能。

  首先我聲明,我是基于嵌入式系統(tǒng)平臺(tái)級(jí)設(shè)計(jì)的,硬件這個(gè)方向我相對(duì)來(lái)講比較有發(fā)言權(quán),如果是其它方面所要具備的基本技能還要和我們培訓(xùn)中心其它專(zhuān)業(yè)級(jí)講師溝通。他們的方面上我只能說(shuō)是知道些,但不是太多,初級(jí)的問(wèn)題也可以問(wèn)我。

  對(duì)于硬件來(lái)講有幾個(gè)方向,就單純信號(hào)來(lái)分為數(shù)字和模擬,模擬比較難搞,一般需要很長(zhǎng)的經(jīng)驗(yàn)積累,單單一個(gè)阻值或容值的精度不夠就可能使信號(hào)偏差很大。因此年輕人搞的較少,隨著技術(shù)的發(fā)展,出現(xiàn)了模擬電路數(shù)字化,比如手機(jī)的Modem射頻模塊,都采用成熟的套片,而當(dāng)年國(guó)際上只有兩家公司有此技術(shù),自我感覺(jué)模擬功能不太強(qiáng)的人,不太適合搞這個(gè),如果真能搞定到手機(jī)的射頻模塊,只要達(dá)到一般程度可能月薪都在15K以上。

  另一類(lèi)就是數(shù)字部分了,在大方向上又可分為51/ARM的單片機(jī)類(lèi),DSP類(lèi),F(xiàn)PGA類(lèi),國(guó)內(nèi)FPGA的工程師大多是在IC設(shè)計(jì)公司從事IP核的前端驗(yàn)證,這部分不搞到門(mén)級(jí),前途不太明朗,即使做個(gè)IC前端驗(yàn)證工程師,也要搞上幾年才能勝任。DSP硬件接口比較定型,如果不向驅(qū)動(dòng)或是算法上靠攏,前途也不會(huì)太大。而ARM單片機(jī)類(lèi)的內(nèi)容就較多,業(yè)界產(chǎn)品占用量大,應(yīng)用人群廣,因此就業(yè)空間極大,而硬件設(shè)計(jì)最體現(xiàn)水平和水準(zhǔn)的就是接口設(shè)計(jì)這塊,這是各個(gè)高級(jí)硬件工程師相互PK,判定水平高低的依據(jù)。而接口設(shè)計(jì)這塊最關(guān)鍵的是看時(shí)序,而不是簡(jiǎn)單的連接,比如PXA255處理器I2C要求速度在100Kbps,如果把一個(gè)I2C外圍器件,最高還達(dá)不到100kbps的與它相接,必然要導(dǎo)致設(shè)計(jì)的失敗。這樣的情況有很多,比如51單片機(jī)可以在總線(xiàn)接LCD,但為什么這種LCD就不能掛在ARM的總線(xiàn)上,還有ARM7總線(xiàn)上可以外接個(gè)Winband的SD卡控制器,但為什么這種控制器接不到ARM9或是Xscale處理器上,這些都是問(wèn)題。因此接口并不是一種簡(jiǎn)單的連接,要看時(shí)序,要看參數(shù)。一個(gè)優(yōu)秀的硬件工程師應(yīng)該能夠在沒(méi)有參考方案的前提下設(shè)計(jì)出一個(gè)在成本和性能上更加優(yōu)秀的產(chǎn)品,靠現(xiàn)有的方案,也要進(jìn)行適當(dāng)?shù)目尚行圆眉簦皇呛鷣y的來(lái),我遇到一個(gè)工程師把方案中的5V變1。8V的DC芯片,直接更換成LDO,有時(shí)就會(huì)把CPU燒上幾個(gè)。前幾天還有人希望我?guī)兔Π阉麄円郧盎赑XA255平臺(tái)的手持GPS設(shè)備做下程序優(yōu)化,我問(wèn)了一下情況,地圖是存在SD卡中的,而SD卡與PXA255的MMC控制器間采用的SPI接口,因此導(dǎo)致地圖讀取速度十分的慢,這種情況是設(shè)計(jì)中嚴(yán)重的缺陷,而不是程序的問(wèn)題,因此我提了幾條建議,讓他們更新試下再說(shuō)。因此想成為一個(gè)優(yōu)秀的工程師,需要對(duì)系統(tǒng)整體性的把握和對(duì)已有電路的理解,換句話(huà)說(shuō),給你一套電路圖你終究能看明白多少,看不明白80%以上的話(huà),說(shuō)明你離優(yōu)秀的工程師還差得遠(yuǎn)哪。其次是電路的調(diào)試能力和審圖能力,但最最基本的能力還是原理圖設(shè)計(jì)PCB繪制,邏輯設(shè)計(jì)這塊。這是指的硬件設(shè)計(jì)工程師,從上面的硬件設(shè)計(jì)工程師中還可以分出ECAD工程師,就是專(zhuān)業(yè)的畫(huà)PCB板的工程師,和EMC設(shè)計(jì)工程師,幫人家解決EMC的問(wèn)題。硬件工程師再往上就是板級(jí)測(cè)試工程師,就是C語(yǔ)功底很好的硬件工程師,在電路板調(diào)試過(guò)程中能通過(guò)自已編寫(xiě)的測(cè)試程序?qū)τ布δ苓M(jìn)行驗(yàn)證。然后再交給基于操作系統(tǒng)級(jí)的驅(qū)動(dòng)開(kāi)發(fā)人員。

  總之,硬件的內(nèi)容很多很雜,硬件那方面練成了都會(huì)成為一個(gè)高手,我時(shí)常會(huì)給人家做下方案評(píng)估,很多高級(jí)硬件工程師設(shè)計(jì)的東西,經(jīng)常被我一句話(huà)否定,因此工程師做到我這種地步,也會(huì)得罪些人,但硬件的確會(huì)有很多不為人知的東西,讓很多高級(jí)硬件工程師也摸不到頭腦。

  那么高級(jí)硬件件工程師技術(shù)技能都要具備那些東西哪,首先要掌握EDA設(shè)計(jì)的輔助工具類(lèi)如ProtelORCADPowperPCBMaplux2ISE、VDHL語(yǔ)言,要能用到這些工具畫(huà)圖畫(huà)板做邏輯設(shè)計(jì),再有就是接口設(shè)計(jì)審圖能力,再者就是調(diào)試能力,如果能走到總體方案設(shè)計(jì)這塊,那就基本上快成為資深工程師了。

  嵌入式學(xué)習(xí)心得體會(huì) 篇13

  現(xiàn)在的嵌入式工作是越來(lái)越盛行,而這方面的人員卻是越來(lái)越少,所以學(xué)習(xí)嵌入式是解決找工作難的一個(gè)比較有效的途徑。因?yàn)槲议_(kāi)始踏上學(xué)習(xí)嵌入式的道路。聽(tīng)別人說(shuō)嵌入式ARM相比于其他的嵌入式FPGA,DSP等都要難點(diǎn),而且學(xué)習(xí)的內(nèi)容量也是比較多。因此在學(xué)習(xí)嵌入式ARM的初級(jí)階段是隨處碰壁,每天都在遭受打擊,例如在移植bootloader時(shí),雖然按照網(wǎng)上的一些方法移植成功了,但只知道復(fù)制和粘貼要修改的代碼,卻不知道為何要這么做。我覺(jué)得這樣的學(xué)習(xí)態(tài)度是不對(duì)的,學(xué)習(xí)不是只求結(jié)果,而是要注重解決問(wèn)題的過(guò)程!為了學(xué)習(xí)嵌入式Linux我也在網(wǎng)上查閱了很多的書(shū)籍,還下載了很多的視頻,但都不是很讓人如意。它們大多是講的很淺顯,都是泛泛之談,沒(méi)有講到最核心的'東西。到了最后是浪費(fèi)了我們學(xué)習(xí)者的時(shí)間和精力。

  之后看見(jiàn)師兄有一本韋東山老師編輯的《嵌入式Linux應(yīng)用開(kāi)發(fā)完全手冊(cè)》,我就借了幾天看了看,發(fā)現(xiàn)韋老師對(duì)嵌入式Linux的極其深度的分析,讓我一下子找到了能帶我入門(mén)的一本書(shū)!并且還有配套的視頻教學(xué)更是講解地非常到位,將教材和視頻相互配合的學(xué)習(xí),更加大大的提供了學(xué)習(xí)效率,尤其是視頻上講解的內(nèi)容,都是韋東山老師自己親自授教,完全沒(méi)有按照教材上的內(nèi)容一一讀出來(lái),而是根據(jù)內(nèi)核代碼分析的教我如何編寫(xiě)自己的代碼,尤其是在Linux內(nèi)核中占比例最重的一部分—內(nèi)核驅(qū)動(dòng)時(shí),更是讓我知道用戶(hù)是如何通過(guò)應(yīng)用程序來(lái)訪(fǎng)問(wèn)底層硬件的,解決了我長(zhǎng)久以來(lái)都無(wú)法攻克的難題!!例如在編寫(xiě)LCD驅(qū)動(dòng)時(shí),我對(duì)于書(shū)上LCD硬件工作原理不是理解的很透徹,通過(guò)觀看韋東山老師的第二期視頻中的“LCD驅(qū)動(dòng)程序”,老師就像是站在我面前,在屏幕上用電子筆細(xì)細(xì)給我講解,寫(xiě)出更加形象的LCD的硬件驅(qū)動(dòng),重要的是在整個(gè)視頻中老師都沒(méi)有按著教材念,而是一個(gè)教學(xué)經(jīng)驗(yàn)豐富的老師在給同學(xué)們授課一樣。

  編寫(xiě)代碼也是親自編寫(xiě),沒(méi)有完全復(fù)制別人的代碼,編寫(xiě)的同時(shí)不斷的說(shuō)明每條語(yǔ)句的作用、編程思想和設(shè)計(jì)程序的經(jīng)驗(yàn),還有閱讀大量代碼的技巧!在視頻中老師教會(huì)了許多其他書(shū)本中沒(méi)有提及到的重要知識(shí)。

  嵌入式學(xué)習(xí)心得體會(huì) 篇14

  嵌入式系統(tǒng)用在一些特定專(zhuān)用設(shè)備上,通常這些設(shè)備的硬件資源(如處理器、存儲(chǔ)器等)非常有限,并且對(duì)成本很敏感,有時(shí)對(duì)實(shí)時(shí)響應(yīng)要求很高等。特別是隨著消費(fèi)家電的智能化,嵌入式更顯重要。像我們平常常見(jiàn)到的手機(jī)、PDA、電子字典、可視電話(huà)、VCD/DVD/MP3 Player、數(shù)字相機(jī)(DC)、數(shù)字?jǐn)z像機(jī)(DV)、U-Disk、機(jī)頂盒(Set Top Box)、高清電視(HDTV)、游戲機(jī)、智能玩具、交換機(jī)、路由器、數(shù)控設(shè)備或儀表、汽車(chē)電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航空設(shè)備等等都是典型的嵌入式系統(tǒng)。

  看到了嵌入式系統(tǒng)的范圍,你也應(yīng)該知道嵌入式系統(tǒng)工程師是做什么的,就是開(kāi)發(fā)上面的那些電子產(chǎn)品的工程師。

  關(guān)于如何學(xué)習(xí)嵌入式?

  學(xué)習(xí)嵌入式,該學(xué)習(xí)什么基本的知識(shí)呢?

  首先C語(yǔ)言,這個(gè)是毋庸置疑的,不管是做嵌入式軟件還是硬件開(kāi)發(fā)的人員,對(duì)C語(yǔ)言的掌握這個(gè)是必需的,特別是對(duì)于以后致力于嵌入式軟件開(kāi)發(fā)的人,現(xiàn)在絕大部分都是用C語(yǔ)言,你說(shuō)不掌握它可以嗎?至于如何學(xué)習(xí)C語(yǔ)言,我想這些基礎(chǔ)的知識(shí)每個(gè)人都有自己的方法,關(guān)鍵要去學(xué)習(xí),看書(shū)也好,網(wǎng)上找些視頻看也好。很多人會(huì)問(wèn),C語(yǔ)言要學(xué)到怎么樣,我覺(jué)得這沒(méi)有標(biāo)準(zhǔn)的答案。我想至少你在明白了一些基礎(chǔ)的概念后,就該寫(xiě)代碼了,動(dòng)手才是最重要的,當(dāng)你動(dòng)手了,遇到問(wèn)題了,再反過(guò)來(lái)學(xué)習(xí),反過(guò)來(lái)查查課本,那時(shí)的收獲就不是你死看書(shū)能得到的。

  其次,應(yīng)該對(duì)操作系統(tǒng)有所了解,這對(duì)你對(duì)硬件和軟件的理解,絕對(duì)有很大的幫助。應(yīng)該把系統(tǒng)的管理理解一下,比如進(jìn)程、線(xiàn)程,系統(tǒng)如何來(lái)分配資源的,系統(tǒng)如何來(lái)管理硬件的,當(dāng)然,不是看書(shū)就能把這些理解透,如果不是一時(shí)能理解,沒(méi)關(guān)系,多看看,結(jié)合以后的項(xiàng)目經(jīng)驗(yàn),會(huì)有更好的理解的。

  還有應(yīng)該學(xué)習(xí)嵌入式系統(tǒng),如linux或者wince下的編程,這些對(duì)以后做應(yīng)用的編程很有幫助,當(dāng)然,如果做手機(jī)的話(huà),那可以學(xué)習(xí)MTK、塞班、Android等操作系統(tǒng),Android是以后發(fā)展的趨勢(shì),現(xiàn)在很熱門(mén),Android也是基于linux系統(tǒng)封裝的,所以建議先學(xué)習(xí)下linux。

  還有,應(yīng)該學(xué)習(xí)下單片機(jī)或者ARM或者M(jìn)IPS,很多人說(shuō)我沒(méi)有單片機(jī)的經(jīng)驗(yàn),直接學(xué)ARM可以嗎?我覺(jué)得那完全沒(méi)有問(wèn)題的,當(dāng)然如果你學(xué)習(xí)過(guò)單片機(jī),那最好不過(guò)了,以后學(xué)習(xí)ARM就更簡(jiǎn)單了。

  最后如果你把以上的知識(shí)都有所了解后,就該去閱讀閱讀一些優(yōu)秀的代碼,比如結(jié)合arm芯片手冊(cè)學(xué)習(xí)去學(xué)習(xí)下UBOOT的源代碼,了解下最小的系統(tǒng)開(kāi)發(fā),那對(duì)你整個(gè)嵌入式開(kāi)發(fā)的非常有幫助的,可以的話(huà),還可以學(xué)習(xí)下linux的源代碼,當(dāng)然如果你直接閱讀2.6的代碼,我想你會(huì)很痛苦的,可以先看看linux 代碼早期的版本,比如0.12 的代碼等等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。

  至于上面說(shuō)的`知識(shí)如何學(xué)習(xí)呢?每個(gè)人都應(yīng)該去找自己最好的方法,所謂的最好的方法就是最適合自己的方法。很多人看不進(jìn)書(shū),那就去看看視頻吧。視頻也應(yīng)該要選擇,不是隨便看看,應(yīng)該要有所選擇,有所挑選。我也是這樣一路走過(guò)來(lái)的,不過(guò)我這人比較懶,我看不進(jìn)書(shū),一看書(shū)我就想睡覺(jué),所以這幾年我都是看視頻過(guò)來(lái)的,現(xiàn)在也算學(xué)有所成,但也不敢說(shuō)是高手吧。

  我在網(wǎng)上看到,有人把自己學(xué)習(xí)嵌入式的視頻總結(jié)出來(lái),嵌入式系列實(shí)踐和視頻教程,大家可以看看網(wǎng)址我仔細(xì)看了覺(jué)得很不錯(cuò),我本來(lái)也想整理下,可是奈何我自己的電腦硬盤(pán)空間才40G,沒(méi)有辦法,時(shí)間也是不夠,心有余而力不足,我不是在幫他做廣告,雖然要花錢(qián),我覺(jué)得算不錯(cuò),至少自己不用去整理和花大量的時(shí)間去找資源,當(dāng)然如果網(wǎng)上有的下,你網(wǎng)速和硬盤(pán)都?jí)虻脑?huà),我建議大家自己網(wǎng)上下也好。想想我自己該開(kāi)始學(xué)的時(shí)候,那時(shí)視頻資源少之又少,我買(mǎi)書(shū)和買(mǎi)視頻至少花了幾千塊,但是我覺(jué)得那很值,至少我現(xiàn)在賺回來(lái)了很多知識(shí)。

  最后,希望這篇文章對(duì)熱愛(ài)嵌入式,想致力于嵌入式開(kāi)發(fā)的朋友有所幫助。送給大家一句簡(jiǎn)單而又樸素的話(huà),堅(jiān)持就是勝利,貴在堅(jiān)持,也可以看看如何堅(jiān)持嵌入式學(xué)習(xí)!

【嵌入式學(xué)習(xí)心得體會(huì)】相關(guān)文章:

嵌入式學(xué)習(xí)心得體會(huì)07-29

嵌入式學(xué)習(xí)心得體會(huì)04-27

嵌入式學(xué)習(xí)心得體會(huì)(精選8篇)03-22

嵌入式學(xué)習(xí)心得體會(huì)8篇05-07

嵌入式開(kāi)發(fā)學(xué)習(xí)心得04-25

嵌入式學(xué)習(xí)心得體會(huì)(合集7篇)12-13

嵌入式學(xué)習(xí)心得體會(huì)(通用14篇)04-21

嵌入式心得體會(huì)04-14

嵌入式培訓(xùn)心得體會(huì)08-31