-
1 # 大骨架
-
2 # 老電工愛學習
你已經學習了c語言,想要學好嵌入式開發,還需要學習計算機基礎,數位電路基礎,微控制器等知識。這些是必須掌握的。其他還可以學習類比電路基礎,組合語言,電路理論基礎,pcb設計,相關軟體知識。先把基礎打牢,開發才能得心應手。
-
3 # 你的程式設計老師
還是打算從事嵌入式平臺本身開發。如果是應用軟體開發,現在主流的應該是c或者c家家語言,這幾年隨著主流技術的興起也有好多軟體,遊戲是用java開發的。如果要從事的是平臺開發的話,那麼建議你需要好好學習組合語言和作業系統。並且作業系統需要全方面掌握。主流的windows,liunx等。因為要寫平臺驅動和一些小型的作業系統。組合語言必須要精通,精通,精通重要的事情說三遍。
其他的內容比如,資料結構和演算法,微控制器原理,作業系統,彙編,高數,離散數學,線數。對於驅動開發,效率很重要,也就是說,學好各種數學很重要。
同時由於學習難度大,從事這個行業的人來說相對少,畢竟入門起點較高,需要精通軟硬家,同時企業數量也較少,學歷需求也較高。相反,錢也高,穩定,開發出來的產品不容易被別人盜版。
總之,一句話根據自己的興趣走,任何事情都不是難事。喜歡就去做,只有做了,才知道酸甜苦辣。相信自己。
-
4 # 大學生程式設計指南
從事嵌入式開發已經偶幾年了,嵌入式主要分為兩個領域硬體工程師另外一種是軟體開發工程師,現在主要談軟體工程師,嵌入式軟體工程師需要掌握基本程式語言C語言,這是程式語言,主要在嵌入式驅動開發以及應用級開發用的比較多,很多初學者都會問到C語言學到什麼程度能夠做開發,在問這個問題之前首先要明白自己掌握了多少基礎知識,C語言從語法細節講不是很多,但在實際操作過程中經驗和套路非常多,組合方式靈活多變。
可能在梳理這門程式語言的時候沒有覺得多麼的語法,但在實際看程式碼的時候發現靈活性太強,很多程式碼如果之前沒有接觸過基本上抓瞎,特別是指標樣式的轉變,因為其靈活性和執行效率所以在嵌入式方面一直是首選的程式語言,linux作業系統以及底層驅動一直都是以這種程式語言為底子修改的,用C語言開發應用的嵌入式公司也是大有人在,說了半天C語言需要掌握多少知識,現在根據自己開發經驗簡單羅列下。
1.基礎語法
資料型別,常量,變數,運算子,判斷,迴圈等
2.函式
函式基本用法,函式指標,函式設計模式,遞迴函式
3.
陣列和指標陣列和指標的基本語法,多級指標的使用,指標和陣列以及函式組合使用方式
4.結構體
結構體位元組對齊,以及資料結構的設計方式,結構體如何進行賦值
還有一些遞迴等方式應用,這些都是基本語法,關鍵還在於實際操作。說到最關鍵點還是指標,很多人覺得資料結構這門課程學起來非常費勁,如果在真正掌握了指標的這個概念學起來就非常省勁了,而資料結構也是嵌入式開發的必備基礎之一,畢竟資料結構下一步的延伸就是演算法邏輯了,所以講C語言搞不定就不要考慮進一步嵌入式的學習了。
學習嵌入式需要掌握的基本功1.
基本程式語言C/C++嵌入式開發需要操作硬體,需要C/C++,這兩種程式語言也是必備,如果覺得掌握起來有難度就可以先從C語言切入,在有了基本概念之後,再去學習C++,畢竟要在這個行業內有一個長足的發展需要必須要有一個長期的規劃。先從第一種程式語言開始切入學習。
2.資料結構
單獨把資料結構拿出來,因為在實際程式設計過程中免不了要設計基本模組或者框架,如果規劃基本的資料結構是平常在程式設計中需要思考的問題,不僅僅是語法裡面的結構體或者類的設計更有一些程式設計設計模式在裡面。
3.linux
作業系統在這單獨列出linux作業系統,並不是嵌入式的作業系統都是使用這種,主要使用的機率太高了,作業系統就會涉及到程序和執行緒的基本概念,涉及到執行緒如何設定佇列或者優先順序等方面的問題,以及臨界區等問題。特別是多執行緒一起操作的時候用的比較多。
C語言只是嵌入式程式設計一個小的方面,要想在這個行業內有所成就,先把自己的心態調整平穩穩紮穩打,一步一個腳印走下去,至於是不是計算機專業出身,這些都是客觀因素,沒有必要因為這些給自己戴上枷鎖,限制自己的發展。
-
5 # CrazyJin1988
學習計算機組成原理。既然是嵌入式開發,就難免要和硬體打交道。推薦書籍:《計算機組成:結構化方法》。
學習作業系統,很多嵌入式系統也是有作業系統的。所以作業系統十分有必要。推薦書籍:《現代作業系統》。
網際網路時代,嵌入式裝置聯網也很常見。所以學習計算機網路也很有必要。推薦書籍:《計算機網路》。
最後,程式設計中常用的資料結構和演算法。推薦書籍《演算法導論》。
回覆列表
既然你也說了想要系統的學習,那麼你就得先補充很多知識,包括c語言也需要多聯絡,嵌入式arm和dsp,找本書隨便看看熟悉下,買個開發版,自己摸索下,慢慢熟悉開發環境,後面再瞭解嵌入式作業系統,自己能移植,熟悉中斷,檔案系統,應付一般的嵌入式開發就足夠了!結合具體應用,或者結合具體專案,從頭到尾搞一個專案,自然就水到渠成!