按道理來說有這幾年經驗,應該已經熟悉了幾款微控制器,像stm系列或者ti的,這樣應該對soc的體系結構比較瞭解,一般微控制器是在Windows下開發,熟悉一些匯流排,熟悉一系列業務演算法,可以以此為基礎。
1.首先需要補充os方面的知識,現代作業系統,看一看,執行緒,程序,記憶體管理,檔案系統,網路。
2.開發系統逐步使用Ubuntu或者其他linux發行版,熟悉linux的基本操作,指令碼,交叉編譯
3.看深入理解linux核心,lld第三版,熟悉驅動和核心的基本知識,可以重點看自己熟悉外設的驅動,如spi。
4.可以在熟悉的微控制器上移植一個os,不一定是linux,如果是stm32可以移植freertos,這個網上很多資料,然後結合資源可以移植linux。
5.可以買一個樹莓派,移植linux也是很方便的,可自己新增驅動,寫應用,linux環境高階程式設計,也可以看看。
這樣就你就會理解了,也不會陷入一個os。
當然最簡單有效的方式是直接找一份linux相關的工作,在工作中學習,這又是雞和蛋的問題。
按道理來說有這幾年經驗,應該已經熟悉了幾款微控制器,像stm系列或者ti的,這樣應該對soc的體系結構比較瞭解,一般微控制器是在Windows下開發,熟悉一些匯流排,熟悉一系列業務演算法,可以以此為基礎。
1.首先需要補充os方面的知識,現代作業系統,看一看,執行緒,程序,記憶體管理,檔案系統,網路。
2.開發系統逐步使用Ubuntu或者其他linux發行版,熟悉linux的基本操作,指令碼,交叉編譯
3.看深入理解linux核心,lld第三版,熟悉驅動和核心的基本知識,可以重點看自己熟悉外設的驅動,如spi。
4.可以在熟悉的微控制器上移植一個os,不一定是linux,如果是stm32可以移植freertos,這個網上很多資料,然後結合資源可以移植linux。
5.可以買一個樹莓派,移植linux也是很方便的,可自己新增驅動,寫應用,linux環境高階程式設計,也可以看看。
這樣就你就會理解了,也不會陷入一個os。
當然最簡單有效的方式是直接找一份linux相關的工作,在工作中學習,這又是雞和蛋的問題。