返學費網(wǎng) > 培訓(xùn)機構(gòu) > 北京IT教育資訊
嵌入式開發(fā)比互聯(lián)網(wǎng)軟件開發(fā)是要難些,互聯(lián)網(wǎng)開發(fā)是基于用戶態(tài)的,嵌入式是深入內(nèi)核態(tài)的,主要難在這幾個方面:
首先,嵌入式偏底層,是軟硬結(jié)合的東西,軟、硬件都要懂,對能力要求本來就要高不少;
其次,嵌入式開發(fā)的學習門檻也要高一些,而且像Linux平臺下的開發(fā)流程,很多人都不習慣,摸不清;
再者,嵌入式學習的正向反饋可能比較慢,尤其是前期學習階段,導(dǎo)致沒有什么成就感,也就堅持不下去了,所以往往就棄坑了。
既然嵌入式這么難,那要怎么學才能學好呢?你可以分三個階段來學習:
1.基礎(chǔ)學習階段。這就包括通用編程基礎(chǔ)(C語言、數(shù)據(jù)結(jié)構(gòu)/算法、操作系統(tǒng)、計網(wǎng)、計組、Linux系統(tǒng)基礎(chǔ))和基本的硬件基礎(chǔ),扎實地掌握這兩大基礎(chǔ),是后續(xù)持續(xù)發(fā)展和不斷進步的動力源泉。
2.嵌入式應(yīng)用編程階段,或者說系統(tǒng)平臺編程階段。因為一般會以特定的嵌入式平臺和特定的嵌入式操作系統(tǒng)為依托,熟悉這個系統(tǒng)平臺上的編程方法和流程。以常見的ARM+Linux平臺為例,需要掌握從內(nèi)存管理到多任務(wù)編程、文件I/O、網(wǎng)絡(luò)編程,甚至圖形化界面編程等幾個大的方面。
3.深入嵌入式底層開發(fā)階段,常見的就是內(nèi)核開發(fā)和驅(qū)動開發(fā),這些統(tǒng)屬于內(nèi)核態(tài)開發(fā)范疇,所以需要對操作系統(tǒng)內(nèi)部機制有所涉獵和理解,在此基礎(chǔ)上需要掌握從系統(tǒng)移植到內(nèi)核開發(fā)、驅(qū)動開發(fā)的各個細節(jié),這是成神之路。
學習嵌入式是個漫長的過程,厚積薄發(fā)的過程,需要強大的毅力,一旦你學有所成,所獲得回報也是非常大的,所以大家不要輕易放棄。