在Linux下掌握arm和操作系统(0)--开篇闲聊
很明顯我是標(biāo)題黨,真正的標(biāo)題是《在Linux下學(xué)習(xí)stm32和NUTTX RTOS》。
由于stm32也是ARM的,NUTTX也是操作系統(tǒng),stm32和NUTTX有著arm的基本特征,NUTTX有著操作系統(tǒng)的基本特征,如果把這兩者搞明白了,
你會發(fā)現(xiàn)其他的arm芯片和操作系統(tǒng)似曾相識。
至于為什么選這兩者結(jié)合,原因有一下幾點:
1,nuttx對stm32支持的特別好,
2.stm32資料很多,很容易找到資料學(xué)習(xí),或者很多人學(xué)過
3.nuttx和非常成果的Linux很像,而且開源協(xié)議更有利于開發(fā)產(chǎn)品
4.最重要的是,這兩個相對來說功能都很豐富,而且相對簡單。因為簡單,我們才有信心征服他,我們大多數(shù)人也有能力征服他。
但是為什么一定要在Linux下?因為在Windows下學(xué)不會系統(tǒng),在Windows下開發(fā)也許的確很方便,正因為方便,你不去思考,你不知道為什么會這樣,時間越長越不明白,
Linux正好相反,它把所有的都呈現(xiàn)給你,讓你在做每一步的時候都明明白白的知道自己在干嘛,剛開始可能覺得難,但時間久了就越明白系統(tǒng)的原理。就算不學(xué)習(xí)這么底層的原理,Linux的使用還是必須的。
說大了,這是學(xué)習(xí)計算機(jī)和操作系統(tǒng)的最佳實踐。也是最功利的一種選擇,就arm的架勢:低端,中端,高端全線布局可以說,未來是arm的。
從操作系統(tǒng)的角度看,Linux已經(jīng)名滿天下,但是Linux的實時性不好和不能再MCU上跑的限制讓NUTTX給填補了,看起來就像在MCU上實現(xiàn)了Linux。
大家都知道Linux已經(jīng)接管了世界,現(xiàn)在各種智能設(shè)備基本上都是了Linux的天下了。Linux使得形態(tài)各異,功能千差萬別的設(shè)備讓用戶看來都是統(tǒng)一的文件操作
大大方便了人們使用,正是因為標(biāo)準(zhǔn)而統(tǒng)一的操作方式才有了Linux輝煌的今天。明天Linux必將繼續(xù)輝煌,在移動端,在云端,在AI,在PC,在我們能想到的或想不到的地方。
然而隨著物聯(lián)網(wǎng)(IOT)的興起,各種以MCU為終端的網(wǎng)絡(luò)節(jié)點將井噴式的出現(xiàn)。而為復(fù)雜系統(tǒng)設(shè)計的Linux并不是很適合運行在MCU上。
在這一領(lǐng)域,目前有很多OS出現(xiàn),但是我最看好的是NUTTX,因為它幾乎就是一個精簡版的Linux,可以運行在8-32位的MCU上,而且開源協(xié)議更寬松。
這樣一來,Linux的標(biāo)準(zhǔn)將實現(xiàn)大一統(tǒng),在人和機(jī)器中間形成一個統(tǒng)一的OS層,就像Linux系統(tǒng)中VFS在各種文件系統(tǒng)中的作用一樣,這樣一層統(tǒng)一的OS層將使人和物聯(lián)網(wǎng)這一更大的系統(tǒng)更統(tǒng)一。
反過來說,可以通過stm32和NUTTX的學(xué)習(xí)為更進(jìn)一步學(xué)習(xí)arm和Linux打下堅實的基礎(chǔ),有了這個基礎(chǔ),更進(jìn)一步的學(xué)習(xí)會更容易,更深入。
亂七八糟的說了這么多,核心意思就是,在Linux下學(xué)習(xí)stm32和NUTTX是最好的選擇,沒有之一。
本系列文章,都是默認(rèn)大家有C語言和Linux的基礎(chǔ)。
為什么?
我為什么會寫這些文字,這要從我的經(jīng)歷說起,我是一個機(jī)械專業(yè)畢業(yè)的,在學(xué)校就學(xué)過C語言,但是我一直想把電腦的原理搞清楚,當(dāng)時總在想,我生活的時代最偉大的發(fā)明是什么?這毫無疑問就是計算機(jī),
在工業(yè)革命時期,掌握蒸汽機(jī)的人肯定走在時代的前列,這個信息化時代掌握了計算機(jī)的人最起碼不會被社會淘汰吧,哈哈哈
出于這樣的考慮,我就想一定要學(xué)懂計算機(jī),但是要學(xué)懂計算機(jī)該從哪里入手?我唯一的入口就是C語言嘛,大一就學(xué)了C語言,我大二又學(xué)了一遍。就是在VS2008上把譚浩強(qiáng)的C上面的例子又學(xué)了一遍。
但是還是感覺啥都不會啊。我們都知道程序不就是算法加數(shù)據(jù)結(jié)構(gòu)嘛,算法根據(jù)不同的問題有很大不同,而數(shù)據(jù)結(jié)構(gòu)是通用的,那我就必須要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)。于是就在圖書館借了大學(xué)唯一借的書
《數(shù)據(jù)結(jié)構(gòu)》粗略的學(xué)習(xí)了隊列,鏈表,棧。二叉樹,堆,圖都看不懂。。。。。到這里就遇到瓶頸,不知道如何是好也沒有方向。學(xué)習(xí)之路就擱淺了一段時間,當(dāng)時也想著作為一個機(jī)械專業(yè),
學(xué)那些計算機(jī)的知識估計以后也用不著。
但是想要學(xué)習(xí)計算機(jī)的死心仍不改,第二年就報了一個機(jī)器人的選修課,在那個課上到是沒學(xué)到啥東西。但是遇到了一個人--彭州,我特別感謝他,正是他的經(jīng)歷改變了我的想法,他也不是計算機(jī)專業(yè)的
但是他的能力,整個軟件學(xué)院的人估計沒有幾個人能比的上,他在大四的時候在外面接私活已經(jīng)掙了很多錢了。而且關(guān)于我對計算機(jī)的任何問題他都能很通俗的告訴我,每次上課回來的路上,我就一直問
他各種問題,得到了及時的回答。
榜樣的力量是強(qiáng)大的,他都可以辦到的事情,我應(yīng)該也能辦到,因為我們的情況很相似。于是內(nèi)心的熱情又被點燃,我要繼續(xù)學(xué)習(xí)計算機(jī)。
從哪里開始呢?我得知單片機(jī)是最簡單的計算機(jī),咱能力不行,還是從最簡單的開始,這就是傳說中的--“捏軟柿子”。
因為我們沒有單片機(jī)課程,于是從隔壁班借了一本《單片機(jī)與接口技術(shù)》,泡了幾天自習(xí)室,似懂非懂。感覺這是一個實踐性很強(qiáng)的課程,必須要實踐才行。
在淘寶上看了好長時間,51單片機(jī)的開發(fā)板還是很多的,我選了一個最便宜的,大概40多塊錢吧,當(dāng)時我還沒有淘寶賬號,讓舍友幫我買了。
有了開發(fā)板,我發(fā)現(xiàn)網(wǎng)上有很好的視頻教程,其中郭天祥的《單片機(jī)十天征服你》特別好,講的特別通俗易懂,曾經(jīng)有天熬了一個通宵看視頻教程,感覺如獲至寶。就那樣學(xué)會了51,當(dāng)時有種強(qiáng)烈的滿足感,
感覺我都能上天了,哈哈哈。然而學(xué)了單片機(jī)之后發(fā)現(xiàn),要做一個系統(tǒng)還需要很多硬件知識,很多招聘信息顯示要會畫電路板。我在學(xué)習(xí)畫電路板路上迷失了。。。
期間沒有方向,學(xué)習(xí)了PS,Flash動畫等反正亂七八糟學(xué)了一些,也沒啥用,除了給當(dāng)時的女朋友現(xiàn)在的老婆做了一個小游戲,P了些照片,給他做了《基于單片機(jī)的智能玩具》的畢業(yè)設(shè)計之外就沒別的輸出了,
不過說起來也值了,用學(xué)習(xí)的東西換回來一個老婆還是很值得的嘛,哈哈哈
好像有些跑題來了,接下我就畢業(yè)了,顯然沒有找到計算機(jī)相關(guān)的工作,我去了中煤科工集團(tuán)下的一個研究院,做的是挖煤的設(shè)備,期間下車間,下煤礦,畫圖紙,對于工作內(nèi)容當(dāng)然是不滿意了。
想學(xué)習(xí)計算機(jī)的賊心仍然沒有死,
我當(dāng)時就在網(wǎng)上看,如果要找一個計算機(jī)相關(guān)的工作需要哪些技能,看了很多招聘要求,發(fā)現(xiàn)Linux的嵌入式開發(fā)比較適合我,但是我對于Linux和arm一點都不懂啊?不懂就學(xué)唄,又在淘寶上看,買了一個
2440的開發(fā)板,因為之前發(fā)現(xiàn)郭天祥的視頻教程比較好,我就想學(xué)習(xí)Linux也必須要有視頻教程,選這個開發(fā)板的原因是他帶有視頻教程,國嵌的,講的也是挺好的。就這樣,我下班回家,熬了好多個夜晚,
周末也花費在這上面,功夫不負(fù)有心人,我終于把視頻看完了,于是我決定去找一份Linux嵌入式的工作。周圍人聽說我要辭去這個鐵飯碗去找什么編程的工作,有人說我一定會后悔,有人說感覺我說話
特別飄,有點癡人說夢的意思。我也猶豫,心里特別沒底,因為我在網(wǎng)上其實也投了幾份簡歷,沒有得到任何回音。就這猶豫和彷徨中度過了1年,在這1年中,我一邊利用業(yè)余時間繼續(xù)學(xué)習(xí)Linux,一邊
思考著:我如果從這里不離開,身邊的老同事的今天就是我的明天,這種一眼就能看到邊的人生我是不想要的,想想都可怕。我一定要去未知的世界,去探索我想了解的一切。
這一次我毅然決然的離開了,沒有告訴任何人其他的人。我離職了,后來得益于新公司有個好老板,一些好同事,找了份Linux嵌入式的工作,我特別開心,特別享受那份工作,那是我最開心的一份工作,
后來我離開了那家最喜歡的公司,來到了現(xiàn)在這家世界30強(qiáng)企業(yè)的一個研究所。
這一路走來特別曲折,我想把經(jīng)歷分享出來,也是對自己的一個階段性總結(jié)。我走了很多彎路,希望看到我經(jīng)歷的朋友,尤其是還在上學(xué)的朋友,少走彎路。更希望通過我的經(jīng)歷,有更多的人喜歡上計算機(jī),想去學(xué)習(xí)這一偉大發(fā)明。
我也是一邊學(xué)習(xí)一邊寫,錯誤不能避免,望批評指正!
?
郵箱:576648661@qq.com
- 微信號:find_xiaohei
- 名稱:找小黑?
總結(jié)
以上是生活随笔為你收集整理的在Linux下掌握arm和操作系统(0)--开篇闲聊的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 李力刚:职场上如何成功推销自己
- 下一篇: Python3教程--和小名一起学Pyt