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