|
先介紹一下我自己,我13年畢業(yè)后一直從事單片機(jī)相關(guān)的工作,有C和單片機(jī)基礎(chǔ),但是對單片機(jī)以外嵌入式相關(guān)的領(lǐng)域卻幾乎一無所知。
今年3月決定開始學(xué)習(xí)嵌入式,當(dāng)時什么都不懂,甚至連買塊開發(fā)板都不知道應(yīng)該買哪一款。因此我到淘寶搜了一下“ARM開發(fā)板”,銷量最好的當(dāng)屬韋東山的JZ2440開發(fā)板(今天特意搜了一下,居然還是JZ2440,不過已經(jīng)是升級版了)。開始的時候我猶豫了一下,就加了貼吧的群,到群里去問問再做決定。群里有位兄弟很熱心(暫且稱他為A吧),并推薦我到他的店去購買,當(dāng)時不知道百問網(wǎng)(韋老師的公司)有官網(wǎng),就在他店里買了。
韋老師第一期課程是免復(fù)的,前面幾節(jié)主講裸機(jī)(就說不涉及操作系統(tǒng)),就跟著學(xué)了。這段時間接觸了很多新概念,Makefile、編譯工具鏈、bootloader、Nand啟動/Nor啟動、MMU等,半懂不懂地甚感苦逼。本以為ARM裸機(jī)最多就是難度比單片機(jī)大一點點,但是很多這些基礎(chǔ)概念琢磨不透,而韋老師只講重點的授課風(fēng)格也讓我(小白)較難接受。
突然某一天,A兄弟給我發(fā)來2個鏈接,推薦我看朱有鵬老師的Linux基礎(chǔ)課(免費)。我本著看看又不會懷孕的想法開始看朱老師的課程,誰知道這一看不得了,朱老師課講得實在是太細(xì)致了,太適合我這種小白了。我花了2天時間把朱老師8小時的Linux課程給看完了。你說收獲嗎?最初這個課程的名字還叫《零基礎(chǔ)3天學(xué)會Linux》,因此當(dāng)時很好奇真的3天就能學(xué)好Linux嗎?如果3天能學(xué)1遍,那我學(xué)10遍,就能把Linux完全掌握了嗎?這種想法真是太天真了,Linux這個東西是需要慢慢琢磨慢慢研究的。原來老師是指學(xué)會在Linux系統(tǒng)中做開發(fā)需要用到的基本技巧,而這個課程也確實達(dá)到了這個目標(biāo),Linux中常用的命令、初學(xué)階段需要了解的概念都一清二楚了,在Linux平臺做開發(fā)已經(jīng)夠用。后來朱老師把課程名字改成了《朱老師帶你零基礎(chǔ)學(xué)Linux》。
因為Linux基礎(chǔ)課程講得實在是太好了,我開始關(guān)注朱老師的其他課程,順理成章地加了朱老師的群,也經(jīng)常關(guān)注群里的聊天、消息。4月份,得知朱老師準(zhǔn)備推出嵌入式方面的視頻,我猶豫了一下——因為朱老師的課程是基于S5PV210平臺的,而我已經(jīng)購買了JZ2440開發(fā)板。畢竟知識是無價的,相較于學(xué)到的知識,開發(fā)板這點錢算什么(當(dāng)然,我是工作黨,有自己的收入),因此我下定決心重新買一塊開發(fā)板,繼續(xù)跟著朱老師學(xué)。當(dāng)時還趕上了朱老師的開發(fā)板團(tuán)購,低價買入開發(fā)板再免費贈送裸機(jī)視頻,后來發(fā)現(xiàn)賺大了,爽歪歪。后來,也看到不少群友在惋惜沒趕上那次團(tuán)購,真是慶幸。
裸機(jī)課程依然是如此地“平易近人”,學(xué)起來不怎么感覺到吃力。我覺得老師做得最好的一點就是,由淺入深、層層深入,聽者的感覺就是沒有難點,所有知識都是這么地簡單,這么順理成章。你能相信分析點亮LED,用了6節(jié)課嗎?何況是單純地分析LED,匯編基礎(chǔ)、如何下載程序、如何編寫Makefile等內(nèi)容前面課程已經(jīng)詳細(xì)講解過。隨著學(xué)習(xí),我理解了為什么朱老師的裸機(jī)課程可以有100多個小時,而大部分其他嵌入式課程的裸機(jī)只有幾個小時。我也明白了為什么朱老師的裸機(jī)課程我能聽懂聽明白,學(xué)起來毫不費力,而其他大部分嵌入式課程的裸機(jī)我聽起來那么吃力。朱老師的課程給人的感覺就是學(xué)ARM就像學(xué)習(xí)單片機(jī)一樣,而大部分其他嵌入式課程因為忽略很多基礎(chǔ)(但是很重要和必要)的概念、知識而讓人覺得難以理解。
有一位同期學(xué)習(xí)的朋友(他學(xué)的是某嵌的課程),在我的裸機(jī)才學(xué)到一半的時候,他已經(jīng)學(xué)完裸機(jī)、uboot/系統(tǒng)移植、系統(tǒng)編程等內(nèi)容了。他很好奇地問我,你們老師到底講啥?能講這么久嗎?我問他:你知道什么是重定位嗎?他一愣,無話可說。PS:重定位是理解uboot代碼或者其他代碼所必須知道的,而他已經(jīng)“學(xué)完”uboot移植課程了,卻沒聽過這個概念。
朱老師還讓我認(rèn)識到了C語言的重要性。說實話,我一向認(rèn)為自己的C掌握得還不錯,大一C語言課程拿了95分,后來學(xué)習(xí)單片機(jī)和我現(xiàn)在的工作都是用C。朱老師說,他開始從單片機(jī)轉(zhuǎn)嵌入式的時候有種感覺,就是自己好像沒學(xué)過C語言。聽了這句話,我心里2種想法:一是暗地開心,朱老師當(dāng)年的C基礎(chǔ)不如我呀;二是半信半疑,Linux中的C可能函數(shù)指針、結(jié)構(gòu)體用得多一點,但是朱老師好歹也搞過單片機(jī)呀,這些東西應(yīng)該都會呀,至于說感覺沒學(xué)過C語言嗎?后來,在群里跟大伙討論問題(包括很多公司的C語言面試題),我切身體會到了朱老師說那句話(就是“自己好像沒學(xué)過C語言”這一句)時候的心情——原來我也不會C語言呀。真是悲劇呀,工作2年了,C語言居然得回爐重鑄。還好,發(fā)現(xiàn)得早,不懂的就補回來,朋友推薦我看《C專家編程》這本書,個人覺得非常好,作者講得很有深度也講得很有趣(但是不適合C語言0基礎(chǔ)的同學(xué))。在次,將這本書推薦給大家,百度搜電子版免費下載即可。
更好的是朱老師推出了C語言精講篇視頻(朱老師的C語言基礎(chǔ)視頻是免費的,這個比較適合C語言0基礎(chǔ)的同學(xué)),果斷購買!群里很多同學(xué)都說好,不過我還沒怎么看(計劃先看完裸機(jī)),哈哈。
現(xiàn)在,ARM裸機(jī)課程和C語言精講篇課程已經(jīng)結(jié)束了,朱老師在錄制uboot和系統(tǒng)移植的視頻。而前些天,我卻猶豫了一下要不要繼續(xù)購買朱老師的課程。
最初的時候韋老師的視頻看了一段時間,學(xué)得迷迷糊糊半懂不懂的,后來跟朱老師學(xué)了一陣子很多基礎(chǔ)都搞明白了,掃盲作用明顯。不過前段時間急功近利的心理作祟,覺得跟朱老師學(xué)實在是太慢了,打算從uboot起跟韋老師學(xué),因為看了朱老師的視頻后原來韋老師視頻中沒講到的很多內(nèi)容都懂了,覺得自己的水平可以跟上韋老師的課程了。最終我淡定了下來,因為自己掌握的(嵌入式方面)知識基本上都是從朱老師教程中學(xué)到的,為什么要選擇一個自己覺得可能很好的教程,為什么不繼續(xù)跟著朱老師學(xué)呢?于是,果斷購買uboot視頻�,F(xiàn)在想想,真是個明智的決定,畢竟韋老師的課程課時少,但是消化起來不一定比朱老師的課程快。
當(dāng)然了,韋老師的視頻課程一直都得到好評,可能只是不太適合我(小白加菜鳥),舉個例子:講到MMU的時候,韋老師推薦了一本書《ARM體系結(jié)構(gòu)與編程》(杜春雷著),所以得去研究這本書,才能把視頻看懂。我是哪種學(xué)得特別慢的人,我就怕自己如果去看那本書,可能得花好幾個月才能看完(⊙o⊙)…
沒有最好的課程或者不好的課程,只有最適合自己的才是最好的。如果你感覺自己還沒入門,我推薦學(xué)習(xí)朱老師的視頻。當(dāng)然了,韋老師、朱老師或者其他嵌入式教程的視頻都有免費的部分,可以先看免費部分感受一下,看看是否適合自己,再做決定。
|
|