嵌入式全栈工程师_我花了半个月,整理出了这篇嵌入式开发学习指南(学习路线+知识点梳理)...
不好意思久等了
這篇文章讓小伙伴們久等了。
一年多以來,關于嵌入式開發學習路線、規劃、看什么書等問題,被問得沒有一百,也有大幾十次了。但是無奈自己對這方面了解有限,所以每次都沒法交代,搞得實在不好意思。
但是辦法總歸是有的,正如前篇文章《最近厚著臉皮聯系了不少老同學》所聊,雖然我自己不從事這些方向,但尋思了一下,我的同學和朋友中,多少還是有一些從事相關方向并且在一線(或曾在一線)工作過的,所以我就請他們幫忙一起梳理這幾個我不熟悉領域的學習路線,這次嵌入式開發就是其中之一。
這篇文章之所以拖這么久,因為溝通實在太費時間了,畢竟大佬們都挺忙,況且梳理總結這件事情本身就比較繁瑣,所以等到現在才發出來。
本文在開源項目:https://github.com/hansonwang99/JavaCollection中已收錄,里面包含不同方向的自學編程路線、面試題集合/面經、及系列技術文章等,資源持續更新中...嵌入式開發難嗎?
經過這次和同學的交流,我自己也學到了很多。因為嵌入式方面的很多東西我也不懂,我也算學習了。
站在我個人角度來看,結合以前的學習體驗。我覺得嵌入式開發比互聯網軟開(比如Java后端)還是要難一些的,比如我們搞Java開發的,再怎么說,基本也都是用戶態的東西,但嵌入式很多東西都深入到了內核態,所以難度肯定是有的,表現在幾個方面吧:
- 首先,嵌入式它偏底層,軟、硬件都要懂,對能力要求本來就要高不少;
- 其次,嵌入式開發的學習門檻也要高一些,而且像Linux平臺下的開發流程,很多人都不習慣,摸不清;
- 再者,嵌入式學習的正向反饋可能比較慢,尤其是前期學習階段,導致沒有什么成就感,也就堅持不下去了,所以往往就棄坑了。
但是話說回來,做IT的就是這樣,越往底層對人能力的鍛煉就越高,所以對于能力來說是在升維,所以反過來,如果嵌入式做得好的,我覺得來做互聯網問題也不大,到時候就屬于降維打擊了。
總體學習思路
總體來說,還是可以把嵌入式學習分為三個大的階段:
首先基礎學習階段,這就包括通用編程基礎(C語言、數據結構/算法、操作系統、計網、計組、Linux系統基礎)和基本的硬件基礎,扎實地掌握這兩大基礎,是后續持續發展和不斷進步的動力源泉。
其次就是嵌入式應用編程階段,或者說系統平臺編程階段。因為一般會以特定的嵌入式平臺和特定的嵌入式操作系統為依托,熟悉這個系統平臺上的編程方法和流程。以常見的ARM+Linux平臺為例,需要掌握從內存管理到多任務編程、文件I/O、網絡編程,甚至圖形化界面編程等幾個大的方面。
最后就是深入嵌入式底層開發階段,最常見的就是內核開發和驅動開發,這些統屬于內核態開發范疇,所以需要對操作系統內部機制有所涉獵和理解,在此基礎上需要掌握從系統移植到內核開發、驅動開發的各個細節,這是成神之路。
大體思路是這樣,接下來看一下詳細的學習路線和知識點梳理。
學習路線+知識梳理
花了很長時間,就為了整理這張詳細的知識路線腦圖。當然由于時間有限、能力也都有限,畢竟嵌入式全體系實在太龐大了,包括我那做嵌入式的同學,也不可能什么都懂,有些東西可能沒覆蓋到,不足之處,還希望小伙伴們一起交流補充,一起完善進步。
書籍推薦
最后,按照整體的學習路線,再推薦一些對應的經典書籍:
后記:本文在開源項目:https://github.com/hansonwang99/JavaCollection中已收錄,里面包含不同方向的自學編程路線、面試題集合/面經、及系列技術文章等,資源持續更新中...
這次就分享到這里吧,下篇見。
每天進步一點點
慢一點才能更快
總結
以上是生活随笔為你收集整理的嵌入式全栈工程师_我花了半个月,整理出了这篇嵌入式开发学习指南(学习路线+知识点梳理)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux sysstat rpm包下载
- 下一篇: java线程变量值_JAVA线程中对变量