www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 在論壇里見到好多朋友學(xué)習(xí)裸機(jī)的時(shí)候都有一個(gè)習(xí)慣——做裸機(jī)開發(fā)時(shí),過度依賴天嵌的裸機(jī)測試程序。怎么說呢,我覺得這樣不是很好。尤其是對于一個(gè)新手。也許是學(xué)習(xí)單片機(jī)出身的原因,我有一個(gè)毛病,就是對

 在論壇里見到好多朋友學(xué)習(xí)裸機(jī)的時(shí)候都有一個(gè)習(xí)慣——做裸機(jī)開發(fā)時(shí),過度依賴天嵌的裸機(jī)測試程序。怎么說呢,我覺得這樣不是很好。尤其是對于一個(gè)新手。

也許是學(xué)習(xí)單片機(jī)出身的原因,我有一個(gè)毛病,就是對別人的代碼不放心、凡事非得扣到底層。

一開始我看天嵌的裸奔三部曲,有一個(gè)體會(huì)——越看越迷茫。尤其是簡單地修改了天嵌的程序,實(shí)現(xiàn)了顯示幾個(gè)自定義圖片的時(shí)候。這里也算是給天嵌提一個(gè)建議吧。一般來講,新手看到這里的感覺就是特迷茫:難道這就是學(xué)裸機(jī)程序嗎?修改幾行C代碼?天嵌手冊里說這樣會(huì)迅速建立成就感,可是我絲毫沒有。反而感到的是強(qiáng)烈的不安。畢竟天嵌的裸機(jī)程序?qū)τ谝粋€(gè)新手來說太龐大,甚至?xí)悴磺逦募g的關(guān)系。我們現(xiàn)在做的就是簡單地修改幾行現(xiàn)成的代碼,然后看看效果。我就在想,此時(shí)我只會(huì)修改幾行代碼。底層硬件、ARM是如何啟動(dòng)的、啟動(dòng)代碼2440init.s是如何支持ARM啟動(dòng)并跳轉(zhuǎn)到C函數(shù)里的?這些東西都被天嵌的裸奔三部曲教程透明掉了,這些我都不會(huì),我們只是做了做應(yīng)用層的修改。而那些被透明掉的知識(shí),現(xiàn)在完全都是依賴于天嵌的測試程序的。試想,一旦一天老板讓我做一個(gè)新的東西,新的硬件配置,沒有了天嵌裸機(jī)程序里的底層知識(shí),我們將如之奈何?基本就廢了吧。

也許是由于原先是搞單片機(jī)的緣故,所以總喜歡扣底層,做Linux或者WinCE上層應(yīng)用的朋友也許會(huì)覺得我在這里瞎折騰,做無用功。但是,對于從單片機(jī)轉(zhuǎn)過來的人來說,我說的這些是最重要的——他們要搞清楚ARM是如何工作的,如何用程序去控制硬件,如何靠自己的力氣搭建出來一個(gè)裸機(jī)程序。和做上層的人不一樣,做底層的人就喜歡扣這些東西,因?yàn)檫@些東西如果搞不懂,那搞其上層來就會(huì)覺得發(fā)飄,或者說總是不知道地下發(fā)生了什么導(dǎo)致心里沒底。最要命的是以后做Linux設(shè)備驅(qū)動(dòng)的時(shí)候。由于對底層的認(rèn)識(shí)不夠,必將導(dǎo)致非常吃力!

這些天狂啃了一頓啟動(dòng)代碼2440init.s。忽然意識(shí)到,裸機(jī)應(yīng)該換一個(gè)方法學(xué)。

第一步、狂啃啟動(dòng)代碼。

啃過之后你就會(huì)發(fā)現(xiàn),原來大家在三星原版基礎(chǔ)上改的,然后互相抄,有的甚至都抄錯(cuò)了。這可能是個(gè)痛苦的過程,你要找各種版本的2440init.s,但卻是必經(jīng)的。一旦走過,你會(huì)發(fā)現(xiàn)你對ARM底層就有了和以前不是一個(gè)深度的理解。以后做起開發(fā)來底氣也就足了。這個(gè)過程里,你會(huì)遇到很多匯編的基礎(chǔ),杜春雷的那本《ARM體系結(jié)構(gòu)編程》就是本很不錯(cuò)的材料。但是千萬記住,你拿它當(dāng)字典用就行,千萬別運(yùn)氣下決心要從頭到尾看完。不然你真不知道你是怎么死的。以前還有人說一定要通讀三星手冊,我覺得這跟殺人沒什么兩樣。學(xué)習(xí)一定要有目的性。當(dāng)學(xué)習(xí)啟動(dòng)代碼遇到問題時(shí),再去查匯編語法和三星手冊時(shí),學(xué)習(xí)時(shí)最快的,記得最牢的。如果漫無目的地通讀。。。。就算最后你活下來了,你也不知道之前你都看了些什么。。。。

第二步、跟著啟動(dòng)代碼跳轉(zhuǎn)到C程序來。

這個(gè)過程就像搞單片機(jī)一樣了。自己寫自己的第一個(gè)跑馬燈程序、蜂鳴器程序、按鍵中斷程序、定時(shí)器、LCD etc etc etc etc etc。最后你再把自己寫的所有的東西組合起來,構(gòu)建成一個(gè)屬于自己的裸機(jī)測試程序。經(jīng)歷過這個(gè)過程,你就會(huì)發(fā)現(xiàn),原來ARM不是不可戰(zhàn)勝的。原來,你已經(jīng)一步一步踏實(shí)的走過來了。這個(gè)時(shí)候,你回頭再看一眼天嵌的邏輯測試程序,你就會(huì)淡然一笑,哦,這個(gè)啊,我自己已經(jīng)寫出來了。

至此,所謂“成就感”才建立起來。至此,你才可以絲毫不依賴別人地做出自己的東西。至此,你才學(xué)到了真正的東西。

因此,在這里我誠懇地向天嵌提出建議。如果寫裸奔教程,請從最底層寫起。貴公司對啟動(dòng)代碼的介紹少之又少。而完全是在對上層做文章。我想,對于一個(gè)ARM新手,不管他之前學(xué)沒學(xué)過單片機(jī),你讓他過度依賴測試程序的框架做開發(fā),他真的會(huì)因?yàn)榈讓踊A(chǔ)不好而發(fā)飄,導(dǎo)致以后的全部開發(fā)都過度依賴現(xiàn)有的測試程序。從本質(zhì)上講,他還是沒有學(xué)懂裸機(jī)。在沒搞懂啟動(dòng)過程的前提下,就去學(xué)習(xí)裸機(jī)電子鐘之類的東西,結(jié)果只有一個(gè)字——飄。

我知道天嵌寫教程也要考慮篇幅,也不能面面俱到。面面俱到那真的是強(qiáng)人所難。但是不知道貴公司是否可以考慮換一個(gè)思路,換一種引導(dǎo)的方式,哪怕只是寫一個(gè)啟動(dòng)代碼的詳細(xì)注釋,已經(jīng)如何建立一個(gè)啟動(dòng)代碼+LED跑馬燈程序,都足以給用戶一個(gè)清晰的方向。以后的教程甚至不寫,用戶也會(huì)沿著思路,學(xué)會(huì)自己搭建起屬于自己的東西,而不是搭建起建立再現(xiàn)有代碼基礎(chǔ)之上的東西。這樣用戶學(xué)到的東西才真正會(huì)變成自己的。

最后,想說選本好的教材,這很重要。不好的教材只能讓你多走彎路。

我覺得阿南的那本《ARM Linux入門與實(shí)踐》就很不錯(cuò),我不是在做廣告,真的不錯(cuò)。那里多一句廢話不寫,凈撈干的。比如匯編部分,他只介紹了學(xué)習(xí)啟動(dòng)代碼所必須掌握的一些指令和偽指令。其他沒用的一概不寫,不像有些書,就會(huì)抄DataSheet。

韋東山的《嵌入式Linux應(yīng)用開發(fā)完全手冊》對于裸機(jī)部分寫得其實(shí)不是很好,他總喜歡在Linux下搞。而且中斷那里寫得非常不好。我們大多數(shù)人還是在ADS下搞的,于是我們一般還都是用啟動(dòng)代碼來啟動(dòng)開發(fā)板的(搞裸機(jī)也不能太裸不是,啟動(dòng)代碼都自己重新寫就基本可以直接累死了),啟動(dòng)代碼里的非常漂亮的兩級(jí)向量表中斷處理機(jī)制韋東山完全沒用到。而且那本書每一章里知識(shí)高度濃縮,新手看了容易上頭。而且,凡是號(hào)稱什么什么全書的,往往不可能寫得很全。嵌入式技術(shù)是一個(gè)龐大的體系,怎么可能一本書寫全呢?如果號(hào)稱全,則必然不精。

還有,有誰還看中嵌的視頻的就別看了。首先我說,他們已經(jīng)倒閉了,因?yàn)轵_錢倒閉的。他們的質(zhì)量很差,視頻質(zhì)量也很差。老師就是在念程序或者念DataSheet。講啟動(dòng)代碼的時(shí)候老師屁都不會(huì),之前他們講過匯編語法,講到bootloader的時(shí)候,bootloader再干什么一點(diǎn)兒沒講,反而又領(lǐng)著學(xué)生復(fù)習(xí)匯編基本語法,這都忍了,可老師硬說bic指令是跳轉(zhuǎn)指令。 還有,體系亂套。先講Linux,然后將裸機(jī)。我都不知道他是不是先拉屎后脫褲子。這種東西最好別看??赐晁囊曨l再看什么教程都沒法學(xué)了。這個(gè)和吃完大便之后就再?zèng)]食欲吃烤鴨是一個(gè)道理。

帖子有的地方有點(diǎn)兒攻擊性,有點(diǎn)兒偏激。再次往誤傷的同胞海涵。如果您覺得我扯了半天都是廢話,您就當(dāng)這是一陣風(fēng)飄過,或者這是我半夜的夢話。。。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉