- 授課品牌:
北京達(dá)內(nèi)教育
- 機(jī)構(gòu)級別:代理會員
- 信譽(yù)等級:
資料認(rèn)證
已通過身份證認(rèn)證
已通過辦學(xué)許可認(rèn)證
- 學(xué)校瀏覽人次:次
- 加盟時間:2020年07月24日
關(guān)于嵌入式軟件開發(fā)學(xué)習(xí)的幾點建議
經(jīng)常有網(wǎng)友詢問關(guān)于嵌入式軟件開發(fā)學(xué)習(xí)方法步驟相關(guān)的問題。下面廣州嵌入式培訓(xùn)機(jī)構(gòu)就給大家一些關(guān)于嵌入式軟件開發(fā)學(xué)習(xí)的建議,希望對嵌入式軟件開發(fā)初學(xué)者們有所幫助。
首先一點的是,你要有充分的心里準(zhǔn)備,你需要有一定的堅持力。嵌入式軟件開發(fā)的學(xué)習(xí)是一個過程,因為我們需要掌握的知識太多了!從熟悉開發(fā)環(huán)境(如GNU的GCC toolchain)到學(xué)會寫Makefile、從閱讀芯片手冊到掌握處理器的指令集、從學(xué)會C語言到掌握從處理器的角度看C語言以及成為C語言的專家、從明白什么是ABI到理解軟件的斷點是如何實現(xiàn)的等等,這一切都需要時間和努力!需要時間和努力意味著什么?意味著進(jìn)入這個行業(yè)的人會相對的少,掌握這一技能的人也會相對的少,而具有這一技能的人的競爭力會更強(qiáng)。
其次,學(xué)習(xí)嵌入式軟件開發(fā)需要一定的英語閱讀基本功。我們從初中開時學(xué)英語,但大學(xué)畢業(yè)后可能學(xué)得少,但一直就用得少。從我自己的經(jīng)歷來看,從事軟件行業(yè),或多或少的都得讀英文資料,比如API的說明什么的。但做嵌入式開發(fā),需要讀更多的資料,比如處理器的手冊,可以說你幾乎找不到中文版。有的手冊上兩、三千頁,但你不要被嚇到,它不需要我們完全讀完,我們可以循序漸進(jìn)的讀。讀不僅僅是讀,還得理解。比如,我一直記得很清楚的是,當(dāng)我首先次做AMD的一塊x86處理器之上的開發(fā)工作時,我在手冊中讀到這么一句話:The register can be changed on the fly,這句話是什么意思?后面的on the fly如何理解?還有就是:You have to build it from scratch,這又是什么意思?當(dāng)然,現(xiàn)在的網(wǎng)絡(luò)發(fā)達(dá)了,很多可以在網(wǎng)上找到,但自己的基本功一定要有,只有這樣我們才能更加的游刃有余。不要說你的英語有多差!這些都是可以練出來的。告訴你我的一個秘密,我在讀高二時英語考試還得“29”分(其實就是沒有讀過似的,考試時全猜),但我現(xiàn)在能用英語寫、也能聽和說,還得用英語和外國人argue。比起我的英語基礎(chǔ),你一定會比我更強(qiáng)!
再次,除了看嵌入式方面的書籍或是資料外,你還得實踐。書本上的東西看過不會讓這些知識溶入到你的骨髓中,看過了可能就忘了,但一旦實踐過了或是實踐中碰到問題了,往往能讓我們更加深入的理解和領(lǐng)會。同樣是一本書,實踐過了之后再看,發(fā)現(xiàn)自己碰到的很多問題上面都寫得清清楚楚,只是自己在之前看時沒有明白其中的真締!對于實踐,我相信很多人有這么一個困惑:沒有條件!或許你正在這樣想?如果,你正在做嵌入式相關(guān)的工作,你很是幸運!我也是很幸運的人,因為我從做Visual C++轉(zhuǎn)到做嵌入式開發(fā)完全是因為獲得了一個機(jī)會。但現(xiàn)在看來,大家都有機(jī)會,因為現(xiàn)在有很多專門買嵌入式開發(fā)板的公司,你完全可以買一塊來自己學(xué),成本也不高。對自己做一、兩千元或是更少的投資,你覺得貴嗎?當(dāng)然,我也理解,很多做開發(fā)板卡的只是賣板卡,其提供的技術(shù)支持或是學(xué)習(xí)資料都還只是交你“魚”而不是“漁”。但無論如何,有總比沒有好,對嗎?還有,買開發(fā)板,不要只看功能有多少,好像其功能越是多就越是好。其實,嵌入式系統(tǒng)開發(fā),一旦你做過了、了解了其中的很多原理,任何系統(tǒng)都一樣,開發(fā)的套路也差不多,最后簡單到只是看芯片手冊了(到那時你覺得嵌入式開發(fā)對你可能也就很平常了)。我認(rèn)為,買開發(fā)板最為重要的是其提供的學(xué)習(xí)資料和是否能提供技術(shù)支持,最好能答疑。
最后,還要提醒你的是,嵌入式開發(fā)不是我們學(xué)習(xí)和努力的終點,它也只是一個技能。當(dāng)你達(dá)到了一定的層次后,還得去做應(yīng)用程序,到那時軟件的設(shè)計能力是關(guān)鍵。如果,你做開發(fā)能體會到什么是設(shè)計美,那說明你的層次就比較的高了;如果,你覺得做軟件開發(fā)和體力勞動差不多,說明你的層次還很低。但無論如何,學(xué)習(xí)、實踐和思考是提升層次的唯一方法!轉(zhuǎn)行?其它的行業(yè)也一樣!