亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

跟濤哥一起學嵌入式 第03集:嵌入式要從u-boot移植學起

發布時間:2020-02-29 07:53:05 來源:網絡 閱讀:914 作者:宅學部落 欄目:系統運維

大家好,我是濤哥,歡迎閱讀《跟濤哥一起學嵌入式》第3集。俄羅斯仲夏夜,世界杯依舊如火如萘。球場上,夕陽下,梅西沒落的身影、C羅的黯淡離場,并沒有打擊大家太多的熱情。戰火依舊,老兵不死,梅羅時代是否快要終結?然而新一代巨星冉冉升起,風起云涌。在看球的同時,學習充電也不能落下,今天我們聊聊第3個話題:學習嵌入式,一定要從u-boot移植學起嗎?

嵌入式真要從U-boot移植學起?

故事緣起嵌入式技術群(475504428)一位嵌入式學員遇到的問題:這位學員想在他的開發板上移植最新版本的U-boot。然而,將近半年過去了,發現還在群里問一些關于移植的一些問題,這就引發我的思考:照這樣的速度,再給他幾個月,能否移植成功?對于一個新手,沒有輔助的一些工具,費這么大力氣,去做一些跟以后的工作不太相關的技能,是否劃算?當看到這種學習方式給很多新手帶來的不是進步的喜悅,而是打擊,甚至是轉行去做其它,我覺得我們也許應該換種學習方式了,包括我在內,在上面也栽過不少坑。

我的悲催學習經歷

跟大家學習的經歷差不多,學生時代,玩完51單片機后,我就購買了第二塊開發板:某款ARM9開發板,這里就不說具體的名字了。按照流程,裸機實驗做了一遍后,就開始開啟了U-boot的移植生涯,在燒寫U-boot時發現根本啟動不起來,當時由于沒有相關的調試工具,比如TRACE等,也不會相關的調試打印手段,所以只能嘗試各種可能的原因一一排除,逛各種論壇、到百度翻頁,發現根本解決不了問題。為此前前后后折騰了幾個月,被折騰得有氣無力。到最后,聯系廠商的工程師,開發板寄回去后,發現是NOR FLASH芯片的問題,重新換了一塊NOR FLASH,系統就可以正常運行了。雖然這個問題最后得到了解決,但是前前后后也浪費了我幾個月的時間,當然,有人可能會說,通過這個bug你也學到很多東西啊。是的,通過不斷分析這個問題,確實增長了不少知識和技能,但是對于新手來說,如果一上來就通過問題驅動來學習,是很容易打擊人的學習積極性的。大部分人可能會堅持不下去,折騰得差不多了,也就把板子扔到一邊落灰,去搞互聯網、Java去了,從而改變了自己的職業道路。為了這個bug,我浪費了幾個月的時間,我覺得是不劃算的,這幾個月的寶貴時間,我可以去學習以后嵌入式開發中用到的高頻技能,提高我的工作效率,而不是在這個低頻技能上耗費太多的時間。

高頻技能與低頻技能

什么是高頻技能,低頻技能呢?寫這兩個詞時,特地到百度搜索了一下,發現并沒有相關的詞匯,姑且看作是我創造的兩個新詞吧(版權歸我啊,用時要交稅~)。顧名思義,高頻技能就是我們在工作中大概率使用到的技能;低頻技能,就是我們在工作中很少使用的技能。

早期的單片機開發,系統比較簡單,從硬件設計、PCB畫圖、軟件開發、測試,一個工程師就可以搞定,軟硬通吃。按照今天的流行語,就叫全棧工程師。但現在不同了,嵌入式開發,尤其是上了OS后的嵌入式系統開發,需要的理論基礎和技能儲備太多太雜:從硬件、計算機系統結構、操作系統、應用層、GUI等,都要有所涉獵。同時,隨著嵌入式越來越復雜,分工也越來越明確:硬件工程師、PCB工程師、BSP工程師、驅動工程師、應用工程師、測試工程師,大家以一個團隊的形式共同開發維護一個嵌入式項目。

分工的形成,以前全棧工程師需要的軟硬技能,就不需要全部學習了。當然,你也學不完,就算你學完了,有些知識你一輩子也可能用不到。分工機制下,每個人精通各自的模塊,分工協作,效率最高。現在一個嵌入式SOC,幾十個IP模塊,你說你都掌握,有點不現實,一個音視頻解碼、GPS、GPU、USB都可能讓你啃幾年才能談得上精通。系統越來越復雜,分工越來越明確,這就需要我們可能要換一種新的方式了。

對于嵌入式學習者來說,面對越來越復雜的系統,我們該如何學習,學習什么,這是一個很值得思考的問題。在思考這個問題之前,我們首先要有一個前提:人的精力是有限的,不可能掌握所有的知識和技能。如果你不認可這個前提,非得按照那種全棧工程師的模式學習,那下面就沒有看的需要了。

該如何學習呢?我們需要對嵌入式開發,需要的技能進行重構和分解。哪些是常用的,基礎的,必須掌握的,即高頻技能,哪些是不常用的,即低頻技能,然后再根據需要,科學地學習。這才是嵌入式2.0時代,學習嵌入式的正確姿勢,適應職場技新形勢新需求的學習捷徑。

學習U-boot的正確姿勢

同樣一個U-boot,不同的職位、不同的開發人員,對它的掌握程度是不一樣的。一個團隊就和一個特種小分隊一樣:狙擊手要求精通狙擊、爆破手要精通各種爆破技術、通信兵要掌握各種電子情報獲取技術。團隊中不同的成員精通不同的技能,集合在一起,就可以形成恐怖的戰斗力。人的精力是有限的,精通一門技術的同時,就不可能在另一門技術上花費同樣的心力了,學習U-boot也是一樣,你也不必什么都學。

那對于新手來說,U-boot要學習什么呢?我覺得兩點就夠了:U-boot的啟動流程和U-boot跟內核的傳參交互。這些是基礎,也是各種開發人員經常接觸到的。至于各種啟動方式、底層實現的一些細節,這些原廠都已經做好了,我們直接用就可以了。軟件開發中有軟件復用的思想,同樣,嵌入式系統開發中,我們也要有這種思想,不要什么都自己干,什么輪子都自己造,尤其是硬件,尤其是新手!高手造輪子,一般人用輪子,這是規律,先學會用輪子造汽車,在慢慢學著造更好的輪子。因為很多硬件上的坑、芯片內部的bug,這些都是不可見的,不會對外公開的,很多都是通過軟件規避、或者其它手段曲線救國來實現的,這些東西你可能永遠都不會知道,所以,如果你是新手,盡量不要跌到這些坑里,可以參考我上面所說的學習方式。

嵌入式工程師自我修養

《嵌入式工程師自我修養》體系教程,就是根據這種思路,適應嵌入式新時代需求、對嵌入式中的高頻技能、低頻技能不斷重構,分解,重新設計而成的一種培訓教程體系,也是我未來幾年努力打造的一套培訓課程。跟隨這套教程學習的學員也許會發現,里面的相關課程,跟目前市面上、培訓機構的都不太一樣,沒錯,這也算是我的一個小小原創,互聯網上首家使用新概念:高頻技能、低頻技能重新打造的一門嵌入式自學體系教程。

這門教程的威力在哪里?一般的教程,大家學到最后,學到的都是同樣的知識和技能,就像流水線一樣,出來的都是同樣的產品。而《嵌入式工程師自我修養》體系教程,不是這樣:每個人的學習強度不同、選擇方向不同,最后結果也不一樣:你有可能發現太難、學不下去,知難而退;有可能是基礎扎實的普通士兵;也有可能是身懷絕技的特種兵;也有可能是身兼數門絕技的兵王。課程的難度強度梯度足夠大,對你的技術成長上限不設限,它跟你的目標、要投入的時間和精力成正比,只要你肯吃苦、愿意努力,你可以把你的潛力推高到極致。對你,對我,都是同樣的挑戰。

《跟濤哥一起學嵌入式》,會持續跟大家分享嵌入式相關技術、學習方法、學習路線、求職面試等,歡迎收聽頭條號(微信公眾號):宅學部落,QQ群:475504428

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

历史| 赤城县| 淄博市| 饶阳县| 科尔| 水城县| 四川省| 江门市| 高要市| 齐河县| 皋兰县| 马边| 登封市| 鄯善县| 南京市| 贵定县| 双辽市| 溆浦县| 普兰县| 梅河口市| 安义县| 揭阳市| 岐山县| 玛纳斯县| 丰县| 辛集市| 霸州市| 南皮县| 宁城县| 凤山市| 安多县| 石屏县| 宁乡县| 颍上县| 盐山县| 新竹县| 沈丘县| 卓资县| 县级市| 鹤山市| 军事|