電子產(chǎn)業(yè)一站式賦能平臺(tái)

PCB聯(lián)盟網(wǎng)

搜索
查看: 1783|回復(fù): 0
收起左側(cè)

成都嵌入式培訓(xùn)資料大全_開(kāi)發(fā)嵌入式需要大量輔助軟件

[復(fù)制鏈接]

2607

主題

2607

帖子

7472

積分

高級(jí)會(huì)員

Rank: 5Rank: 5

積分
7472
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2020-8-4 16:20:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
成都嵌入式培訓(xùn)資料大全_開(kāi)發(fā)嵌入式需要大量輔助軟件,   

熟練掌握C/C++,熟悉Linux/Windows操作系統(tǒng),對(duì)于OS的軟、硬件資源的分配、任務(wù)調(diào)度,控制、協(xié)調(diào)并發(fā)活動(dòng)有較深的研究。熟悉TCP/IP及無(wú)線網(wǎng)絡(luò)(Zigbee、Wi-Fi、藍(lán)牙、2/3/4G)協(xié)議,熟悉TCP/IP、USB、串口、SPI協(xié)議的處理;行業(yè)的需求帶動(dòng)人才的發(fā)展,越來(lái)越多的人選擇嵌入式技術(shù),今天我們來(lái)談?wù)勄度胧絃inux的入門。

一、系統(tǒng)環(huán)境

1、環(huán)境搭建

開(kāi)發(fā)嵌入式需要大量輔助軟件,一般來(lái)說(shuō),我們是在電腦上開(kāi)發(fā)好程序,然后通過(guò)某些方式將程序下載到開(kāi)發(fā)板上運(yùn)行。按這個(gè)順序列出一些我認(rèn)為必須的:

Linux系統(tǒng):主要作為程序開(kāi)發(fā)的系統(tǒng),選擇多人使用并資源豐富的版本,建議ubuntu或fedora,目前我使用ubuntu?梢允褂迷谔摂M機(jī)或物理機(jī)上。

虛擬機(jī):有條件的推薦使用物理機(jī)安裝,但一般經(jīng)常使用vmware這類虛擬機(jī)軟件,通過(guò)這個(gè)軟件安裝ubuntu系統(tǒng),然后設(shè)置共享。然后在這個(gè)系統(tǒng)上交叉編譯。

共享方式:有的人喜歡用vmware自帶共享功能,有的人喜歡用samba共享。個(gè)人建議在ubuntu中設(shè)置samba共享,這樣可以在windows上將ubuntu共享目錄映射成為其中一個(gè)盤符,這樣做,就可以在windows下操作linux系統(tǒng)的目錄、文件了,不過(guò)前提是需要網(wǎng)絡(luò)性能良好。另一種常見(jiàn)的共享方式是nfs,多用于主機(jī)和開(kāi)發(fā)板之間的文件傳輸。

開(kāi)發(fā)IDE:有的人建議在linux系統(tǒng)中用vim或emacs,但作為初學(xué)者入門,不要如此,使用vim、emacs學(xué)習(xí)成本高,而會(huì)打擊積極性。在samba共享情況下,建議使用Notepad++、source insight進(jìn)行代碼編譯。

交叉編譯:交叉編譯是嵌入式一個(gè)很重要的概念。由于我們編譯的程序是在開(kāi)發(fā)板(開(kāi)發(fā)板又稱目標(biāo)板)上運(yùn)行的,但開(kāi)發(fā)板又沒(méi)有環(huán)境進(jìn)行編譯,所以帶出“交叉編譯”概念。即在一臺(tái)linux主機(jī)系統(tǒng)上使用交叉編譯器對(duì)代碼進(jìn)行編譯,但編譯得到的二進(jìn)制文件無(wú)法在該主機(jī)運(yùn)行,只能在開(kāi)發(fā)板上運(yùn)行。不同的板子使用的交叉編譯器不同。一般使用商家自帶的交叉編譯器。

下載手段:根據(jù)應(yīng)用場(chǎng)合,可以用jtag燒錄器下載程序(適用如u-boot開(kāi)發(fā))。可以使用tftp方式下載程序(適用kernel開(kāi)發(fā))。在開(kāi)發(fā)板系統(tǒng)啟動(dòng)后且網(wǎng)絡(luò)正常情況下,可以使用tftp下載、nfs拷貝等方式進(jìn)行調(diào)試(適用于應(yīng)用層程序開(kāi)發(fā))。

另外對(duì)于USB轉(zhuǎn)串口線、網(wǎng)絡(luò)這類的東西,就不一一詳細(xì)說(shuō)明了。

掌握程度:不同人使用的開(kāi)發(fā)環(huán)境不盡相同。原則上只要是自己熟悉的環(huán)境就可以了,以提高開(kāi)發(fā)效率為準(zhǔn)則。

推薦軟件:vmware、notepad++、source insight、tftpd32(均為windows系統(tǒng)軟件)。

2、系統(tǒng)使用

工欲善其事,必先利其器。系統(tǒng)環(huán)境使用熟悉程度越高,越能提高開(kāi)發(fā)速度。舉個(gè)例了,曾經(jīng)遇到過(guò)別人在設(shè)備上調(diào)試應(yīng)用程序,步驟是:編碼、編譯、制作軟件包、用工具升級(jí)軟件包到設(shè)備上,設(shè)備上電看效果。這一系列步驟中,制作包、升級(jí)軟件包耗時(shí)很長(zhǎng),對(duì)于調(diào)試十分不利。如果使用NFS,時(shí)間能省至少三分之二。所以說(shuō),環(huán)境的熟悉是十分重要和必要的。

這里主要針對(duì)Linux系統(tǒng),對(duì)于入門者而言,Linux系統(tǒng)的使用是一個(gè)大坎。但要知道,嵌入式開(kāi)發(fā)是離不開(kāi)linux系統(tǒng)的,是必須學(xué)的。目前網(wǎng)絡(luò)資料十分廣泛,幾乎遇到的問(wèn)題都在找到答案,但質(zhì)量往往良莠不齊,有些甚至?xí)`導(dǎo)人。因此,建議一邊學(xué)一邊做筆記,把自己的疑問(wèn)、心得、步驟都記錄下來(lái)(比如,記錄第1小節(jié)提到的nfs、samba服務(wù)安裝的步驟)。

如果時(shí)間允許,最好找書本來(lái)學(xué)習(xí),邊看書邊敲命令。因?yàn)闀榻B比較系統(tǒng),有利于了解全貌,再逐個(gè)知識(shí)點(diǎn)深入,做到胸有成竹。下面列一下需要學(xué)習(xí)的知識(shí)點(diǎn)。

1、掌握常用命令。必須要學(xué)的命令不多,像查看文件、拷貝文件、創(chuàng)建文件、查找文件、顯示日期、查看/修改IP,等等。這些常用命令只要使用次數(shù)多了,就能熟練掌握。具體的自行搜索。

2、掌握軟件安裝步驟。一般linux系統(tǒng)發(fā)行版自帶有安裝工具,如unbutu,在聯(lián)網(wǎng)情況下直接輸入命令apt-get install tool-name,就能安裝了。

3、編譯源碼方式安裝軟件。有些工具提供源碼需要自己進(jìn)行編譯(比如要在開(kāi)發(fā)板上運(yùn)行的程序,則無(wú)法通過(guò)apt-get來(lái)安裝,需要交叉編譯)。linux編譯一般有三個(gè)步驟:

l 配置:./configure

l 編譯:make

l 安裝:make install。

這個(gè)知識(shí)點(diǎn)請(qǐng)大家自行百度吧,這里由于篇幅原因就不細(xì)說(shuō)了。

4、了解linux文件系統(tǒng)、目錄結(jié)構(gòu)、設(shè)備文件。如根目錄名稱是“/”,配置文件一般位于/etc目錄,運(yùn)行程序一般位于/bin、/sbin、/usr/bin、/usr/sbin,等等。因?yàn)榍度胧缴婕暗礁募到y(tǒng)概念,因而需要對(duì)linux目錄結(jié)構(gòu)有了解。如果感興趣,可以去搜索一下LFS。

5、學(xué)習(xí)IO重定向、管道概念,學(xué)習(xí)并會(huì)寫簡(jiǎn)單shell腳本。

6、學(xué)習(xí)編輯器vi的簡(jiǎn)單使用(因?yàn)橛行┣闆r下只有這個(gè)編輯器可用)、編譯器gcc用法、Makefile知識(shí)、gdb調(diào)試。(此項(xiàng)針對(duì)開(kāi)發(fā)而言)

學(xué)習(xí)建議:

1、看書、網(wǎng)絡(luò)搜索

2、學(xué)會(huì)man命令(這是linux內(nèi)置的幫助命令,比如要了解cp命令的用法,則輸入man cp)

3、記錄筆記

二、應(yīng)用層

1、C/C++語(yǔ)言

C/C++語(yǔ)言本身與具體平臺(tái)相關(guān)不大,但必須結(jié)合具體環(huán)境平臺(tái)才能展現(xiàn)其作用。比如,MFC使用C/C++,QT也使用C/C++,Linux內(nèi)核中使用C,單片機(jī)使用C,等等。環(huán)境不同,其側(cè)重點(diǎn)不同。在學(xué)校里學(xué)習(xí)C/C++語(yǔ)法,考完試,卻沒(méi)有結(jié)合實(shí)際項(xiàng)目編程,就有人糾結(jié)學(xué)了C/C++不懂能做什么。只有真正在某一領(lǐng)域使用了C語(yǔ)言,它才是一個(gè)可以看得見(jiàn)、摸得著的東西,而不再是抽象的。

這里結(jié)合Linux系統(tǒng),列舉出一些要掌握、學(xué)習(xí)的知識(shí)點(diǎn)。

1、linux系統(tǒng)編程基本概念:Makefile、gcc、gdb。

2、文件IO操作。

3、進(jìn)程控制、進(jìn)程間通信、多線程操作

4、信號(hào)處理

5、網(wǎng)絡(luò)編程

6、串口編程

另外也列舉C/C++語(yǔ)言的學(xué)習(xí)點(diǎn):

1、標(biāo)準(zhǔn)庫(kù)

輸入輸出(fprintf、sscanf)、文件操作(fopen、fclose)、字符類操作(isalpha、islower)、字符串操作(strcpy、strcmp、memcpy)、信號(hào)處理(signal)、日期時(shí)間(mktime、ctime) [!--empirenews.page--]

2、C++ STL

向量vector、隊(duì)列queue、棧stack、列表list。

推薦網(wǎng)站:http://www.cplusplus.com/reference/

下面列出一些我認(rèn)為較好的書籍。每種類型的書籍應(yīng)用場(chǎng)合不同,按需求學(xué)習(xí)!粌H嵌入式Linux領(lǐng)域,其它很多領(lǐng)域同時(shí)需要C,因而要提高C技能。

入門篇:

《Linux C 編程一站式學(xué)習(xí)》

《Linux C從入門到精通》

《Linux C編程從初學(xué)到精通 》

《Linux C編程實(shí)戰(zhàn)》

《嵌入式linux應(yīng)用開(kāi)發(fā)完全手冊(cè)》 (該書對(duì)嵌入式Linux開(kāi)發(fā)整體都有講述,一書以看窺全貌,入門適用)

學(xué)習(xí)路線:

環(huán)境:安裝虛擬機(jī)linux,配置好samba,有windows下用notepad++編寫代碼,然后在命令行使用gcc編譯并運(yùn)行。像ubuntu安裝必要開(kāi)發(fā)工具sudo apt-get install build-essential 這類的知識(shí)點(diǎn)本文就不涉及了。

實(shí)踐:首先了解linux下gcc編譯基本概念,然后逐個(gè)知識(shí)點(diǎn)學(xué)習(xí)。以上每點(diǎn)均是一個(gè)知識(shí)塊,需要手動(dòng)寫代碼。建議在github上建立倉(cāng)庫(kù),形成自己的代碼庫(kù),方便日后使用。

2、版本控制

版本控制可以提高開(kāi)發(fā)效率,目前很多公司使用svn或git進(jìn)行代碼管理,很多開(kāi)源項(xiàng)目——包括kernel,都使用git來(lái)管理。對(duì)于不涉密的代碼,推薦使用github托管,而不便公開(kāi)的代碼,可以在bitbucket上托管。養(yǎng)成保存代碼的習(xí)慣很重要。筆者很多年前沒(méi)有代碼托管意識(shí),一次電腦被偷,導(dǎo)致很多代碼消失了,如今想找也想不回來(lái)了。

版本控制學(xué)習(xí)成本不大,無(wú)非創(chuàng)建倉(cāng)庫(kù)、提交代碼這些過(guò)程,結(jié)合日常編碼練習(xí),慢慢熟悉掌握即可。嵌入式靈樹(shù)小波, 半導(dǎo)體嵌入式基板, plc還是嵌入式, 嵌入式成本利潤(rùn)率, 嵌入式設(shè)備樹(shù), 假期嵌入式培訓(xùn), 嵌嵌入式視頻教程, 嵌入式軟件接口類型, 單片機(jī)嵌入式培訓(xùn)班, 嵌入式麥克開(kāi)孔, 嵌入式系統(tǒng)結(jié)構(gòu)形式, 嵌入式按鍵程序, 嵌入式軟件有外包嗎, 嵌入式qt觸摸, 嵌入式操作系統(tǒng)通信, it嵌入式工資, 學(xué)嵌入式的視頻, 嵌入式螺母2.5, 嵌入式手機(jī)英偉達(dá), 嵌入式路由器缺點(diǎn), 嵌入式與應(yīng)用開(kāi)發(fā), 昆山嵌入式傳遞窗, 自學(xué)怎么學(xué)好嵌入式,

3、腳本

Linux系統(tǒng)的腳本語(yǔ)言有很多,使用場(chǎng)合也不同,主要目的是提高開(kāi)發(fā)效率。比如:在shell腳本中完成代碼的編譯并拷貝到nfs共享目錄(或tftp服務(wù)目錄)。這樣只需要執(zhí)行腳本就完成多項(xiàng)工作,節(jié)省很多時(shí)間。

4、界面開(kāi)發(fā)

界面開(kāi)發(fā)不是筆者強(qiáng)項(xiàng),就寫一寫筆者的經(jīng)歷。筆者接觸過(guò)的界面開(kāi)發(fā)有QT、SDL、MFC。這些都是作為工具而存在的,不是專門研究,都是工作需要時(shí)再去學(xué)習(xí),邊學(xué)習(xí)邊實(shí)踐。

比如,做一個(gè)視頻采集的軟件,使用了SDL進(jìn)行顯示。

比如,為了顯示YUV格式的文件,使用MFC編寫一個(gè)播放器。

5、其它書籍推薦

內(nèi)功修煉篇:

《程序員的自我修養(yǎng)——鏈接、裝載與庫(kù)》(偏底層的人建議看看)

《高效程序員的45個(gè)習(xí)慣 敏捷開(kāi)發(fā)修煉之道》

《高質(zhì)量程序設(shè)計(jì)指南》(建議看看,工作中編寫代碼一定要注意編碼規(guī)范,否則維護(hù)難度太大)

《Linux開(kāi)發(fā)工具箱:項(xiàng)目開(kāi)發(fā)的最有效途徑》(對(duì)應(yīng)英文版本《The Linux Programmer\“s Toolbox》,網(wǎng)絡(luò)有資源)

(注:入門級(jí)別書籍不建議購(gòu)買,通過(guò)網(wǎng)絡(luò)資源或去圖書館借書等手段來(lái)學(xué)習(xí)就行了。當(dāng)然經(jīng)濟(jì)條件允許的除外)

三、底層

這里說(shuō)的底層包括三大方面,這三大方面缺一不可。

bootloader:作為上電運(yùn)行的第一個(gè)程序,負(fù)責(zé)最原始的初始化操作,初始化芯片、初始化內(nèi)存、初始化IO復(fù)用,讀取內(nèi)核代碼并將控制權(quán)移交到內(nèi)核,從而完成使命。

kernel:提供基本的運(yùn)行環(huán)境,提供外設(shè)操作控制接口。

rootfs:向用詞(應(yīng)用層)提供基本操作環(huán)境,包括命令行、程序庫(kù)等。

1、bootloader(啟動(dòng)裝載程序)

嵌入式Linux常見(jiàn)的bootloader是u-boot,而X86領(lǐng)域中一般稱為BIOS。u-boot的學(xué)習(xí)沒(méi)有捷徑,最好是在有ARM開(kāi)發(fā)板情況下進(jìn)行研究,通過(guò)打印信息的方法跟蹤其流程。但是,看懂u-boot代碼需要電路基本知識(shí)、芯片手冊(cè)知識(shí)等等。這些知識(shí),同樣適用于內(nèi)核驅(qū)動(dòng)的開(kāi)發(fā)。

首先要建立的是整體概念和認(rèn)識(shí)。建議先把廠商提供的u-boot源碼編譯通過(guò),并下載到開(kāi)發(fā)板上看到正常結(jié)果后,再用串口打印信息搜索代碼,以了解u-boot的代碼流程。然后再慢慢研究。如果bootloader不是學(xué)習(xí)重點(diǎn),在有一定概念前提下就可以跳過(guò)到內(nèi)核驅(qū)動(dòng)層了,不過(guò)就筆者經(jīng)驗(yàn)來(lái)看,bootloader和內(nèi)核關(guān)系十分密切且部分代碼是相通的。

一般初始化的代碼是匯編代碼,對(duì)于入門者而言,初學(xué)階段不用追究,等有一定基礎(chǔ)后再回頭研究也不晚。

2、kernel(內(nèi)核)

內(nèi)核是比較大的一塊,涉及內(nèi)容十分多。作為入門者,與u-boot類似,首先要建立的整體概念。先把廠商提供的內(nèi)核源碼編譯通過(guò),并下載到開(kāi)發(fā)板上,串口會(huì)打印很多啟動(dòng)信息,這些啟動(dòng)信息能幫助我們學(xué)習(xí)內(nèi)核,自己也可以在內(nèi)核中打印語(yǔ)句,以了解其流程。

每一個(gè)平臺(tái)芯片不同,外設(shè)不同,內(nèi)核均不同,需要進(jìn)行移植。所謂的“移植”,就是找到合適的驅(qū)動(dòng),修改適應(yīng)到該平臺(tái)的過(guò)程。比如,某平臺(tái)使用2個(gè)LCD屏,一個(gè)是3.5寸的,另一個(gè)是4.3寸的,這需要對(duì)內(nèi)核進(jìn)行修改。比如,這個(gè)平臺(tái)使用nand flash是1GB的,另一個(gè)平臺(tái)使用的是512MB的,也需要修改內(nèi)核。其它如EEPROM、電源芯片、網(wǎng)卡,等等,均如此。

內(nèi)核知識(shí)點(diǎn)分2部分,一是kernel本身的知識(shí)點(diǎn),如內(nèi)存管理機(jī)制(MMU)、時(shí)間管理、同步機(jī)制,等等。二是外設(shè)驅(qū)動(dòng),如LED燈、GPIO、按鍵。

初學(xué)者建議學(xué)習(xí):

1、了解內(nèi)核編譯的過(guò)程:配置內(nèi)核、編譯uImage。

2、了解platform驅(qū)動(dòng)模型(筆者文章有現(xiàn)成的模板,已經(jīng)應(yīng)用于很多個(gè)平臺(tái)上)。

3、了解一般外設(shè)驅(qū)動(dòng)模型。建議從簡(jiǎn)單的LED、GPIO入門。

高階知識(shí)點(diǎn):

1、學(xué)習(xí)各種子系統(tǒng),如MTD、USB、IIC、SPI、RTC、WDT。

2、學(xué)習(xí)內(nèi)核知識(shí),如延時(shí)隊(duì)列、時(shí)間管理,同步機(jī)制,等等。

3、rootfs(根文件系統(tǒng))

一般情況下,開(kāi)發(fā)板廠商會(huì)提供根文件系統(tǒng),如果沒(méi)有,則可以自己編譯制作。一般嵌入式Linux使用busybox制作文件系統(tǒng)必要的程序、庫(kù)、配置文件。因?yàn)閎usybox編譯出來(lái)的內(nèi)容體積小,節(jié)省空間,所以很多ARM開(kāi)發(fā)板上都是用busybox的。另外還涉及到文件系統(tǒng)格式,像Yaffs2、ramfs、ext4、UBI,等等。

掌握程度:

1、知道系統(tǒng)啟動(dòng)過(guò)程涉及到哪些腳本。知道上電啟動(dòng)時(shí)如何添加自己程序啟動(dòng)。

2、了解各目錄功能、存儲(chǔ)哪些文件(如改IP在哪個(gè)配置文件,動(dòng)態(tài)庫(kù)在哪些目錄)。 [!--empirenews.page--]

四、其他知識(shí)

1、電路原理圖、datasheet

作為底層開(kāi)發(fā)人員來(lái)說(shuō),能看懂硬件原理圖和datasheet是必要的一項(xiàng)技能。

看懂硬件原理圖,就可以知道這個(gè)系統(tǒng)上有什么器件,哪些器件有什么功能,如何連接(使用什么協(xié)議),提供什么接口。有了這些認(rèn)知后,才會(huì)對(duì)系統(tǒng)有一個(gè)全局整體的認(rèn)識(shí)掌握。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō)絕對(duì)是有利的。

看懂datasheet,才能知道如何訪問(wèn)器件,如何操作器件,了解其時(shí)序。

另外,對(duì)于嵌入式經(jīng)常接觸到的如I2C協(xié)議,SPI協(xié)議等等的協(xié)議也要掌握。

掌握程度:不需要像硬件專業(yè)同學(xué)那樣學(xué)習(xí)數(shù)電、模電課程。但起碼掌握上升沿、下降沿的概念,知道高電平、低電平概念,懂得看I2C協(xié)議的時(shí)序圖。懂得如何找到datasheet中關(guān)鍵信息(寄存器說(shuō)明、時(shí)序圖)。

學(xué)習(xí)路線:碎片時(shí)間多的人,建議在遇到不懂知識(shí)點(diǎn)時(shí)上網(wǎng)搜索學(xué)習(xí)。有條件的建議借書或買來(lái)學(xué)習(xí)。

五、入門路線

這里以偏重嵌入式Linux(ARM)驅(qū)動(dòng)開(kāi)發(fā)為例,給出一條入門的路線。

1、買一款使用廣泛、資料多的ARM開(kāi)發(fā)板。因?yàn)槭褂玫娜硕,你遇到的?wèn)題別人可能早就遇到并解決了,這樣能省很多時(shí)間,并且提高自信心?梢缘侥硨毶峡纯窗遄印R?yàn)槭菍W(xué)習(xí)使用,最好便宜又適用的。

2、使用vmware安裝一個(gè)ubuntu系統(tǒng)。在vmware軟件中設(shè)置物理橋接方式上網(wǎng)。在ubuntu設(shè)置好samba服務(wù)、nfs服務(wù)、tftp服務(wù)。

3、首先自己動(dòng)手親自編譯u-boot、kernel,燒寫到板子上(注:有可能rootfs不提供源碼,而是提供img鏡像文件)。

4、自己修改kernel,并編譯busybox,燒寫到板子,在板子掛載NFS,在虛擬機(jī)交叉編譯一個(gè)Helloworld程序,并在板子上運(yùn)行。

5、根據(jù)興趣,開(kāi)始搗鼓:u-boot、kernel、應(yīng)用層開(kāi)發(fā)、QT開(kāi)發(fā)。

5、選擇自己重點(diǎn)關(guān)注方面,繼續(xù)研究。

這個(gè)路線不一定要嚴(yán)格遵守時(shí)間軸。

六、補(bǔ)充

以上這些項(xiàng),因不同人的基礎(chǔ)而異。像硬件專業(yè)的同學(xué),數(shù)電、模電和電路圖已經(jīng)掌握,就要加強(qiáng)C和Linux系統(tǒng)的學(xué)習(xí)。反之,計(jì)算機(jī)軟件專業(yè)的同學(xué),就要去學(xué)習(xí)硬件知識(shí)。等等。

對(duì)于書籍,有的可能一下子無(wú)法理解,那是因?yàn)楣αΣ坏。有的可能覺(jué)得沒(méi)有用處,那是因?yàn)檫沒(méi)有涉及此方面。比如,非計(jì)算專業(yè)的人看《編譯原理》,《操作系統(tǒng)原理》,《計(jì)算機(jī)體系結(jié)構(gòu)》,肯定是看不懂的,而且初學(xué)者也不必要看。又比如,嵌入式有的領(lǐng)域使用到H264編碼、MPEG編碼,802.11、CDMA,如果不是進(jìn)入有關(guān)行業(yè)的,也不必學(xué)習(xí)。另外網(wǎng)上很多人寫的嵌入式入門文章提到0.11內(nèi)核版本、2.4內(nèi)核版本的書,還有離散數(shù)字、算法導(dǎo)論的書,并不是都適用所有人。 所以大家一定要量體裁衣,有多大胃口吃多少飯,有多大頭戴多大帽,根據(jù)自己已有的知識(shí)和所處的階段進(jìn)行選擇。

另外要說(shuō)明的是,很多知識(shí)點(diǎn)是密不可分的,且界線是很模糊的。比如應(yīng)用層和底層。因?yàn)橛袝r(shí)出現(xiàn)問(wèn)題,并不知道具體哪里的問(wèn)題,這就需要站在比較高的層面(系統(tǒng)視野)看問(wèn)題,才會(huì)快速定位并解決問(wèn)題。建議以某一方面為核心點(diǎn),另一方面做了解掌握。如果有能力,最好都學(xué)。

一般情況下,嵌入式Linux沒(méi)有速成。但可以達(dá)到入門速成,根據(jù)個(gè)人能力,我認(rèn)為大約半個(gè)月~2個(gè)月即可,不過(guò)入門后就要不斷學(xué)習(xí)和積累了,——這個(gè)積累,需要精力、時(shí)間的投入。

發(fā)表回復(fù)

本版積分規(guī)則


聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表