如何學習嵌入式軟件開發?

向上2020


學習嵌入式軟件開發,首先要了解常用電子元件的工作原理。例如,電阻、電容、電感、LED發光管、二極管、三極管等。

瞭解基本電路知識,能看懂電路圖,由淺入深。

學習基本c語言。對於初學者,不需要學的太深,瞭解基本語句,學會使用keil編譯軟件使用方法即可。在實際應用過程中,遇到問題,再不斷學習完善自己。

購買51單片機學習開發板,或者有自動下載功能的單片機最小系統板,用這兩種學習工具,可以免去購買燒錄器的額外費用,使用起來也很方便。

總之,對於嵌入式軟件開發的學習,要勤於動手,精於實戰。通過不斷的應用練習,完善自己。






USD3


嵌入式軟件和互聯網或者信息系統純軟件有較大區別,它是嵌入在某種硬件平臺上的軟件,脫離硬件平臺軟件將無法正常工作。學習嵌入式軟件開發需要先學習以下的基礎知識和技能:

1.熟悉計算機基礎理論知識。如計算機體系結構,數據結構,操作系統原理,編譯原理。

2.熟練掌握C/C++需要。

3.熟悉linux操作系統。

4.熟悉shell或者python腳本。

5.具備數字電路基礎知識,至少要能看懂原理圖。

那麼,怎麼去學習嵌入式軟件開發呢?

1.先從編程語言C/C++入手。多練習編寫小程序,掌握基本的編程語言語法知識。

2.如果掌握了編程語言,則可以多看技術網站和論壇,看一些其他人做過的開源小軟件或者軟件的一小部分,來加強一下編程邏輯。

3.自己買個開發板動手從gpio跑馬燈驅動開發。開發板要選擇所帶外圍設備或或模塊較多,有詳細使用指導手冊和demo的開發板。

4.從簡單模塊入手,一邊查看datasheet學習模塊或外設的工作原理一邊編寫驅動程序。

5.如果各模塊都能驅動起來,則可以研究或者寫bootloader啟動程序。

6.練習linux 系統移植,內核裁剪,文件系統精簡,內核下的驅動開發等。

7.學習簡單電路設計,來增強對原理圖的理解。

8.開始構建自己的嵌入式小產品。

9.基本功具備後要選擇方向,朝某一方向的嵌入式軟件深入,突出行業深度。如音視頻編解碼,物聯網,人工智能軟件等方向。

學習嵌入式軟件要多動手實踐,同時要多瞭解行業技術規範和協議。


情緒需要管理


大家都知道這個領域人才非常稀缺,但是,學習週期比較長,需要的知識面也比較廣,所以不要心急。先看看下面的幾個問題,瞭解一下你現在的知識水平:

(1)你用VC++或BC++編寫過應用程序嗎?

如果編寫過應用程序,那就做好了,如果你沒有做過上層應用程序,那麼又如何能夠去理解更深的更高深的底層程序呢,那就趕快補上這一課吧!!!

(2)你曾經編寫過單片機或者DSP的程序嗎?

我們把類似51單片機或者DSP上面跑的沒有操作系統的程序叫做“代碼裸奔”,我們也都曾經編寫過裸奔的代碼。因為有的時候比如我們編寫一個簡單的程序,就只需要點幾個LED檢測幾個按鈕的狀態,那麼“代碼裸奔”弄一個while(1)的死循環就足夠了,殺雞何必用牛刀。

編寫這種裸奔的代碼,也是學習嵌入式的必由之路,因為,你將會用C語言去對寄存器寫控制字,這就是以後寫驅動程序的基礎呀。

另外需要說明的是,從概念上說,“代碼裸奔”也已經屬於嵌入式開發的範疇。

(3)到了最後一個階段,你就可以開始找一個方向(uCos、Linux、VxWorks、WindowsCE、Palm等等等等),學習有操作系統的嵌入式開發了。

嵌入式操作系統的種類也是無法計數的,有一些我連名字也叫不上來,太多太多了。但是值得慶幸的是,這些操作系統大同小異,相通的。

你正在在讀書,建議學習uCos操作系統(看邵貝貝的《UC/OS操作系統》);如果你不喜歡這麼Basic的操作系統,VxWorks也是一個不錯的選擇,VxWorks進入中國已經好多年了,國內出版的書也都很好,尤其推薦陳智育的《VxWorks程序開發實踐》和周啟平的《VxWorks下設備驅動程序及BSP開發指南》;Linux簡直是惡夢,但是如果你能夠走出這個噩夢,你也就成了高手了。

就說這麼多吧,路漫漫其修遠,祝你成功!!!


飯飯H


嵌入式軟件開發大致方向可以分為驅動開發和系統應用開發。

(1) 基礎知識:需要學習C和Shell語言,操作系統基本原理,程序的編譯過程與內存分佈,Makefile編寫等。

(2) 驅動開發:內核基礎,內存管理,設備管理,中斷處理,與用戶態的通信方式,調度策略,鎖同步等,還需要對硬件知識有一定的瞭解,最起碼能看懂硬件原理圖。

(3) 系統應用開發:進程間通信方式,多線程編程,TCP/IP網絡編程,性能調優等。

最後:

多看多練多總結

多看多練多總結

多看多練多總結


牧世


嵌入式Linux與ARM處理器發展得如火如荼,風頭幾乎蓋過了互聯網相關的應用開發。但接下來的十幾年,互聯網、移動應用開發、H5熱潮、微信小程序,一個又一個的新概念不斷湧現,但似乎與嵌入式關係都不大。自然,“學嵌入式不如學計算機編程有前途”,“嵌入式底層面窄,不如做上層應用機會多”等一系列問題開始困擾嵌入式學習者。


瑞波嘞


嵌入式自學的話非常難,因為嵌入式需要學習的東西很多而且很難,如果你沒掌握學習嵌入式的方法的話,可能1-2年都只能入門,如果你掌握嵌入式的學習的方法的話,半年就能學會嵌入式。………………………………………… 看你問的問題,應該是對嵌入式很感興趣,其實你可以自學嵌入式。關於如何學習嵌入式,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學嵌入式,並找到嵌入式的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。 先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻醜了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。 退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。 一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。 回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。 後來,我在百度知道看到一篇讓我很鼓舞的文章,是一個嵌入式高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。 我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。 主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不繫統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。 後來我又找到一份很好的視頻,是在IT學習聯盟網站推出的一份視頻《零基礎嵌入式就業班》(喜歡《零基礎嵌入式就業班》的可以複製 sina.lt/qKh 粘貼瀏覽器地址欄按回車鍵即打開)。裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視頻比較便宜。 下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。 收到他們寄過來的光盤後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了C和linux的基本操作。 接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎麼做的,但是驅動我只是有一點點的瞭解,這個相對難一點,我想以後再慢慢啃。 這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,然後我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。 最後的一個月,我就去看關於實踐部分的內容,瞭解嵌入式項目具體的開發流程,需要什麼樣的知識,我就開始準備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以後找工作做準備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多準備了20天左右 我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了準備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。 後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500只能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。 把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。……………………………………………… ------------- 如果我回答對你有幫助,請關注我一下。或有其他問題也可以關注我,給我發私信


分享到:


相關文章: