嵌入式開發學習心得感想

嵌入式開發學習心得感想 篇1

學習嵌入式,該學習什麼基本的知識呢?

首先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 的代碼等

等,麻雀雖小,五臟俱全,如果你全看完了,那我想你就是一名很成功的嵌入式工程師。

至於上面說的知識如何學習呢?每個人都應該去找自己最好的方法,所謂的最好的方法就是最適合自己的方法。很多人看不進書,那就去看看視頻吧。視頻也應該要選擇,不是隨便看看,應該要有所選擇,有所挑眩我也是這樣一路走過來的,不過我這人比較懶,我看不進書,一看書我就想睡覺,所以這幾年我都是看視頻過來的,現在也算學有所成,但也不敢說是高手吧。

我在網上看到,有人把自己學習嵌入式的視頻總結出來,嵌入式系列實踐和視頻教程,大家可以看看網址我仔細看了覺得很不錯,我本來也想整理下,可是奈何我自己的電腦硬碟空間才40G,沒有辦法,時間也是不夠,心有餘而力不足,我不是在幫他做廣告,雖然要花錢,我覺得算不錯,至少自己不用去整理和花大量的時間去找資源,當然如果網上有的下,你網速和硬碟都夠的話,我建議大家自己網上下也好。想想我自己該開始學的時候,那時視頻資源少之又少,我買書和買視頻至少花了幾千塊,但是我覺得那很值,至少我現在賺回來了很多知識。

最後,希望這篇文章對熱愛嵌入式,想致力於嵌入式開發的朋友有所幫助。送給大家一句簡單而又樸素的話,堅持就是勝利,貴在堅持,也可以看看如何堅持嵌入式學習!

嵌入式開發學習心得感想 篇2

首先,我們學習的課本是嵌入式系統套用教程。我學習的體會是這樣的: 開始時,由於是剛剛入門,對老師書的好多東西是好奇的,好多名詞也是新鮮的,不過不太懂什麼意思。但是慢慢的,了解的深入讓我有了更深的感觸和體會。

在嵌入式的學習過程中,讓我了解了什麼是嵌入式系統。它就是以套用為中心,以計算機技術為基礎,軟硬體可定製,適用於不同套用場合,對功能、可靠性、成本、體積、功耗有嚴格要求的計算機系統。他一般由嵌入式微處理器、外圍硬體設備、嵌入式作業系統、用戶應用程式四個部分組成,用於實現對其他設備的控制、監視或管理功能。嵌入式系統已經套用於科學研究、工業控制、軍事技術、交通通信、醫療衛生、消費娛樂等領域,人們日常使用的手機、PDA、汽車、智慧型家電、GPS等均是嵌入式系統的典型代表。

一開始我們就學習嵌入式的系統的基礎部分,那很簡單,就是一些定義或是介紹之類的。在進入第二章時,就開始學習了嵌入式開發過程中的主要作業系統——linux,在接下來的課程中,我發現嵌入式的學習過程還是蠻有趣的。在對linux的學習中,我們對它有了一點點的了解,接著就是學習一虛擬機的方式安裝linux。對我來說有趣的就是安裝的過程了,首先我們跟著老師的腳步走,學會了怎么安裝,在自己動手進行對它的安裝,這個過程是簡單而有趣的。這樣的開始讓我對它充滿了興趣,也對以後的學習充滿了信心。

其次就是安裝好了之後,老師就更深一步的教我們套用了。在這是老師首先交給我們的是一些簡單的命令套用,Linux具有很豐富的命令,絕大多數命令具有大量的參數。在學習命令的過程中,只要你認真的看著老師操作還有認真聽著他講,你就會發現有些命令的操作還是很簡單的,不過在操作的過程中,我也有遇到有些困難,會出現你按照書上學習的例子,將命令輸入終端時會出現你不想要的結果,也就是錯誤的結果。這是問問旁邊的同學或是懂的同學就可以解決了。在對於這部分的學習中,讓我知道了命令對於嵌入式的重要性。它是linux的重要內容,linux中所有的功能都是通過命令執行。在實際套用中,為了減少系統開銷,經常不使用圖形界面,此時,對系統的所有操作都需要以命令方式來執行。在嵌入式系統開發過程中,由於目標機的性能和配置比較低,因此,一般情況下目標機僅具有命令視窗而沒有圖形界面,對目標機的所有操作都通過命令來實現。

還有的那就是進一步學習與嵌入式系統開發相關的linux的服務,他們的啟動、設定等的操作和套用。而在學習之中,我們主要介紹的是嵌入式系統中開發工程使用的TFTP、Telent和NFS服務。第一個實現的事上機位與下機位之間檔案的傳輸、無磁碟網路的設備的啟動等功能;第二個實現的事遠程登錄功能;第三個實現的是網路檔案系統功能。

從以上的內容之中,並不難感受到我們的學習過程是由淺入深的,這對於我們的學習也有了較好的幫助。

當然,我們學習的不僅僅是這么幾個內容,其中還有相關的實驗內容。在我們基礎的學習的過程之中,我有了這么一點的感受,總的來說就是概念加專業名詞還有介紹加實驗。不過你絕對不能小看那些概念和介紹,它對我們有著很重要的指導作用喔!實驗那就更不用說了,它提高我們的動手能力,在實驗的過程中還能讓你更加理解書中的理念,這就是我學習嵌入式的感受。

嵌入式開發學習心得感想 篇3

工作一年了,喜愛嵌入式這個好玩,令人羨慕的行業,不止是工資待遇喔。

4月,又是有許多面臨畢業、找工作的大學生來到,面對如此激烈的競爭,如果有一技之長旁身,那就是你挑公司了。

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

或者網上招聘海投簡歷。

現在就職的公司算不上高大上,還能算的過去。總結一下學習心得,也算對自己學習有個交代吧。

1、如何做好嵌入式Linux學習前的準備?

要成為一名合格的嵌入式Linux工程師,就需要系統的學習軟、硬體相關領域內的知識。大學裡面學的基礎還行,可以繼續自學,我是自學韋東山Linux視頻,重點是有書,有視頻,有代碼。如果基礎太差是個小白,還是建議去花幾萬培訓吧。

2、學習嵌入式Linux需要補習哪些基礎課程?

嵌入式Linux工程師的學習需要具備一定的C語言基礎,因此面對許多朋友只是在大一或者大二學習過C(還不一定認真學了,呵呵!),之後基本就不再用過的情況,建議大家在學習之前先複習一下C語言基礎這塊。要提醒大家的是,複習時不能只關注基本語法,對於常用的數據存儲及處理方式,例如:數組、結構體等也要關注,有條件的話一定在機器上親自敲敲代碼、分析理解一下具體案例代碼編寫的思路,讓自己慢慢進入一名嵌入式開發人員的狀態。

3、嵌入式Linux開發跟普通軟體開發在學習方法上有什麼不同?

要成為一名成功的嵌入式軟體開發人員,程式的設計能力是首要技能,這一點與普通的軟體開發人員的要求是一樣的。但是作為“軟硬兼施”的嵌入式開發,則要求大家不僅要了解較底層軟體的工作過程和工作原理(例如作業系統級、驅動程式級軟體),可以看一下韋東山Linux視頻第1期(基於S3C2440錄製): ARM實驗,u-boot,檔案系統,初級驅動。

嵌入式開發學習心得感想 篇4

學期開始,我們開始學習《嵌入式系統及套用》,由於初次接觸嵌入式系統,感覺蠻難的,所以收穫不是很大,很多的概念都比較模糊,等到學期結束開始做嵌入式課程設計時,真是茫然無從下手,自從拿到設計主題後,我就像熱鍋上的螞蟻,一個字“急”。最後實在沒有辦法,逼著自己去學習,查資料,總算對嵌入式有了淺層理解。

嵌入式系統本身是一個相對模糊的定義,一個手持的MP3和一個PC104的微型工業控制計算機都可以認為是嵌入式系統。總體來說,嵌入式系統是“用於控制,監視或者輔助操作機器和設備的裝備”。一個典型的桌面Linux系統包括3個主要的軟體層---linux核心、C庫和應用程式代碼。核心是唯一可以完全控制硬體的層,核心驅動程式代表應用程式與硬體之間進行會話。核心之上是C庫,負責把POSIX API轉換為核心可以識別的形式,然後調用核心,從應用程式向核心傳遞參數。應用程式依靠驅動核心來完成特定的任務。

在了解了基礎知識之後,我開始進行上機操作,當然,其中遇到很多的難題,很多東西都是第一次接觸,又沒有別人在旁邊指導操作,完全憑藉自己去摸索練習。其中的困難可想而知。然而堅持就是勝利,牙一咬眼一閉堅持做下去,而通過本次實驗,我感覺收穫還是蠻多的嵌入式學習心得體會5篇心得體會可能我對於嵌入式的知識學習的還是不太多,但是這之外的東西收穫頗豐。它讓我學會了如何通過自己的努力去認知一個新事物,更重要的是端正自己的學習態度,只有真正下功夫去學習,才能有收穫,正所謂“一份耕耘,一份收穫。”沒有付出,何談回報呢?再者,通過本次實驗,我也學會了如何去分析問題,如何找出自己設計中的不足,繼而去排除解決問題,這就是一個自我學習的過程。當我們通過實驗去學習理論知識時,自己動手得出的結論,不僅能加深我們對嵌入式的理解,更能加深我們對此的記憶。

當然,在這其中,我也發現自己的許多不足之處,由於學期伊始我沒有好好學習,才落到如此地步,這也可以說是一個教訓吧!我相信在以後的學習工作中,我一定會端正自己的學習態度,一絲不苟的去對待每一件事。只有做好足夠的準備,才能事半功倍!

嵌入式開發學習心得感想 篇5

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;管道和重定向操作符可同時用於一個命令行。

Unit 5:Linux/Unix進程 進程為程式運行的一個實例,可用ctrl-z掛起進程,或在命令後加上&符號即可;運行在後台的系統進程是守護進程,它為用戶提供各種服務。

ps 指令可顯示進程屬性,有ps l;ps a;ps aux等

ps –l可顯示用戶ID、進程ID、優先權、TTY以及STAT

bg、fg 分別將進程放後台、前台運行,jobs則是查詢所運行的進程的狀態;

& 放於命令間表示可同時運行多個命令;

; 表示可順序執行多個命令

前台程式可用ctrl-c來終止、kill指令

進入Unit 6,神秘的Shell腳本逐漸揭開了她那瑰麗的面紗

環境變數的設定:export MYHOST=IP位址

查詢引用 echo $$MYHOST

解常用環境變數:HOME,PATH,TERM,PWD以及PS1 、2,其中PATH最為重要,保存用冒號分割的目錄路徑名,vim –r /etc/profile可打開路徑並修改PATH。

export 顯示當前所有的環境變數;

unset 用於清除環境變數;

執行cp 檔案名稱 /bin 後可直接寫並運行檔案;

Shell的元字元下有許多字元,如* 匹配0個或多個字元;?匹配單個字元;中可加入數字或字母,ls [abc]將查詢a、b、c字元的檔案。

當看到“Linux網路伺服器的搭建”時,內心激動萬分,一直聽說,但未實踐過,很好奇,隨後徐老師為我們細心講解了如何設定與操作,首先我知道了Linux下的檔案系統類型多種多樣,它支持中虛擬檔案系統VFS,因此檔案系統擴展性很好。

檔案歸檔這一小節,真的很慚愧,太多的不理解,而且必須儘快解決的。

RPM包的安裝與使用:rpm –ivh 所要安裝的Linux下的程式名;rpm的查詢用:rpm –qa;刪除用:rpm –e 程式名

SAMBA伺服器搭建:(重點)首先在Linux下創建samba伺服器,進行設定,分享指定目錄,查出Linux下的IP位址,將windows與Linux下的防火牆關閉,ping指令能否ping通,然後更改共享的檔案訪問許可權:chmod 777 –R 目錄名;在Linux命令行下進行掛載點設定:mount /目錄名 /掛載目錄名。

NFS伺服器的搭建:(重要)首先在用戶名下創建資料夾,用此命令進行掛載:mount –t nfs localhost:/目錄名 /掛載點目錄名;與不同機器的系統通信操作時用:mount –t nfs 對方IP位址:/已分享資料夾 /自身目錄;前提:檔案訪問許可權的更該,需要在同一網段,並ping通對方IP位址,在根目錄下可用umount /目錄名 來卸載已經掛載的檔案系統。

在程式開發的過程這一單元,主要講述了程式語言的發展、分類、功能以及程式的編譯、解釋過程,最主要的為程式編輯器:vim:有兩種模式 命令模式與編輯模式,分別用 i和esc鍵來操作,gcc 檔案名稱。後綴 –o 檔案名稱來編譯,進入編輯模式後,可用如下:/搜尋、:N、dnd、yny、p、wq來進行不同功能的操作。

原始碼編排:通常使用indent –kr 檔案名稱即可。重頭戲到來:gcc是Linux下標準編譯器,調試工具:gdb;源程式。c首先進行預編譯(-E)得到。i檔案,經(-S)編譯成彙編檔案嵌入式學習心得體會5篇嵌入式學習心得體會5篇。s,(-c)參數進行。s編譯成。o目標代碼,連結成ELF檔案即可,如:gcc 檔案名稱。後綴 –o 檔案名稱。

gdb調試器:在gcc hello.c –o hello –g 中勿忘 –g,使用gdb 檔案名稱即可進入調試模式,指令r、s、n、b等可以逐步調試出程式的出錯點。

Unit 10多模組程式的編譯與Makefile:Make是非常強大的實用程式,管理多模組程式的編譯與連結,直到生成可執行代碼,vim makefile進入,設定Makefile的入口目標,注意的是在編寫代碼過程中tab鍵會很重要,回車+Tab切記。簡單替換如:CC:=gcc、CC+=-g、在下面的代碼需加$$。Make中的內建變數有:$$@代表當前目標名稱、$$