直播推薦
企業(yè)動(dòng)態(tài)
- 紛享銷客發(fā)布首個(gè)企業(yè)級(jí)智能CRM平臺(tái)ShareAI
- 揭秘西企業(yè)數(shù)字化+低碳化轉(zhuǎn)型“工具箱”:西門子X(jué)celerator
- 企業(yè)AI賦能數(shù)智制造,用友U9 cloud世界級(jí)云ERP煥新升級(jí)
- 《“智“領(lǐng)石化,“質(zhì)“造未來(lái)——威圖石化行業(yè)數(shù)智化實(shí)踐白皮書》隆重發(fā)布
- 攜手共贏!德國(guó)Agfa搭載瑞典IPCO鋼帶,實(shí)現(xiàn)印刷設(shè)備振動(dòng)銳減6倍,提升印刷速度與精度
- 創(chuàng)四方集團(tuán)榮獲“知名商標(biāo)品牌閃亮”證書,助力品牌戰(zhàn)略升級(jí)
- 皇冠CAD(CrownCAD)2025 R3版本來(lái)了,率先開啟C“Ai”D時(shí)代!
- 電費(fèi)砍半!中國(guó)制冷展:海爾發(fā)布AI建筑最新成果
推薦展會(huì)
在和很多工作的人交流時(shí)了解到,他們公司從沒(méi)考慮使用WinCE,因?yàn)槌杀靖撸际鞘褂胠inux進(jìn)行開發(fā)。在學(xué)校里,大都研究linux,也有少部分項(xiàng)目使用vxwork,但是就沒(méi)有聽說(shuō)過(guò)使用WinCE的,原因就是開源!當(dāng)然現(xiàn)在WinCE6.0聽說(shuō)也開源,不過(guò)在成本和資源上linux已經(jīng)有了無(wú)人能擋的優(yōu)勢(shì)。與此相對(duì)應(yīng)的是,越來(lái)越多的電子廠商已經(jīng)開始使用linux開發(fā)產(chǎn)品。
*,學(xué)習(xí)基本的裸機(jī)編程
對(duì)于學(xué)硬件的人而言,必須先對(duì)硬件的基本使用方法有感性的認(rèn)識(shí),更必須深刻認(rèn)識(shí)該硬件的控制方式,如果一開始就學(xué)linux系統(tǒng)、學(xué)移植那么只會(huì)馬上就陷入一個(gè)很深的漩渦。剛剛開始學(xué)ARM的時(shí)候選擇ARM9,從底層的硬件控制著手,因?yàn)闊o(wú)論做多復(fù)雜的系統(tǒng)zui終都會(huì)落實(shí)到zui底層的硬件控制,因此對(duì)這些硬件的控制有了感性的認(rèn)識(shí)就會(huì)好很多
學(xué)習(xí)裸機(jī)的編程的同時(shí)要好好理解這個(gè)硬件的構(gòu)架、控制原理,這些我稱他為理解硬件。所謂的理解硬件就是說(shuō),理解這個(gè)硬件是怎么組織這么多資源的,這些資源又是怎么由cpu、由編程進(jìn)行控制的。比如說(shuō),s3c2410中有AD轉(zhuǎn)換器,有GPIO(通用IO口),還有nandflash控制器,這些東西都有一些寄存器來(lái)控制,這些寄存器都有一個(gè)地址,那么這些地址是什么意思?又怎么通過(guò)寄存器來(lái)控制這些外圍設(shè)備的運(yùn)轉(zhuǎn)?
還有,norflash內(nèi)部的每一個(gè)單元在這個(gè)芯片的內(nèi)存中都有一個(gè)相應(yīng)的地址單元,那么這些地址與剛剛說(shuō)的寄存器地址又有什么關(guān)系?他們是一樣的嗎?而與norflash相對(duì)應(yīng)的nandflash內(nèi)部的儲(chǔ)存單元并不是線性排放的,那么s3c2410怎么將nandflash的地址映射在內(nèi)存空間上進(jìn)行使用?或者簡(jiǎn)單地說(shuō)應(yīng)該怎么用nandflash?再有,使用ADS進(jìn)對(duì)ARM9行編程時(shí)都需要使用到一個(gè)初始化的匯編文件,這個(gè)文件究竟有什么用?他里面的代碼是什么意思?不要這個(gè)可以嗎?
諸如此類都是對(duì)硬件的理解,理解了這些東西就對(duì)硬件有很深的理解了,這對(duì)以后更深一步的學(xué)習(xí)將有很大的幫助,如果跳過(guò)這一步,越往后學(xué)越會(huì)覺(jué)得迷茫,越覺(jué)得這寫東西深不可測(cè)。因?yàn)椋愕母鶝](méi)打好。
第二,使用linux系統(tǒng)進(jìn)行一些基本的實(shí)驗(yàn)
在買一套板子的時(shí)候一般會(huì)提供一些linux的試驗(yàn)例程,好好做一段時(shí)間這個(gè)吧,這個(gè)過(guò)程也是很有意義的,也是為進(jìn)一步的學(xué)習(xí)積累感性認(rèn)識(shí),你能想象一個(gè)從沒(méi)有使用過(guò)linux系統(tǒng)的人能學(xué)好linux的編程嗎?好好按照手冊(cè)上的例程做一做里面的實(shí)驗(yàn),雖然有點(diǎn)娃娃學(xué)走路,有點(diǎn)弱智,但是很多高手都會(huì)經(jīng)歷這個(gè)過(guò)程。
第三,研究完整的linux系統(tǒng)的的運(yùn)行過(guò)程
所謂完整的linux系統(tǒng)包括哪些部分呢?
三部分:bootloader、linuxkernel(linux內(nèi)核)、rootfile(根文件系統(tǒng))。
那么這3部分是怎么相互協(xié)作來(lái)構(gòu)成這個(gè)系統(tǒng)的呢?各自有什么用呢?三者有什么?怎么?系統(tǒng)的執(zhí)行流程又是怎么樣的呢?搞清楚這個(gè)問(wèn)題你對(duì)整個(gè)系統(tǒng)的運(yùn)行就很清楚了,對(duì)于下一步制作這個(gè)linux系統(tǒng)就打下了另一個(gè)重要的根基。
第四,開始做系統(tǒng)移植
上面說(shuō)到完整的linux有3部分,而且你也知道了他們之間的關(guān)系和作用,那么現(xiàn)在你要做的便是自己動(dòng)手學(xué)會(huì)制作這些東西。
當(dāng)然不可能叫你編寫這些代碼,這不實(shí)現(xiàn)。事實(shí)上這個(gè)3者都能在網(wǎng)下載到相應(yīng)的源代碼,但是這個(gè)源代碼不可能下載編譯后就能在你的系統(tǒng)上運(yùn)行,需要很多的修改,直到他能運(yùn)行在你的板子上,這個(gè)修改的過(guò)程就叫移植。在進(jìn)行移植的過(guò)程中你要學(xué)的東西很多,要懂的相關(guān)知識(shí)也很多,等你完成了這個(gè)過(guò)程你會(huì)發(fā)現(xiàn)你已經(jīng)算是一個(gè)初出茅廬的高手了。
在這個(gè)過(guò)程中如果你很有研究精神的話你必然會(huì)想到看源代碼。很多書介紹你怎么閱讀linux源代碼,我不提倡無(wú)目的地去看linux源代碼,用許三多的話說(shuō),這沒(méi)有意義。等你在做移植的時(shí)候你覺(jué)得你必須去看源代碼時(shí)再去找基本好書看看,這里我推薦一本好書倪繼利的《linux內(nèi)核的分析與編程》,這是一本針對(duì)linux-2.6.11內(nèi)核的書,說(shuō)得很深,建議先提高自己的C語(yǔ)言編程水平再去看。
這一步的zui終目的是,從源代碼的*主頁(yè)上(都是外國(guó)的,悲哀)下載標(biāo)準(zhǔn)的源代碼包,然后進(jìn)行修改,zui終運(yùn)行在板子上。專業(yè)嵌入式技術(shù)實(shí)訓(xùn),詳情了解
第五,研究linux驅(qū)動(dòng)程序的編寫
移植系統(tǒng)并不是zui終的目的,zui終的目的是開發(fā)產(chǎn)品,做項(xiàng)目,這些都要進(jìn)行驅(qū)動(dòng)程序的開發(fā)。
Linux的驅(qū)動(dòng)程序可以說(shuō)是五花八門,linux2.4和linux2.6的編寫有相當(dāng)大的區(qū)別,就是同為linux2.6但是不同版本間的驅(qū)動(dòng)程序也有區(qū)別,因此編寫linux的驅(qū)動(dòng)程序變都不是那么容易的事情,對(duì)于版本的驅(qū)動(dòng)程序的編寫甚至還沒(méi)有足夠的參考資料。那么我的建議就是使用、移植一個(gè)不算很新的版本內(nèi)核,這樣到時(shí)學(xué)驅(qū)動(dòng)的編程就有足夠的資料了。
第六,研究應(yīng)用程序的編寫
做作品做項(xiàng)目除了編寫驅(qū)動(dòng)程序,zui后還要編寫應(yīng)用程序。現(xiàn)在的趨勢(shì)是圖形應(yīng)用程序的開發(fā),而圖形應(yīng)用程序中用得zui多的還是qt/e函數(shù)庫(kù)。建議使用國(guó)產(chǎn)的MiniGUI函數(shù)庫(kù)。MiniGUI的編程比較相似Windows下的VC編程,比較容易上手,效果應(yīng)該說(shuō)是相當(dāng)不錯(cuò)的。不過(guò)MiniGUIzui大的不好就是沒(méi)有像qtopia這樣的圖形操作平臺(tái),這大大限制了他的推廣,完成這一步你基本就學(xué)完了嵌入式linux的全部?jī)?nèi)容了。
免責(zé)聲明
- 凡本網(wǎng)注明"來(lái)源:智能制造網(wǎng)"的所有作品,版權(quán)均屬于智能制造網(wǎng),轉(zhuǎn)載請(qǐng)必須注明智能制造網(wǎng),http://www.xashilian.com。違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
- 企業(yè)發(fā)布的公司新聞、技術(shù)文章、資料下載等內(nèi)容,如涉及侵權(quán)、違規(guī)遭投訴的,一律由發(fā)布企業(yè)自行承擔(dān)責(zé)任,本網(wǎng)有權(quán)刪除內(nèi)容并追溯責(zé)任。
- 本網(wǎng)轉(zhuǎn)載并注明自其它來(lái)源的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品來(lái)源,并自負(fù)版權(quán)等法律責(zé)任。
- 如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
2025第十一屆中國(guó)國(guó)際機(jī)電產(chǎn)品交易會(huì) 暨先進(jìn)制造業(yè)博覽會(huì)
展會(huì)城市:合肥市展會(huì)時(shí)間:2025-09-20