如何學(xué)習(xí)嵌入式Linux?要學(xué)哪些東西?有些人在學(xué)習(xí)Linux的時候,總是糾結(jié),擔(dān)心自己會繞道而行,擔(dān)心他們學(xué)到的東西不能滿足企業(yè)的需求。下文8點基本很明了如何學(xué)習(xí)嵌入式Linux的方法。這是嵌入式學(xué)習(xí)的基本步驟。我認(rèn)為學(xué)到文中方法,即可成為嵌入式Linux的高級角色。這些東西要依靠自學(xué),說實話是不現(xiàn)實的,嵌入入門的門檻比較高,必須做好準(zhǔn)備。
1、要學(xué)習(xí)Linux,首先要會用,如果不會用怎么知道怎么知道怎么去做,所以需要學(xué)習(xí)Linux系統(tǒng)的安裝及使用。
2、學(xué)會用Linux了,那么我們就要做一些Linux下的開發(fā)了,開發(fā)什么呢?看到網(wǎng)上有很多很強大很有趣的程序,我們都可以嘗試去做,可是如何去做呢,程序是什么呢,怎么寫呢?這時我們需要學(xué)習(xí)一些語言,比如比較基礎(chǔ)的C語言,比如面向?qū)ο蟮腃++,Java等。
3、寫完程序了發(fā)現(xiàn)不就是一個很普通的文件嗎,怎么能像別人寫的程序一樣運行起來呢?這時我們需要知道如何編譯一個程序,需要知道編譯器及一些其他工具的使用,比如GCC,在開發(fā)的過程中我們?yōu)榱颂峁┕ぷ餍蔬€會用到Make,Shell等,為了能夠很好的管理我們代碼的不同版本,我們還需要知道什么是SVC,CVS,subversion,git等。
4、當(dāng)我們開始寫一些比較大的程序,不再是以往的hello world級別的了,這時我們發(fā)現(xiàn)我們考慮的更多了,我們考慮到了程序的效率,我們發(fā)現(xiàn)需要讀寫文件了,我們發(fā)現(xiàn)需要和另外一臺電腦通信了,于是我們有需要學(xué)習(xí)一些更高級點的東西了,比如數(shù)據(jù)結(jié)構(gòu),比如文件IO,比如多進程多線程編程,比如網(wǎng)絡(luò)通信,這時我們會接觸很多新的名詞,什么是樹圖,什么是文件io什么是標(biāo)準(zhǔn)IO,什么是進程線程,什么是TCP/IP。
5、當(dāng)我們再進一步的話,我們會發(fā)現(xiàn)我們什么有很多的東西都運行的是Linux系統(tǒng),可是他們和我的PC運行的Linux有什么區(qū)別呢,為什么我電腦要用風(fēng)扇而手機不用風(fēng)扇呢,我們打開網(wǎng)頁查找手機的詳細參數(shù)的時候,會看到Cortex-A15 、四核 、ARM等等字眼,什么是ARM,什么是Cortex-A15,我們需要進一步的了解。
6、了解完ARM之后,很多人就回去購買一些開發(fā)板,去學(xué)習(xí)它,這時操作系統(tǒng)的移植又成了一個比較重要的內(nèi)容了,什么是bootloader,什么是kernel,什么是rootfs等等,我們怎么做呢。
7、花了很長時間系統(tǒng)做好了,發(fā)現(xiàn)板子上很多的什么不能用,怎么辦呢?這時我們需要寫一些驅(qū)動來驅(qū)動這些設(shè)備,這時我們需要知道,什么是字符設(shè)備驅(qū)動、塊設(shè)備驅(qū)動、網(wǎng)絡(luò)設(shè)備驅(qū)動,為了更好的寫驅(qū)動我們需要了解更多的硬件相關(guān)的東西,我們需要看懂芯片手冊,我們需要看懂原理圖,只有我們懂我們的設(shè)備,才能更好的驅(qū)動它。等等,這里就列舉更多的內(nèi)容了,因為還有很多。
8、這些都有了我們就可以自行開發(fā)我們自己的產(chǎn)品了。
以上即是關(guān)于如何學(xué)習(xí)嵌入式Linux的全部內(nèi)容介紹,想了解更多關(guān)于Linux的信息,請繼續(xù)關(guān)注中培偉業(yè)。