嵌入式處理學習心得總結
嵌入式可視電話系統的出現滿足了人們在低成本、低功耗的情況下進行音視訊一體交流的願望。接下來就跟著小編的腳步一起去看一下關於吧。
篇1
現在的嵌入式工作是越來越盛行,而這方面的人員卻是越來越少,所以學習嵌入式是解決找工作難的一個比較有效的途徑。因為我開始踏上學習嵌入式的道路。聽別人說嵌入式ARM相比於其他的嵌入式FPGA,DSP等都要難點,而且學習的內容量也是比較多。因此在學習嵌入式ARM的初級階段是隨處碰壁,每天都在遭受打擊,例如在移植bootloader時,雖然按照網上的一些方法移植成功了,但只知道複製和貼上要修改的程式碼,卻不知道為何要這麼做。我覺得這樣的學習態度是不對的,學習不是隻求結果,而是要注重解決問題的過程!為了學習嵌入式Linux我也在網上查閱了很多的書籍,還下載了很多的視訊,但都不是很讓人如意。它們大多是講的很淺顯,都是泛泛之談,沒有講到最核心的東西。到了最後是浪費了我們學習者的時間和精力。之後看見師兄有一本韋東山老師編輯的《嵌入式Linux應用開發完全手冊》,我就借了幾天看了看,發現韋老師對嵌入式Linux的極其深度的分析,讓我一下子找到了能帶我入門的一本書!並且還有配套的視訊教學更是講解地非常到位,將教材和視訊相互配合的學習,更加大大的提供了學習效率,尤其是視訊上講解的內容,都是韋東山老師自己親自授教,完全沒有按照教材上的內容一一讀出來,而是根據核心程式碼分析的教我如何編寫自己的程式碼,尤其是在Linux核心中佔比例最重的一部分—核心驅動時,更是讓我知道使用者是如何通過應用程式來訪問底層硬體的,解決了我長久以來都無法攻克的難題!!例如在編寫LCD驅動時,我對於書上LCD硬體工作原理不是理解的很透徹,通過觀看韋東山老師的第二期視訊中的“LCD驅動程式”,老師就像是站在我面前,在螢幕上用電子筆細細給我講解,寫出更加形象的LCD的硬體驅動,重要的是在整個視訊中老師都沒有按著教材念,而是一個教學經驗豐富的老師在給同學們授課一樣。編寫程式碼也是親自編寫,沒有完全複製別人的程式碼,編寫的同時不斷的說明每條語句的作用、程式設計思想和設計程式的經驗,還有閱讀大量程式碼的技巧!在視訊中老師教會了許多其他書本中沒有提及到的重要知識。
篇2
本人大學學的是電子資訊科學與技術專業,其實這個專業和嵌入式沒有多大的關係,要說有關係就是簡單的講了下C語言語法,學完之後還不知道什麼是C語言,只記住了,char,int,string等佔幾個位元組,if, for, while迴圈什麼的,感覺也就能算一些小學就會的題目,全國計算機等級二級也就糊塗的過了。我這個專業沒學過C++,一開始不知道什麼是向物件,什麼叫面向過程,這可能讓大家笑話了。不過這說的是實話,大學的時候比較喜歡動手,喜歡硬體方面的東西,也喜歡看書。在大一的時候就聽學長說,微控制器很難學,在沒事的時候就從圖書管借了本關於51的書,一開始還真是不怎麼懂,然後硬著頭皮去看,當我把51的結構看完了,就不像一開始那樣一頭霧水了,自己在紙上把51的結構圖默畫一遍,然後再把各個暫存器功能寫一下,各個功能口的結構也畫一遍,然後就不覺得51有什麼難了。其實有些時候不是這個東西你不會,而是在不會的時候自己先告訴自己這個太難了,自己先放棄了。我們學習51晶片,是為了以後的打基礎,知道是怎麼通過配置暫存器來實現功能。
大二下學期的時候,我們開了51的課,這個課幾乎就沒怎麼去,因為我認為沒有必要去聽自己會的東西了。後來聽別人說avr的資源會比51的豐富的很多,所以就想試試,看看有什麼難的,就從網上買了本馬潮老師《AVR微控制器嵌入式系統原理與應用實踐》,一邊看書,一邊想自己畫一個板了,一開始想實現一個點陣屏,實現滾動效果,後來想想做個板也花不少錢呢,為什麼不多加一些功能呢,還能多學到些知識,所以就加了溫感,紅外,鐵電儲存器等並把所有的擴充套件口都擴充套件了出來,備以後用,那時還挺自豪的呢,同學們都很羨慕,不過現在想想其實也沒什麼了。
大學也聽說過嵌入式這個詞,不過不太明白是什麼意思,09年的時候從網上找到中嵌視訊,有四張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 多看程式碼,多寫程式碼
見多識廣,熟能生巧。多看程式碼,要從程式碼中讀出程式碼的意思來。自己平時也要多寫程式碼,多練習***這一點我做的不好,寫的少***。
寫完已經晚上兩點了,思路有些亂,有些也是個人的見解,在有些人看來可能是錯誤的,每個人有每個人的學習方法,但是我們的目的只有一個——希望我們學到更多的知識。
篇3
首先,嵌入式系統是以應用為中心,以計算機技術為基礎,且軟硬體可裁減,適應應用系統對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統。嵌入式有如下幾個突出的有點1.系統核心小,2專用性強,3系統精簡4高實時性OS5嵌入式系統的應用程式可以沒有作業系統直接在晶片上執行,6嵌入式系統需要開發工具和環境。
嵌入式系統是近幾年才風靡起來的,但是這個概念並非新近才出現。從20世紀七十年代微控制器***最早的微控制器是Intel公司的 8048,出現在1976年***的出現到今天各式各樣的嵌入式微處理器,微控制器的大規模應用,嵌入式系統已經有了近30年的發展歷史。經過30年的發展,嵌入式技術已經日趨成熟,在中國嵌入式機一般由嵌入式微處理器、外圍硬體裝置、嵌入式作業系統以及使用者的應用程式等四個部分組成,用於實現對其他裝置的控制、監視或管理等功能。
其次,嵌入式系統無疑是當前最熱門最有發展前途的IT應用領域之一。嵌入式系統用在一些特定專用裝置上,通常這些裝置的硬體資源***如處理器、儲存器等***非常有限,並且對成本很敏感,有時對實時響應要求很高等。特別是隨著消費家電的智慧化,嵌入式更顯重要。
嵌入式系統是軟硬結合的學科,通常有兩類人會去專研嵌入式:一類是學電子工程、通訊工程等偏硬體專業的,另一類是學軟體、計算機專業出身的人,主要從事嵌入式作業系統和應用軟體的開發。我是軟體專業的學習嵌入式,越是智慧裝置越是複雜系統,軟體越起關鍵作用,而且這是目前的趨勢。嵌入式應用在很多方面,具體的可以分為工業控制,交通管理,資訊家電,家庭智慧管理系統,POS網路及電子商務,環境工程與自然,機器人,機電產品方面應用等方面。其中目前在服務領域,如遠端點菜器等已經體現了嵌入式系統的優勢。例外還有很多地方用到了嵌入式系統,最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用於工業控制,採用最先進的0.18微米CMOS嵌入式快閃記憶體處理技術,操作電壓可以低至1.2伏,它還能降低25%到30%的製造成本,在工業領域中對終端使用者而言是一套極具成本效益的解決方案。