嵌入式學習心得體會(通用13篇)
某些事情讓我們心里有了一些心得后,常常可以將它們寫成一篇心得體會,如此就可以提升我們寫作能力了。那么好的心得體會是什么樣的呢?以下是小編收集整理的嵌入式學習心得體會,歡迎閱讀,希望大家能夠喜歡。
嵌入式學習心得體會 1
首先,我們學習的課本是嵌入式系統應用教程。我學習的體會是這樣的:開始時,由于是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什么意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。
在嵌入式的學習過程中,讓我了解了什么是嵌入式系統。它就是以應用為中心,以計算機技術為基礎,軟硬件可定制,適用于不同應用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統、用戶應用程序四個部分組成,用于實現對其他設備的控制、監視或管理功能。嵌入式系統已經應用于科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智能家電、GPS等均是嵌入式系統的典型代表。
一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要操作系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以后的學習充滿了信心。
其次就是安裝好了之后,老師就更深一步的教我們應用了。在這是老師首先交給我們的是一些簡單的命令應用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。
在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。
在對于這部分的學習中,讓我知道了命令對于嵌入式的.重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際應用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由于目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令窗口而沒有圖形界面,對目標機的所有操作都通過命令來實現。
還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設置等的操作和應用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間文件的傳輸、無磁盤網絡的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網絡文件系統功能。
從以上的內容之中,并不難感受到我們的學習過程是由淺入深的,這對于我們的學習也有了較好的幫助。
當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用哦!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。
嵌入式學習心得體會 2
研究嵌入式系統已經有快兩年的時間了。很慶幸自己當初選擇了嵌入式系統作為自己的研究和職業方向,可以說它是一種催化劑,讓我自身的修養和研究能力都有了很大的提高。
在嵌入式系統的大門前,我只能算是剛剛看到這個大門的臺階,但這段小小的距離讓我受益頗多,現將其中心得奉獻出來,歡迎高手前輩們指正,以供剛接觸的新人參考。
在寫之前,想先寫一句話,千萬不要以為你是天才,所謂天才即勝別人N倍的人,如果你真認為你是天才,請以天才的標準來要求自己,將自己付出和別人的比例以N:1來進行。
(1)學習與生活心態
很多朋友都是在剛步入大學校門開始接觸計算機或者其他。大學是一個很讓人迷茫頹廢的地方,可能你在高中躊躇滿志,但在大學的管理機制下卻心態漸糜。能夠在大學(大一)里找到自己人生之志的同學有多少?目標要明確,不要得過且過,不要追逐熱門的東西。
不管在什么時候,心里都要有自己的信念和理想,不要被其他東西左右了自己。要從興趣和競爭出發,因為這才是你產生動力源的地方。學東西時,要讓自己先喜歡上它,要學會享受學習它的時間,喜歡喬XXX的都知道,喬老爺子最常說的一句就是要享受比賽的時間。
因為只有你喜歡上了它,享受了它,才不會被它所產生的壓力壓倒自己,不要產生一種厭惡的心理。而且心態要調整,不要一味的蠻學,死學,在沒有什么興趣學的時候可以先玩幾天,在回過頭來,或者用其他的方式來轉換。要抱著一種十年方能磨一劍的心理,扎扎實實從基礎開始,不要為高速開發的一些現象所迷惑,那些都只是軟件的功勞。
我個人認為搞編程,英語和數學很重要,大家一定要時時的抓,至于怎么抓那就是另外一回事了,當然其他的知識也要汲取,可以多接觸點天文,地理,人文方面的東西來補充自己。轉換的生活方式。要學會生活,在人的一生中,都會遇到一些很不開心的事,或者大大小小的意外,孫子兵法里面一句大意就是說,戰場上要會將劣勢轉成優勢,即最大的劣勢很可能就是你的優勢所在。
一個打擊你可以把他變為前進的動力,不必為了一點挫折和捶胸頓足,不必為了一點小事爭吵不休。空閑的時候可以躺下來看看天,你就會明白自強不息,厚德載物之理。(看到一些為了失戀或者其他而墮落的人真的很難受和可惜)。
要給人以幫助。別人有困難時或者一些舉手之勞在自己解決范圍內的盡力幫之,這對自己不會損失什么,相反在對方心里能夠樹立你的形象和增加好感。記住,給人之恩時也是給你自己鋪路,這個世界不是靠你一個人可改變的。
(2)編程語言的選擇語言的爭論。
很多初學擇,老是在學習何種語言上舉棋不定,試問,中國牌子有幾個不被罵的,試問,世界上哪部影片沒人說他壞話的?術業有專攻,各司其職,每個語言的出現肯定都有自己價值和領域的范圍,不同的只是價值和領域的高級和大小。
就像高,矮,胖,瘦組成一個“型”。但是技術是進步的,這個進步也是在舊的基礎上。放心,技術再飛躍也不會今天奔I,明天扣肉的迅速,在學習的.同時也要時時關注整個語言界的走勢(貌似哪個偉人說的與時俱進),保持一種同步曲線的前進。語言能干什么?能問這句話,很欣慰。
表明你是從基礎學起才會問出這樣的話來。但換而言之你一開始對這門語言調查的信息不足。廟算者勝,對自己身邊的事物了解是非常重要的,這也能說明說你的教材或者教導你的人不夠充分。如果是我對新手交流,我會花足時間讓他明白這門語言是什么,能干什么,整個體系等等。
這樣在學的時候,對同一條語句上的理解你可能跟別人就不一樣了,因為你知道這門語言的體系架構,你可以從更多的特性角度去挖掘使用它。提高自己對語言閱讀能力。如何快速的進步?可以告訴你沒有一步登天的辦法,但是也可以告訴你如何讓你快速掌握你所學的技術。多讀他人代碼,多領悟他人思維,多給自己出難題,多幾種方法來解問題,多將語言的思想和身邊的事物聯系起來。想想你是怎么掌握普通話的,方法就不具體說了。
編程的思維。計算機是充滿誘惑的東西,很多人都說熱愛計算機,那只是它的表面,你熱愛的只是他的一種擴展性的東西。能學計算機我很高興,因為計算機從某種意義上來說將空間的距離給消除掉了。這里沒有流血,沒有犧牲。你可以以一種藝術家的思維來塑造它,可以以偵探的邏輯思維來解決它,可以以一種戰爭狂人的思維來摧毀它。
你可以將你的這種思維體現在代碼和整個布局里,不要驚異別人代碼思維的異風,你也有自己的思維風格,你也可以,你也可以用自己代碼讓別人驚異。記住你學東西時更多的要體會他的思維,比如數學,微積分,離散,無數的定理,你學完以后可能永遠都用不到,但是你可能有這種感覺,在你碰到某一問題時,這一問題的性質和你學到的東西很類似,但是中間就是差了一點東西,對了,這就是它思維上的一種運用,一種抽象,一種轉換。
嵌入式學習心得體會 3
4月10號,為期一個階段的Linux開發基礎培訓課程圓滿結束,回首這些天所留下的點點滴滴,感觸深深,學習上知識點的積累,靈活運用的過程中感受到了Linux操作的快速高效性能,這也是我所追求的效率!
當初初涉培訓課程的第一門課程時,都說Linux操作很繁瑣復雜,心里總有些顧忌,帶著種種不安與些許拼博的決心,開始了自我提升階段的"充電",由徐海兵老師教授我們基礎課程的培訓,我們則像著小學生般認真的記著筆記,仔細聽著并學會如何去在實踐中運用所學的Linux下的各種強大的命令集。
在Unit 1中,徐老師詳細生動的為我們講述了有關Linux的誕生、初成長以及輝煌的發展至今,今后應用范圍則愈來愈廣泛,講解了為Linux這個偉大的OS做出巨大貢獻的一位位出色的、偉大的人物,他們那種學習鉆研的精神、鍥而不舍的信念、勇于把握住難得的機會,從小處著手,踏踏實實的創造出了對人類科技發展做出卓越貢獻的Linux(Unix)系統,他們的種種,都值得我們去深刻反省、刻苦學習、傳承并永遠發展下去。
查看ip地址和重啟網絡服務是我學的第一個命令:ifconfig eth0、ifconfig eth0 IP地址、service network restart。了解到遠程登錄軟件可用xmanager。secureCRT是我們常用的',安裝好后利用其登錄到了Red hat Linux,需要知道Linux主機的ip地址。徐老師為我們介紹了重要內容:SHELL,即運行程序的程序,如echo $SHELL可查看SHELL的環境變量是csh還是bash。(學習心得 )指令pwd可查看當前所在路徑,passwd:更改Linux下的密碼,僅限root用戶有此權限,當然我們是利用虛擬機VMware程序來運行Linux OS的,懂得了如何設置虛擬機的網卡設置、暫停、恢復、全屏等。
簡單的學習后進入Unit 2,命令行的句法讓我懂得了用法規則,一系列的命令功能強大:date顯示當前年月時間星期之類的;more指令與less重要但不常用;cat用于查看短小的文件內容,常用!mkdir命令用于在當前目錄下創建新的目錄;ls顯示當前目錄下所有文件;cd更改文件路徑,如cd 、cd .當前目錄;rmdir刪除空文件夾;rm指令很強大,用于刪除空目錄及非空目錄下的指定或全部文件;man真男人,幫助手冊;history指令用于顯示編寫過的命令集,以history序號可顯示序號所指命令;echo回寫命令,很重要,我需要繼續學習;exit指從多重SHELL退出來;Linux賬號下,可以增加用戶、刪除用戶、設置密碼:useradd、userdel、passwd。
注:所有的用戶的家目錄都在/home下面,唯獨root的家是在/root.點文件都是些SHELL的腳本程序,也稱隱藏文件;環境變量常見的有:HOME PATH PWD,懂得了絕對路徑與相對路徑的對比概念。
最后進入Unit 3、文件與文件處理的學習中,知道了Linux下支持的六種文件類型:普通文件、目錄、設備文件、命名管道、符號鏈接、socket;Linux下文件系統的組織:倒立的樹形結構:/ /bin /boot /dev /home /lib /proc等文件目錄,ls –l指令很好很強大,顯示文件類型與權限、所有者、字節大小、時間及文件名;touch可創建空文件,復制文件用指令cp,可選-i、-r等;重命名文件使用mv [-i];du顯示當前目錄所占空間大小;wc命令顯示列表中文件的行數、字數、字符數;追加:cat [文件列表] 》目標文件;find指令與grep重要,暫未學習,自己在實踐中學習,文件訪問權限有:r w x;chmod指令可修改訪問權限,如chmod 777 -R文件名。
輸入輸出重定向每個命令默認打開三個文件:標準輸入stdin,標準輸出stdout,標準錯誤stderr,鍵盤為標準輸入,而控制臺則是標準輸出,文件描述符分別是0,1,2;最重要最常用的為輸出重定向>與錯誤重定向2> ;echo添加的內容>/ 》文件;Linux過濾器和管道:管道操作符:| ;即將某個命令的輸出與某個命令的標準輸入相連接,從而實現管道功能,例如ls –l |wc;管道和重定向操作符可同時用于一個命令行。
嵌入式學習心得體會 4
這個題目很大,給人一種感覺我好像很成功,其實不然。實際上自己水平不高,甚至很低,但是做過了一些曲折的學習道路,同時把自己真實的學習歷程表達出來,希望對后來者有借鑒的意義,甚幸!
工作三年、幾成廢人!
我XX年畢業于華中地區的一個理工科大學,專業是機械電子,我當時已經簽了一家內陸某個省級機關工作,家里八輩是農民,并且很偏遠,能夠進入這樣的地方是祖墳有風水。但在畢業前夕有個進入it的機會,我本想進去的,家里人極力反對,阻力可想而知。同時要交4000元的違約金,對我來說是天文數字。大學里的費用很多是借的,幾乎將近一半的費用是在大學勤工儉學掙的,為了省錢,高中一個學期回家一次,大學一年回去一次。并且我個人也有特殊的人生背景(悲景更確切),這里不多說了,寫十篇也寫不完,同時偏離主題。這樣我就參加了工作。一張報紙一杯茶的日子,幾乎下班后有種很空虛和恐慌的'感覺。在工作中雖然是與自己專業有點關系,但是很少。專業幾乎荒廢。我自己也思考,如果再不出去,自己將會成廢人,只好讓國家養了。兩年后決定出去,但是幾成廢人,誰要呢,只好到學校去鍍金。這是中國教育和社會的悲哀!
至于專業就改為計算機方面,聽說好找工作,我說實話不是很對計算機特別感興趣,生存第一需要。不要笑我,哈哈!
考研成績出來,超過了國家線幾十分。那個方向要兩個,我第三,但是那年非碘,不面試就按分數來排,自然我落選了。其實給我面試機會也不一定要我,哈哈,自己幾斤幾兩很清楚。
最后調劑到另外一個學校,交錢,咬咬牙,交吧!現在仍然債臺高筑!
進入學校前夕
為什么要把這段列出,看后就知道了。
單位有網絡,經常上網查些英語資料,在那里唯獨英語沒有丟很多。于是我就在網上查資料,學什么好呢,最后確定學嵌入式把,聽說跟硬件相對比較緊密!而我在大學里多少學習了數字電路,單片機等,所以多少也有所利用,不會真的一無所知。當然在這之
前也自學過數據結構,計算機組成原理等。c 語言在大學就學了。哈哈這就是我的家底。
我知道自己的基礎差,于是我就拿操作系統,數據庫、數據結構、c++來看,機關有這個好處,空余時間多,于是平常就看書,很痛苦,沒有人請教。
另外就上網到論壇上去,我就到各個專業的技術論壇,其實是電子論壇和嵌入式論壇。我幾乎沒有發帖,幾乎把幾個大型的出名的論壇的帖子翻遍了,雖然有很多重復的,我才知道嵌入式是個什么東東。這些帖子對我以后的學習產生了極大的影響。
最關鍵兩點:
1、嵌入式是什么?
2、嵌入式需要哪些知識?
知道了這兩點,好辦!我就開始規劃學習路線。計算機的基本理論不能丟,于是重點看組成原理,數據機構,操作系統、c++。同時論壇上了解到,實時操作系統ucos是一個很好的嵌入式操作系統,對初學者很好。于是我就買了一本書,但是代碼在電腦里調不通,網上也有很多相同的問題,我就看書,分析代碼,一遍不行就兩遍,三遍,這樣才看了入了門,才知道什么是進程。原來看操作系統書時,根本就不知道進程是個什么東西。
在這段時間掌握的東西不多,但是,對我以后的影響很大,我想起了大學時一個同學跟我說過了一句話:大學里最重要的不是學到了什么,最重要的是學會怎么學!大概是這個意思。
進入我的避難所
對我來講,再次進入大學不再是大學,而是避難所。希望這次進入給我喘氣和養精蓄銳的機會和時間。我是這樣認為和實踐的。
在學校我有三件事:上課,上圖書館,上網。
對于上課,學校開了很多課程,非常好,很多是名人名師講解,于是很多同學都想學,都去聽。我也考慮過,最后放棄。我是這樣認為的,時間是有限的,什么都想學,什么都學不成。于是我把我自己學的課進行了分化,一般的課程通過就行,重要的一定好好學。我希望不要什么爭論學習課程多和少的問題,這僅僅是我的看法。所以我的成績應該是很差的。分數低。好在后來的單位沒有要我的成績單,否則就慘了。
我個人感覺是上圖書館的效率比在寢室里高多了,這是我的經驗。
嵌入式學習心得體會 5
首先我聲明,我是基于嵌入式系統平臺級設計的,硬件這個方向我相對來講比較有發言權,如果是其它方面所要具備的基本技能還要和我們培訓中心其它專業級講師溝通。他們的方面上我只能說是知道些,但不是太多,初級的問題也可以問我。
對于硬件來講有幾個方向,就單純信號來分為數字和模擬,模擬比較難搞,一般需要很長的經驗積累,單單一個阻值或容值的精度不夠就可能使信號偏差很大。因此年輕人搞的較少,隨著技術的發展,出現了模擬電路數字化,比如手機的modem射頻模塊,都采用成熟的套片,而當年國際上只有兩家公司有此技術,自我感覺模擬功能不太強的人,不太適合搞這個,如果真能搞定到手機的射頻模塊,只要達到一般程度可能月薪都在15k以上。
另一類就是數字部分了,在大方向上又可分為51/arm的單片機類,dsp類,fpga類,國內fpga的工程師大多是在ic設計公司從事ip核的前端驗證,這部分不搞到門級,前途不太明朗,即使做個ic前端驗證工程師,也要搞上幾年才能勝任。dsp硬件接口比較定型,如果不向驅動或是算法上靠攏,前途也不會太大。
而arm單片機類的內容就較多,業界產品占用量大,應用人群廣,因此就業空間極大,而硬件設計最體現水平和水準的就是接口設計這塊,這是各個高級硬件工程師相互pk,判定水平高低的依據。而接口設計這塊最關鍵的是看時序,而不是簡單的連接,比如pxa255處理器i2c要求速度在100kbps,如果把一個i2c外圍器件,最高還達不到100kbps的與它相接,必然要導致設計的失敗。這樣的情況有很多,比如51單片機可以在總線接lcd,但為什么這種lcd就不能掛在arm的總線上,還有arm7總線上可以外接個winband的sd卡控制器,但為什么這種控制器接不到arm9或是xscale處理器上,這些都是問題。
因此接口并不是一種簡單的連接,要看時序,要看參數。一個優秀的硬件工程師應該能夠在沒有參考方案的前提下設計出一個在成本和性能上更加優秀的產品,靠現有的方案,也要進行適當的可行性裁剪,但不是胡亂的來,我遇到一個工程師把方案中的5v變1.8v的dc芯片,直接更換成ldo,有時就會把cpu燒上幾個。
前幾天還有人希望我幫忙把他們以前基于pxa255平臺的手持gps設備做下程序優化,我問了一下情況,地圖是存在sd卡中的,而sd卡與pxa255的mmc控制器間采用的spi接口,因此導致地圖讀取速度十分的慢,這種情況是設計中嚴重的缺陷,而不是程序的'問題,因此我提了幾條建議,讓他們更新試下再說。
因此想成為一個優秀的工程師,需要對系統整體性的把握和對已有電路的理解,換句話說,給你一套電路圖你終究能看明白多少,看不明白80%以上的話,說明你離優秀的工程師還差得遠哪。其次是電路的調試能力和審圖能力,但最最基本的能力還是原理圖設計pcb繪制,邏輯設計這塊。
這是指的硬件設計工程師,從上面的硬件設計工程師中還可以分出ecad工程師,就是專業的畫pcb板的工程師,和emc設計工程師,幫人家解決emc的問題。硬件工程師再往上就是板級測試工程師,就是c語功底很好的硬件工程師,在電路板調試過程中能通過自已編寫的測試程序對硬件功能進行驗證。然后再交給基于操作系統級的驅動開發人。
總之,硬件的內容很多很雜,硬件那方面練成了都會成為一個高手,我時常會給人家做下方案評估,很多高級硬件工程師設計的東西,經常被我一句話否定,因此工程師做到我這種地步,也會得罪些人,但硬件的確會有很多不為人知的東西,讓很多高級硬件工程師也摸不到頭腦。
那么高級硬件件工程師技術技能都要具備那些東西哪,首先要掌握eda設計的輔助工具類如protelorcadpowperpcbmaplux2ise、vdhl語言,要能用到這些工具畫圖畫板做邏輯設計,再有就是接口設計審圖能力,再者就是調試能力,如果能走到總體方案設計這塊,那就基本上快成為資深工程師了。
硬件是要靠經驗,也要靠積累的,十年磨一劍,百年磨一針。
把一個月前想寫的東西,今天終于用一上午的進間整理完了,希望對喜愛嵌入式系統開發的工程師和學生們有所幫助。
嵌入式學習心得體會 6
從實習到現在搞嵌入式開發快一年了,驀然回首好像一年過得挺快,挺順利的。細細品味,發現這一年還是有很多值得回憶和總結的東西。至少這一年看書挺多,大概二十幾本,當然和那些一年看一百多本書的人沒法比,但是我已經超越了自己。這是我大學畢業的第一年,初次走上社會,很想一展身手,可是.....其實也不用可是了,和很多朋友一樣碰了很多釘子,現在我和老板的關系就挺一般的,只是我性格還不錯。呵呵~~,做優秀員工看來還得慢慢學。
今年最大的收獲就是做了一個半項目,是在uClinux下面跑的。半個是SNMP-Agent的實現,因為我去的時候snmpd已經跑起來了,我只是實現部分管理功能;一個是基于Web的管理系統,使公司的主打產品微波通信設備上網。這個項目是我一手策劃,一手實現(界面設計是一位女同事,很優秀的程序員),從中學到的東西也最多,感情不可謂不深。
SNMP即簡單網絡管理協議,其實一點都不簡單。在我所知的網絡協議里面,它僅僅比OSI的CMIP簡單一點,而CMIP直到現在還沒得到廣泛應用。我們能夠實現SNMP-Agent不能不感謝CarnegieMellon大學免費發布的ucd-snmp軟件包。它使得開發人員專注于實現對特定設備的管理功能。
我在項目中的工作主要是擴展MIB,實現相應的管理功能以及網絡功能的擴展。我們公司的MIB庫比較龐大,但是程序運行還是挺快的。因為ucd-snmp軟件包中大量使用回調函數,而且它將MIB樹以二叉樹形式表示,但是每個結點不是單個的MIB結點,而是一個表,包括了多個結點。回調函數和兩層表示法的使用是操作快速的主要因素。
基于Web的管理系統我原本是打算在設備外實現SNMP-Manager的功能,因為設備中已經嵌入了Agent。這樣管理人員可以在世界各地通過WWW登錄公司的管理平臺,實現對所有設備的管理。但是老板想在設備中嵌入一個管理系統,可以通過www管理單個設備就行。呵呵~~,這樣工作又輕松了一點,就按老板的意思做了。
我用的http服務器是BOA,它比現在市場占有率第一的Apache速度要快。目前還只支持CGI,我就用C寫CGI程序,古老了點。但是在開發過程中感覺用CGI比用現在流行的ASP,JSP要爽,可以隨心所欲,哈哈~~,而且這也是用CC++語言的優點。CGI程序很簡單,它的輸入就是標準輸入,它的輸出就是標準輸出。BOA在uClinux上面跑總要出點問題的,出問題好,出了問題我就能找到問題,一來一往,我對socket編程,I/O多路等編程技術了解也就越來越深了。
在Linux下面搞了一年,不愛上Linux都難,個人認為軟件開發人員在Linux下面進步是最快的。那么多優秀的開源代碼供我們研究,猶如每天與世界上最優秀的程序員打交道,進步于不經意間。哈哈~~。正所謂“熟讀唐詩三百首,不會作詩也會吟”。GCC編譯器的優秀不用多說,我覺得寫Makefile也是很件開心的事。不推薦程序員搞開發都用IDE,隔靴捎癢很不爽。但是Linux缺點也很明顯,聽歌、看碟、玩游戲不如Windows。恰巧公司的電腦沒音箱,干脆我就懶得用Windows了。
用Linux而不講開源是不道德的,我們程序員享受著開源的好處,自然也要為開源做點貢獻。我開發的所有軟件都開源,但是我也有個“怪癖”:不喜歡別人在我代碼未完成的時候問我要源代碼。
做嵌入式開發一年,稍稍有點心得。總結了一下,有以下幾點經驗:
1.不要玩Linux。這一點主要是對像我這樣在Linux下面開發的程序員來說的。因為Linux對程序員的吸引力很大,但它下面可以直接用的軟件還是比較少。于是我們總想到網上找一些開源的軟件裝到我們的機器上,從無到有讓人很有成就感的,呵呵~~。要是裝上的不是最新版本的還不滿意,于是又開始忙升級。在Windows下這個過程大概沒什么意思,全都next了。在Linux下就不一樣了,直接拿過來的源代碼很多編譯都不能通過,最新版本更是這樣,得我們自己改,而且往往時改了又改。這個過程很花時間,我就在這方面浪費了很多時間,本來有個月工作比較輕松,打算閱讀Linuxkernel代碼(也想成高手,呵呵~~),當時我機子上沒有好的閱讀工具,于是先弄了個sourcenavigator,覺得不夠又裝了個openoffice,然后又找來了幾份不同版本的kernel代碼。結果一個月過去了,一個文件夾還沒看完。后面工作緊了,只能把看kernel當休息,直到現在才粗略看完fs,mm兩個文件夾。
2.不要滿足于C語言。C語言很優秀,也很簡單。程序設計能力不等同于用C語言能力。嵌入式開發程序員要有扎實的數據結構基礎,要積極的學習操作系統,積極的學習網絡編程,要是想進行驅動開發還需要積極的學習硬件知識。
3.了解幾種芯片體系結構。嵌入式不像PC領域x86一統天下,在嵌入式領域ARM、MIPS、M68k等各顯神通。例如ARM7是沒有MMU的,uClinux在它上面跑是最合適了,但是沒有MMU我們也必須實現簡單的MM功能,同時沒有MMU一些常用庫函數是不能實現的,這些嵌入式開發程序員必須要了解。
4.編寫無錯的C程序。關于這一點建議閱讀SteveMaguire的《WritingCleanCode》。我對MS沒有好感,但這不影響我對MS里面大牛們的尊敬。嵌入式的調試是非常麻煩的,很耗時。雖然有gdbserver這類工具,但是你用的開發工具鏈中不一定包括它,而且就算用上了調試仍然是很花時間的。所以要是不想天天通宵調程序呢,那就要時時以編寫無錯程序為目標。
5.了解一點編譯知識。這對編寫高性能程序很有幫助。
6.學習設計模式。設計模式一般在高級語言中討論較多,但是好東西應該大家一起分享。學習設計模式對提高我們的設計能力非常有幫助。用C語言也可以實現一些模式思想,例如我們常用的回調函數,就可看作是Command模式的C語言版本。
7.要有前瞻性,要積極學習新技術。目前的嵌入式開發一般都是將PC應用加以剪裁,移植到嵌入式系統中。但是隨著通信技術的發展,IPv6的廣泛應用,設備上網是大勢所趨。許多新技術有可能在嵌入式領域率先應用。把握住這個趨勢,嵌入式程序員大有可為。
現在很多公司招程序員要求有嵌入式開發經驗,其實本質上嵌入式開發和我們平常的開發沒什么不同,只是要求嚴格一點。我寫下這些希望對學習嵌入式開發的朋友們有所幫助。
嵌入式ARM軟件開發設計流程
一.項目總體任務描述:
設計GPS/北斗接收顯示終端平臺,為數據的接收(NEMA格式),處理,圖形顯示等后端應用軟件提供平臺支持。
二.項目功能要求:
1.以PXA270微處理器配合LCD模塊開發出獨立的接收顯示終端硬件平臺;
2.在該硬件平臺架構LINUX,
3.WINCE操作系統
三.嵌入式軟件開發上手知識儲備和開發流程
(注:由于我們開發時買了一個樣機,這樣可以節省我們項目開發中的許多時間和降低了開發的復雜度,我們在看資料的時候,作為學習時,可以認真仔細的看每個細節,但作為開發時,有時會碰到一些無關緊要的細節問題,這時可以采用黑匣子辦法,只要會用就行了,我的理解是做項目時并不一定需要知道每個具體細節,要學會分清“系統學習”和“實踐應用”的范疇。比方說,操作系統,我們只需要拿別人的一個樣板來修改達到自己需要的`要求就可以,而沒必要自己去編操作系統,一般來講,一個人自己去編寫那東西是不大現實的。所以以下我都是從實用的角度出發,總節我這段時間ARM的學習體會,從而讓對嵌入式不了解的新手如何迅速掌握開發中的重點以及達到開發的能力。總之,我的理解是搞開發就是大量廣泛看好的資料,一份好的資料可以節省你開發中的好多時間。不必等資料都看完再動手,那樣時間不夠,可以一邊動手一邊學習資料,需要什么方面的知識,不懂的當即查下看懂即可。)
嵌入式軟件開發整體流程:
Uboot啟動代碼的編寫->各模塊驅動程序的開發->操作系統的移植->應用程序的開發
以下是上手的一些基本知識儲備:
1)匯編語言的學習可參見文件夾“我的ARM”->“ARM匯編指令”集,不需要都掌握,只要知道有哪些指令功能,用的時候查閱就可以了。這部分的學習對用匯編編寫的“uboot”啟動代碼的理解比較重要,啟動代碼的詳細介紹可參見“StudyARMboot”這本書,里面講的非常詳細。(注:如沒特殊說明,資料指的是都是“我的ARM”文件夾里的資料)
2)C語言只需我們本科學的就夠用了,大致過一遍應用時去查就可以了。沒必要再深入系統的學習。搞Wince操作系統移植的同學有必要把C++快速學一遍,掌握C++的三大特性(抽象性,繼承和派生,多態),因為操作系統Wince的程序代碼都是按C++的編程格式組織起來的,如果不懂C++的那些特性,比較難看懂程序。這方面的資料請看見文件夾“VC++學習”,里面資料相當詳細。
3)各模塊驅動程序的開發。這方面首先要熟讀芯片資料,要理解軟件程序是怎樣控制硬件的。(簡單的理解就是往寄存器里寫不同的值以驅使硬件實現不同的功能。)剛開始不必把芯片中的每個模塊都搞透,只需熟悉一些常用的模塊即可,比方說串口,I/O口,IIC總線,LCD驅動控制和顯示等等,這些跟我們當前的項目都是緊密聯系的。看各個模塊芯片資料的時候可以對照示例程序結合起來看,首先要理解這個模塊的工作原理,然后看程序中每個寄存器所設的參數,邊看邊思考這些程序如果我用在其他的地方該如何修改。其他的模塊的學習都是觸類旁通的,關鍵是思路,可以把本科我們所做的單片機,DSP等實驗聯想結合起來。資料可參見文件夾“44b0實驗資料”和“實驗指導書”。
4)操作系統的移植。主要是理解操作系統的一些基本概念(如對信號量,鎖,進程同步,進程間的通信,臨界資源使用,驅動管理,文件存儲等等),然后知道這些概念在程序中是如何反映出它們的功能的。我們以UCOS-II這個操作系統作為理解學習,具體資料參見文件夾“uCOSII-en”,里面資料講得非常詳細。項目中要求的是用Wince和Linux兩套操作系統,由于我們買了成套開發板,代碼都有,我們要做的工作就是對它們進行修改和移植,所以只有當你了解了操作系統的一些基本概念,你才可能對它們進行修改。Linux開發難度要大些,不僅操作復雜些,而且開發用的命令行的方式,這方面的資料可參考文件夾“linux學習”和“ucLinux核心(中文手冊)”,由于嵌入式大部分用的是嵌入式linux操作系統,從學習的角度來講,這方面要多下功夫。
至于應用程序的開發,那就要看具體的應用了,這個難度不是很大。
嵌入式學習心得體會 7
目前最常見的嵌入式LINUX方面,我認為大概3個:
1.嵌入式LINUX上層的應用,包括QT的GUI開發
2.嵌入式的LINUX系統開發
3.嵌入式的驅動開發
學習嵌入式:
第一.C語言要掌握(硬件略懂),C語言是所有編程語言中的強者,單片機,DSP,類似ARM的種種芯片的編程都可以用C語言搞定,因為它可移值性強,編譯效率高,運算速度快,便于實現理更復雜的的數據結構。上層應用和數據存儲,我推薦使用C++語言。
第二.學習一種嵌入式的處理器架構,個人推薦32位的處理器,像ARM,因為嵌入式
開發8位的處理器顯得有點低端,大多數只能用作簡單的工控.
第三.學習一種嵌入式操作系統,像LINUX,WINCE等都可以,LINUX更好。
三:ARM是一種微處理器,已遍及工業控制,消費類的電子產品,通信,網絡,無線等各類的產品基于
ARM技術的.微處理器已占75%以上的市場份額,可見其技術已逐滲入到我們生活中的各個領域,像手機就是用ARM7 ARM9 ARM11的微處理器技術開發的。嵌入式系統最常見的ARM系列,ARM7,ARM9,ARM11,cortex-A8等。
我們都是曾經從大學里走出來的迷茫羊羔,工作以后我才知道,在大學里不是學到了什么,而是學會怎么去學,相信自己,理清自己的思路,根據自己的性格,剖析自我適合往哪方面發展。
嵌入式學習心得體會 8
本人大學學的是電子信息科學與技術專業,其實這個專業和嵌入式沒有多大的關系,要說有關系就是簡單的講了下C語言語法,學完之后還不知道什么是C語言,只記住了,char,int,string等占幾個字節,if, for, while循環什么的,感覺也就能算一些小學就會的題目,全國計算機等級二級也就糊涂的過了。我這個專業沒學過C++,一開始不知道什么是向對象,什么叫面向過程,這可能讓大家笑話了。不過這說的是實話,大學的時候比較喜歡動手,喜歡硬件方面的東西,也喜歡看書。在大一的時候就聽學長說,單片機很難學,在沒事的時候就從圖書管借了本關于51的書,一開始還真是不怎么懂,然后硬著頭皮去看,當我把51的結構看完了,就不像一開始那樣一頭霧水了,自己在紙上把51的結構圖默畫一遍,然后再把各個寄存器功能寫一下,各個功能口的結構也畫一遍,然后就不覺得51有什么難了。其實有些時候不是這個東西你不會,而是在不會的時候自己先告訴自己這個太難了,自己先放棄了。我們學習51芯片,是為了以后的打基礎,知道是怎么通過配置寄存器來實現功能。
大二下學期的時候,我們開了51的課,這個課幾乎就沒怎么去,因為我認為沒有必要去聽自己會的東西了。后來聽別人說avr的資源會比51的豐富的很多,所以就想試試,看看有什么難的,就從網上買了本馬潮老師《AVR單片機嵌入式系統原理與應用實踐》,一邊看書,一邊想自己畫一個板了,一開始想實現一個點陣屏,實現滾動效果,后來想想做個板也花不少錢呢,為什么不多加一些功能呢,還能多學到些知識,所以就加了溫感,紅外,鐵電存儲器等并把所有的擴展口都擴展了出來,備以后用,那時還挺自豪的呢,同學們都很羨慕,不過現在想想其實也沒什么了。
大學也聽說過嵌入式這個詞,不過不太明白是什么意思,20xx年的時候從網上找到中嵌視頻,有四張DVD(大約13G),下載下來后,從頭到尾的看了一遍,沒什么印象,只記得講一些不知所云的函數,然后莫名其妙的講怎么使用那個44b0的開發板,不過聽完了,還是有很大收獲的,就有一種想裝一個linux的沖動,我是大二下學期才有的自己電腦,不過電腦的配置比較低,1g內存,跑虛擬機就像個蝸牛,所以就想著怎么才能裝個linux,自己用XP習慣了,如果全換了又舍不得,那時從書上知道linux的文件系統和windows不一樣,只有一個根分區,所以也害怕一裝linux全盤就被格式化了,不過最后還是欲望戰勝了擔心,買了張redhat 9的光盤,小心的裝這個系統,里邊的英文也不是太難,還是知道大概意思的,所以一步步的.裝,最后裝到我的硬盤的最后空間,重新啟動,竟可以選擇進入哪一個系統了,從這之后,自己就不害怕怎么裝系統了,應了那句言,紙上得來終覺淺,絕知此事要躬行。所以我認為,買一個開發板是完全有必要的,拿到實物操作一下就不會感覺太抽象了。后來也想學學arm,但不知道arm是什么東西,所以就買了本《從51到arm》,講的是關于arm的大體結構,看完后感覺,原來arm就是一個速度更快,接口更豐富的單片機埃如果想做linux設備驅動的同學應該對arm硬件有一些了解。如果對驅動不感興趣,完全沒有必要去看。交叉編譯器會幫我們做好這些事情,他比我們更了解arm結構。
大三下學期開始準備考研了,所以自己這些興趣就先放下了,報的北郵的信通學院通信專業,當時就是想一定要上個好學校好專業,也沒想太多,結果考了的成績差了點,沒有被錄取,也不想調劑一個二流的學校,然后就參加工作了,工作中每天都用的到開發板,當我看到一個小板上還可以跑系統的時候感覺很不可思議,以為要很大工程。后來邊工作邊學習,每天都要看電腦看到眼發疼,晚上也都差不多十二點時才睡覺。感覺到累,不過也感覺到自己在進步。
閑話有點多了,說了很多都是自己大學那點破事。
聽很多的初學者說不知道從哪里開始,學習嵌入都要學哪些東西,從網上搜了一下,一大堆的東西要學,一下就推薦十幾本書,說看完這本書怎么怎么樣,看完那本書怎么怎么樣,一下子就給初學者給嚇住了,其實完全沒必要把網上的那些東西全部看一遍,那樣又費時,又感覺工程太大,讓初學者沒有信心去把每一種都看完。網上說的些方面都要知道,不一定全部都掌握,我們可以退成求其次,每一個都知道一些,當然會的越多越好。今天學點這個明天學點那,換著樣來也不會覺得煩。而且還能感覺到每天都有收獲。
下面給嵌入式初學者一些自己的我個人建議。
1嵌入式涉及到很多的基礎知識:
c語言,關于C語言要知道基本的語法,什么是結構體,什么是共用體,有什么區別,不用強記一些二級考的東西,因在實際中用的很少。
c++要知道什么是類,怎么定義,繼承,接口,要深刻理解,當然基本語法也是必不可少的。
操作系統原理也應該知道基本的原理的,我記得我大學沒這個課還是去電信學院蹭別的專業的課呢,后來學習發現很多的東西都是在這個課上學到的。什么時間片啊,任務調度啊,都是在那里知道的。
Linux基本命令的使用(vi編輯器必須會用,因為在終端改文件的時候只能用這個),我們現在很多的人都習慣用鼠標了,很少用到命令,我們學習嵌入linux可要改改這個習慣了,linux用命令操作一是效率高,二是功能非常強大,遠非圖形界面能比的了的,其實我們用圖形界面的操作都要轉化為命令傳給硬件的。
Linux文件系統的管理要清楚,哪個目錄存放是什么東西,有什么用,文件權限管理等Shell編程也要了解一些,在這給大家推薦一個教程,周朝劍的shell編程,也就七八講吧,講的很全面。初學者看前4講就可以了。
Linux設備驅動的架構要了解,初學者可以以飛凌的OK6410開發板上的led驅動分析一下,結合原理圖和linux設備驅動相關書籍把每一行代碼都分析明白。關于驅動給大家推薦一本書《LINUX社備驅動程序》中國電力出版社出版的,很經典的,初學者看可能看不太明白,不過要堅持看,最次也得把前6章看完了。
2看書不要希望一次就會,一次就明白是什么意思,也不要死記硬背,看不明白也沒關系,以后遇到了知道去哪里去找就可以了,以后遇到的多了,也就記住了,遇到的少的,忘記也就忘記了。還有,不要直接閱讀linux內核源代碼,看一些自己把頭撞破也想不明白的事,會打擊初學者的積極性,要循序漸進,今天學個做個led,明天做個串口,后天說不定就做硬件編解碼了。
3、你可以不接受培訓,但是不能不買開發板。
如果你想學習嵌入式一定要買塊學習板,現在的開發板很便宜了,給我們初學者減輕了很多經濟負擔。看再多的視頻,看再多的書,也不如自己動手試一下,看著很簡單的東西,做起來就可能遇到很多的問題,遇到問題找到原因,解決問題,只有這樣才能學到東西,記得我第一次寫led的驅動,想自己試一下,網上也有人寫過相關的代碼,可是自己一試,就出了好多的問題,那個led弄了我一天才把led燈點亮。所以不要眼高手低。
還有關于培訓,現在的培訓機構很多,講的也不錯,老師也很好,但是有一個問題,太集中了,而且學生動手的機會也不太多,記得我們公司還招了一個在北京某個培訓機構培訓半年的員工呢,花了一萬多,來了之后也沒感覺有多高,問他都學了什么,也就是我前邊說的那些基礎知識,很多的東西還是不知道的,照著書弄個helloworld模塊驅動兩天沒搞定。不是培訓不好,但我個人見解效果并不是很好。記住:只有自己動手做過的東西才是自己的。
現在買一塊開發板很便宜,飛凌的OK6410的開發板就不錯,源碼完全開放,而且資料也很豐富,完全能滿足初學者學習用,有人說友善的板子也不錯,我個人覺得友善的板子不
錯,但是不適合初學者,因為他的很多的東西是不給代碼的,用過友善的板子的同學經常有這樣的痛苦,想學一個東西,去找他的代碼的時候,卻找不到,很多友善提供的代碼中很多的都是封裝好的,只提供給客戶一個庫,初學者想要找代碼的時候就不知道怎么辦了。
4不要好高騖遠,要腳踏實地
對于初學者,還有一點小建議,我們拿到一個開發板,很興奮也很激動,想法自然也很多,想用開發板實現自己的這個想法,實現那個想法,然后又不知道從何下手,然后就去論壇中發一個貼,“那個什么什么怎么實現啊,哪位大俠能詳細說一下啊,跪求!1然后等著別人去回復。見沒人回復就抱怨。有想法是好的,我們要實現自己的想法也是有前提的,首先,我們對這部分知識了解嗎?如果不了解就去google一下(最好別用百度,不太好用),了解了一些,也就大概知道要怎么做了。如果再遇到問題,再去發貼問,這樣也顯得咱們有水平。比如自己連串口是什么都不太清楚呢,就問串口通信怎么做啊,就是人家把代碼給咱,咱也不明白是怎么回事埃
5多看代碼,多寫代碼
見多識廣,熟能生巧。多看代碼,要從代碼中讀出代碼的意思來。自己平時也要多寫代碼,多練習(這一點我做的不好,寫的少)。
寫完已經晚上兩點了,思路有些亂,有些也是個人的見解,在有些人看來可能是錯誤的,每個人有每個人的學習方法,但是我們的目的只有一個——希望我們學到更多的知識。
嵌入式學習心得體會 9
時間過的緊快,在粵嵌教育已經培訓,有5個月了培訓期間贏來很多,也認識了班上的自學大神,經過系統的學習,老師的細心指導,我的付出努力,對于嵌入式上,學到很多實用的知識在動手操作能力也加強了,不僅在專業領域技術方而有了很大進步,而且在實踐操作方面我也對嵌入式有了更深入的了解。也許這5個月是這兒我在外而學習和生活最寶貴的時間。
在校兩年,讀于電子信息韋爾泰宗工程技術專業的我,就覺得這研習專業領域學的知識太廣了,不管基礎還是動手操作,都要比較靈活。在校期間,學習單片機,傳感器,C語言,嵌入式應用技術等課程。感覺學起來,對我來說接受還是比較快的,那時就有想過:學的多不如學的短萼,也許高中學生對課程多于理論為主,理解它的原理和基本計算機程序方法方式。其實,我還是有努力去學的,可以說,在校科任老師都教會我很多專業知識,為我將來的學習和發展打好基礎。
在大三期間,為了更為拉著明確自己要走的方向,去培訓嵌入式軟件技術開發。也許將要投身嵌入式行業的我,就注定代價這條路要付出不少時間和精力,但如果我好求比較強,接受還行,就不停給自己送祝福,努力!要去培訓嵌入式,時,我從網上也對它有更加的想像也看下大學的嵌入式應用技術書,嵌入式系統是軟件和硬件的綜合體,以應用為中心,以科學計算為基礎,軟硬件可裁剪,改變應用系統對功能、可靠性、成本、體積、功耗等嚴格要求的專用負載計算機系統。
剛開始嵌入式學習,對Linux系統的專業知識加于鞏固。一些簡單的代碼,C語言,對于嵌入式軟件還是硬件開發的人員,對C語言的掌握這個是沃蘇什,卡的`,特別是對于以后致力于嵌入式軟件開發的人現在絕大部分全都是用C語言。在下來兩個月就對Linux系統,數據結構、系統移植的方法、A8的體系結構、Linux內核及驅動設計、 android> C+Java的JNI應用編程的系統學習。在每學個階段就作一個考試,基本知識對前面所學的知識進行復習,有些會做一個簡單的小項目,學以致用。知識量還是比較多,但教學也比較快,有些知識還沒消化完,第二天又接受新知識,對于能在課上基本上就可以對知識完全懂的并不多,晚上都用一個半小時來復習。經過5個月系統的學習,嵌入式技術方面有了很大進步,實踐操作方而也對嵌入式有了更深入的了解。在最后一個月,基于A8(S5PV210)的嵌入式智能家居系統制作。
下而我談談在粵疊砌教育的培訓感受,我培訓的地點是在科學城粵嵌教育培訓中心的多媒體課室里,這里有研習環境非常好,在緊張的學習的整個過程中,你可以得到名師的督促,也可以體會到第一流企業高質量的培訓。在課堂上,老師們認真的演說,以及手把手地教導,使每個學生都能夠扎實地掌握到嵌入式的各方而的知識。而粵嵌幼兒教育教育的老師也是操作實踐為主,實踐是非常重要的,只有把知識掌握到位,才能達到學習的目的。
感謝粵嵌教育機構,感謝粵嵌教育老師。
嵌入式學習心得體會 10
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬件可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1。系統內核小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程序可以沒有操作系統直接在芯片上運行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念并非新近才出現。從20世紀七十年代單片機(最早的單片機是Intel公司的 8048,出現在1976年)的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的'發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬件設備、嵌入式操作系統以及用戶的應用程序等四個部分組成,用于實現對其他設備的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用設備上,通常這些設備的硬件資源(如處理器、存儲器等)非常有限,并且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智能化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通信工程等偏硬件專業的,另一類是學軟件、計算機專業出身的人,主要從事嵌入式操作系統和應用軟件的開發。我是軟件專業的學習嵌入式,越是智能設備越是復雜系統,軟件越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,信息家電,家庭智能管理系統,POS網絡及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠程點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業領域中對最終用戶而言是一套極具成本效益的解決方案。
嵌入式學習心得體會 11
一、如果非常多人都想做Linux,那么就要對Linux要比較熟悉。這個熟悉不是說對內核,對代碼有多了解,而是至少要會基本的操作,非常難想象讓一個連編譯程式,編輯文本文件都非常困難的人去弄嵌入式的軟件吧。總之在進入嵌入式這個領域之前要對自己評估一下,看看自己是不是準備好了去學習嵌入式相關的東西。
二、要舍得花錢買研發板。公欲善其技,必先利其器。也就是說,理論上可能掌控了非常多,不過不去實踐,那只能是紙上談兵,這樣是無法學好嵌入式的。弄個研發板自己擺弄擺弄,即使什么都不懂,也能按照說明書把廠家給的程式下載到研發板上運行運行,先知其然,然后再通過具體的學習知其所以然,這樣能避免學習中的枯燥。目前市場上研發板的種類繁多,相同CPU的板子價格卻相差非常多,令非常多人都不知道怎么選擇購買。我的看法是,盡量買大廠的產品。因為在初學階段學習資料少是個非常頭疼的事,非常多時候都是無從下手,不知道怎么去做,那么隨研發板附送的資料就非常重要了。大廠技術比較強,附帶的程式都是能在板子上運行的,例如我買的優龍ST2410這個板子(不是廣告啊),光盤上帶了一個bootloader個2.4.18的內核,更有一個cramfs,這些程式的原始碼都是廠家事先做好或修改好的,完全適用于初學者使用。而有些實力不行的小廠家的.資料不齊全,我們學習的時候需要自己弄bootloader什么的,那入門就非常難了。不過大廠的板子都非常貴,大家能根據預算來選擇適合自己的研發板,不過無論怎樣,在學習上投資都是值得的。
三、不要事無巨細的學習,要有明確的目標。我最開始給自己制定的學習計劃是:學習arm體系結構—>學習arm匯編—>自己移植bootloader—>自己移植kernel—>做應用,不過不久就被我否決了,因為這個過程實在是太枯燥太痛苦了,在學習資料少,沒人指導的情況下根本無法進展。于是我決定使用廠家的代碼來“玩”研發板,自己弄些應用上去。先是完全使用廠家給的bootloader,kernel,cramfs。之后發現cramfs中的一些控制Linux初始化的文件不符合我的需求,于是修改cramfs,刪除了QT,修改了網卡初始的IP地址,安裝到板子上能運行了之后就開始嘗試做一些應用,比如helloworld這樣的程式。最后移植了一個mpg123到板子上。完萬能在不知道原理的情況下來使用板子的一些功能,等熟悉板子了再回頭學習其中的道理,這樣就容易一些。學習嵌入式就是這樣,根據問題來選擇學習的內容,否則會非常盲目,最后就失去信心了。
四、要有耐心。不能否認,在學習一門自己完全不了解的技術是非常煩人的。嵌入式的復雜在于他的交叉性。也就是說為了研究某一個嵌入式的問題,你有可能得學習非常多其他的知識,比如操作系統,編譯,體系結構等等,那么對于這種情況需要我們有足夠的耐心。我在交叉編譯mpg123的時候前幾次無論怎么修改makefile都無法編譯成功,最后我發現我用的arm—linux—gcc是2.9版本的,比較老,于是我換成新的3.4.1版本,就ok了。
以上是我初學嵌入式所獲得的一些淺顯的經驗,基本都是基于軟件方面的,硬件的DIY我就不行了。希望我的經驗能給大家一些幫助。
嵌入式學習心得體會 12
目前最常見的嵌入式LINUx方面,我認為大概3個:
1、嵌入式LINUx上層的應用,包括QT的GUI開發
2、嵌入式的LINUx系統開發
3、嵌入式的驅動開發
4、學習嵌入式:
第一、C語言要掌握(硬件略懂),C語言是所有編程語言中的強者,單片機,DSP,類似ARM的種種芯片的`編程都可以用C語言搞定,因為它可移值性強,編譯效率高,運算速度快,便于實現理更復雜的的數據結構。上層應用和數據存儲,我推薦使用C++語言。
第二、學習一種嵌入式的處理器架構,個人推薦32位的處理器,像ARM,因為嵌入式開發8位的處理器顯得有點低端,大多數只能用作簡單的工控。
第三、學習一種嵌入式操作系統,像LINUx,WINCE等都可以,LINUx更好。
ARM是一種微處理器,已遍及工業控制,消費類的電子產品,通信,網絡,無線等各類的產品基于ARM技術的微處理器已占75%以上的市場份額,可見其技術已逐滲入到我們生活中的各個領域,像手機就是用ARM7ARM9ARM11的微處理器技術開發的。嵌入式系統最常見的ARM系列,ARM7,ARM9,ARM11,cortex—A8等。
我們都是曾經從大學里走出來的迷茫羊羔,工作以后我才知道,在大學里不是學到了什么,而是學會怎么去學,相信自己,理清自己的思路,根據自己的性格,剖析自我適合往哪方面發展。
嵌入式學習心得體會 13
8月我參加了學校安排的課題實訓,基地在北京,學院安排我們集體坐火車一同前去,浩浩蕩蕩的隊伍開始出發了。剛來北京的時候,映入眼綿的都是高樓大廈,一直想到的地方終于到了,好多以前的同學聽說我要去北京實訓都很羨慕不已,我自己也隱隱感到自豪。
我參加的課題實訓是嵌入式方向的,開課的內容主要是嵌入式開發方面的,C語言,數據結構,LINUX基本操作,網絡編程,操作系統和匯編語言,這些都是嵌入式不可缺少的。
每個專業技能都決定了你以后找工過。我們班分了很多小組,每組都有小組長,小組長直接對我們負責。教課老師很認真,都是從很基礎的開始講;同學們聽課也很認真,由于代碼操作比較多,鍵盤的聲音源源不斷的在響。好久沒有感覺到這種濃重的學習氣氛了,而在這緊張而充實的學習氛圍中我獲益匪淺,感受頗多。
授課過程中老師們也傳授了一些找工作方面的經驗,比如簡介的樣式和寫法,面試中的一些著裝,禮貌用語和技巧,對此基地的老師還精心的為我們安排了一場模擬面試,在其中我們學到了很多有關于面試方面的經驗。
通過這幾個月的實訓我學到了很多,同時也讓我們意識到我們要學的'更多。從程序的設計到編寫、畫圖、調試、修改、完善、到最后的實訓報告,每個人都付出了時間和精力去做好自己的任務幫助隊友,所以團隊的合作和隊友之間的相互協助非常重要。
通過實訓讓我們更深一步的對自己的專業,對自己的能力,對自己所學的有正確的認識,并且能在以后的學習工作中不斷提高和完善自己。特別是講C語言和進程通信中老師給了我們每個小組的幾個小項目,讓我學到了更多項目經驗,這在學校之前是沒有的。這次實訓也碰到了些問題,比如項目文檔的寫法,代碼的規范,流程圖的畫法,這些都有講究,在老師和同學的幫助下,我不斷的提高了在這些方面的學習。
生活上班主任郭老師和王老師對我們關懷備至,讓我們沒有感覺在外面的那種不適感,同學們也互幫互助,所以生活上大致沒什么問題,這讓我們更好的去學專業。很感謝學校有這樣的實訓安排。
總的來說,這次實訓還是比較成功的,無論是個人動手能力還是團隊協作能力都得到了很好的鍛煉。在實訓過程中老師也交給我們很多簡單實用的技巧。我們也學到了,做好做對一個項目固然重要,同時美觀程度也是必不可少的,無論是從參觀者的角度還是自己看的角度都很重要。
【嵌入式學習心得體會】相關文章:
嵌入式學習心得體會03-31
嵌入式學習心得體會10篇04-18
嵌入式開發學習心得04-25
嵌入式系統學習心得03-07
嵌入式實訓心得體會09-04
嵌入式實訓心得體會12-13
嵌入式系統報告10-18
嵌入式實訓心得體會9篇05-07
嵌入式實訓心得體會10篇12-15