當(dāng)前位置:首頁(yè) > 嵌入式培訓(xùn) > 嵌入式學(xué)習(xí) > 入門(mén)指導(dǎo) > 想學(xué)習(xí)嵌入式軟件開(kāi)發(fā),需要學(xué)習(xí)哪些內(nèi)容?
嵌入式是當(dāng)下流行的開(kāi)發(fā)模式,早在Android之前,這一領(lǐng)域的發(fā)展勢(shì)頭就非常強(qiáng)勁,但我們想想看,是不是Android從本質(zhì)上來(lái)講,也屬于嵌入式開(kāi)發(fā)的一部分,在近幾年被Android開(kāi)發(fā)的風(fēng)頭蓋過(guò),但隨之移動(dòng)互聯(lián)網(wǎng)時(shí)代的高速發(fā)展,嵌入式軟件開(kāi)發(fā)又開(kāi)始羽翼豐滿,重新占領(lǐng)舞臺(tái),下面就簡(jiǎn)單來(lái)了解下嵌入式開(kāi)發(fā)的一些必備技能吧。
必備技能一、c/c++, 沒(méi)有之一。c/c++即能很好的跟底層硬件打交道,程序執(zhí)行效率那也是相當(dāng)有效率的;A(chǔ)的東西,就一定要學(xué)扎實(shí),如果沒(méi)有基礎(chǔ), 那都是花把勢(shì)。所以嵌入式學(xué)習(xí)必需學(xué)習(xí)c/c++。所謂基礎(chǔ)是前提,有前提的后面的才會(huì)有保障。
對(duì)于嵌入式來(lái)講,主要有兩大發(fā)展方向,一是硬件方向,另外一種則是軟件方向。
從硬件方向來(lái)講,需要掌握的內(nèi)容有:
第一步: PCB設(shè)計(jì),拿個(gè)芯片解決方案公版改改電路,換換零件,設(shè)計(jì)自己的電路,做自己的產(chǎn)品。
第二步: SOPC技術(shù),一般為FPGA,CPLD開(kāi)發(fā),利用VHDL等硬件描述語(yǔ)言做專(zhuān)用芯片開(kāi)發(fā),寫(xiě)出自己的邏輯電路,搞個(gè)簡(jiǎn)單的外圍芯片還是可以的。
第三步:整個(gè)arm架構(gòu),學(xué)學(xué)習(xí)習(xí)arm指令,看看芯片手冊(cè),搞搞bootloader。
第四步:玩玩系統(tǒng)移植,寫(xiě)寫(xiě)驅(qū)動(dòng)這個(gè)已經(jīng)上一個(gè)層次了
第五步: SOC設(shè)計(jì),這是硬件設(shè)計(jì)的核心技術(shù):芯片設(shè)計(jì)。能做到這步,已經(jīng)不屬于平凡的技術(shù)人員。
從軟件方向來(lái)講,需要掌握的內(nèi)容有:除了一些基礎(chǔ)語(yǔ)言開(kāi)發(fā)之外,我們還必須要掌握一些更多的東西。
1、懂得linux系統(tǒng),并會(huì)應(yīng)用
linux系統(tǒng)博大精深。要想會(huì)玩那也是需要下工夫的;久顣(huì)不會(huì),簡(jiǎn)單腳本能不能寫(xiě)。
2、掌握相關(guān)的調(diào)試手段
說(shuō)道這個(gè)也是一個(gè)重要指標(biāo),嵌入式開(kāi)發(fā)不同于pc開(kāi)發(fā),在pc上斷點(diǎn)跟蹤代碼什么的都十分方便,在嵌入設(shè)備上就比較麻煩了,串口,文件等這些是我們常用的調(diào)試手段,找問(wèn)題基本上是看打印輸出。
3、熟悉相關(guān)的環(huán)境配置
嵌入式開(kāi)發(fā)要想順利,配置各種環(huán)境也是必需,沒(méi)環(huán)境搞啥!學(xué)嵌入式開(kāi)發(fā)要不停的折騰,環(huán)境配置雖然是個(gè)力氣活,沒(méi)它你還真干不了活。
4、懂得如何開(kāi)源移植
為什么它也是嵌入式學(xué)習(xí)必備,前人搞了好多開(kāi)源的項(xiàng)目,我們拿來(lái)為我所用,不僅能加快開(kāi)發(fā),還能學(xué)習(xí)和借鑒很多東西,讓自己快速成長(zhǎng)。好多優(yōu)秀開(kāi)源項(xiàng)目。你去弄了學(xué)習(xí)了,你就會(huì)懂的。
想要學(xué)習(xí)嵌入式開(kāi)發(fā),并從事相關(guān)的工作,需要掌握的技能還是比較多的,如果能很好地掌握以上技能,那在嵌入式軟件開(kāi)發(fā)的領(lǐng)域可謂是技術(shù)大咖級(jí)的人物。