嵌入式:我不是針對誰,我是說在座的Javaer都是弟弟,尤爲程序羊

嵌入式:我不是針對誰,我是說在座的Javaer都是弟弟,尤爲程序羊


很差意思久等了


這篇文章讓小夥伴們久等了。算法

一年多以來,關於嵌入式開發學習路線、規劃、看什麼書等問題,被問得沒有一百,也有大幾十次了。可是無奈本身對這方面瞭解有限,因此每次都無法交代,搞得實在很差意思。編程

可是辦法總歸是有的,正如前篇文章《最近厚着臉皮聯繫了很多老同窗》所聊,雖然我本身不從事這些方向,但尋思了一下,個人同窗和朋友中,多少仍是有一些從事相關方向而且在一線(或曾在一線)工做過的,因此我就請他們幫忙一塊兒梳理這幾個我不熟悉領域的學習路線,此次嵌入式開發就是其中之一。後端

這篇文章之因此拖這麼久,由於溝通實在太費時間了,畢竟大佬們都挺忙,何況梳理總結這件事情自己就比較繁瑣,因此等到如今才發出來。網絡


嵌入式開發難嗎?


通過此次和同窗的交流,我本身也學到了不少。由於嵌入式方面的不少東西我也不懂,我也算學習了。數據結構

站在我我的角度來看,結合之前的學習體驗。我以爲嵌入式開發比互聯網軟開(好比Java後端)仍是要難一些的,好比咱們搞Java開發的,再怎麼說,基本也都是用戶態的東西,但嵌入式不少東西都深刻到了內核態,因此難度確定是有的,表如今幾個方面吧:ide

  • 首先,嵌入式它偏底層,軟、硬件都要懂,對能力要求原本就要高很多;
  • 其次,嵌入式開發的學習門檻也要高一些,並且像Linux平臺下的開發流程,不少人都不習慣,摸不清;
  • 再者,嵌入式學習的正向反饋可能比較慢,尤爲是前期學習階段,致使沒有什麼成就感,也就堅持不下去了,因此每每就棄坑了。
    可是話說回來,作IT的就是這樣,越往底層對人能力的鍛鍊就越高,因此對於能力來講是在升維,因此反過來,若是嵌入式作得好的,我以爲來作互聯網問題也不大,到時候就屬於降維打擊了。

整體學習思路


整體來講,仍是能夠把嵌入式學習分爲三個大的階段:學習

首先基礎學習階段,這就包括通用編程基礎(C語言、數據結構/算法、操做系統、計網、計組、Linux系統基礎)和基本的硬件基礎,紮實地掌握這兩大基礎,是後續持續發展和不斷進步的動力源泉。操作系統

其次就是嵌入式應用編程階段,或者說系統平臺編程階段。由於通常會以特定的嵌入式平臺和特定的嵌入式操做系統爲依託,熟悉這個系統平臺上的編程方法和流程。以常見的ARM+Linux平臺爲例,須要掌握從內存管理到多任務編程、文件I/O、網絡編程,甚至圖形化界面編程等幾個大的方面。3d

最後就是深刻嵌入式底層開發階段,最多見的就是內核開發和驅動開發,這些統屬於內核態開發範疇,因此須要對操做系統內部機制有所涉獵和理解,在此基礎上須要掌握從系統移植到內核開發、驅動開發的各個細節,這是成神之路。blog

大致思路是這樣,接下來看一下詳細的學習路線和知識點梳理。


學習路線+知識梳理


花了很長時間,就爲了整理這張詳細的知識路線腦圖。固然因爲時間有限、能力也都有限,畢竟嵌入式全體系實在太龐大了,包括我那作嵌入式的同窗,也不可能什麼都懂,有些東西可能沒覆蓋到,不足之處,還但願小夥伴們一塊兒交流補充,一塊兒完善進步。

嵌入式:我不是針對誰,我是說在座的Javaer都是弟弟,尤爲程序羊
注:圖片上傳後可能被壓縮,如需無損版高清大圖或PDF版文檔,可直接在本公衆號後臺回覆「嵌入式」三個字自取吧。


書籍推薦


最後,按照總體的學習路線,再推薦一些對應的經典書籍:

嵌入式:我不是針對誰,我是說在座的Javaer都是弟弟,尤爲程序羊
此次就分享到這裏吧,下篇見。

天天進步一點點

慢一點才能更快

相關文章
相關標籤/搜索