久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > Linux學習 > linux入門 > 嵌入式(shi)linux開發(fa)流程,大牛詳(xiang)細總(zong)結

嵌入(ru)式linux開發流(liu)程,大牛詳細(xi)總結 時間:2018-07-13      來(lai)源:未知(zhi)

在嵌(qian)入式學習(xi)(xi)的(de)(de)(de)(de)(de)過程中,嵌(qian)入式linux的(de)(de)(de)(de)(de)學習(xi)(xi)是(shi)(shi)不可少(shao)的(de)(de)(de)(de)(de),可以說(shuo)嵌(qian)入式linux是(shi)(shi)學習(xi)(xi)比(bi)較困難(nan)的(de)(de)(de)(de)(de),會遇到各種各樣的(de)(de)(de)(de)(de)問題,那么嵌(qian)入式linux學習(xi)(xi)有一個(ge)重要的(de)(de)(de)(de)(de)點(dian)就是(shi)(shi)嵌(qian)入式linux開發的(de)(de)(de)(de)(de)流(liu)程,這是(shi)(shi)必須(xu)要知(zhi)道的(de)(de)(de)(de)(de),接下來我們就看(kan)(kan)看(kan)(kan)這方面的(de)(de)(de)(de)(de)大牛總結的(de)(de)(de)(de)(de)嵌(qian)入式linux開發流(liu)程及(ji)一些(xie)遇到的(de)(de)(de)(de)(de)困難(nan),解決方法。

嵌入(ru)式開發流(liu)程(cheng)其(qi)實很簡單,但(dan)是(shi)里面是(shi)有很多小的(de)東西需要你(ni)注意的(de),這也(ye)是(shi)我這么多年(nian)來的(de)一些(xie)經驗,先說嵌入(ru)式linux開發流(liu)程(cheng):

一、建立開發環境(jing),首(shou)先你(ni)必須要(yao)會安裝配(pei)置嵌入式linux開發環境(jing),這個是(shi)基本

操作系統當然是LInux,或者(zhe)在win系統下安(an)裝(zhuang)虛擬(ni)機,通過網絡(luo)下載相應的GCC交叉編(bian)譯(yi)器進行安(an)裝(zhuang),或者(zhe)安(an)裝(zhuang)產品(pin)廠家提供的交叉編(bian)譯(yi)器。

這一(yi)步,就相當(dang)于在win系統下,要(yao)安裝一(yi)個(ge)IDE開發環境,如MDK,IAR等。在這一(yi)點(dian)上,我(wo)時常會因為(wei)這出現一(yi)些(xie)問(wen)題,就因為(wei)配(pei)置沒配(pei)好(hao),導致下面的步驟沒法進行,報錯,要(yao)切(qie)記這里(li)需(xu)要(yao)你仔細點(dian)。

二、配置開發主機

主要是(shi)配置minicom,也(ye)就是(shi)串(chuan)口(kou)助(zhu)手,minicom軟件是(shi)作為調試嵌入式開發板信息輸出的(de)監視器(qi)和(he)鍵盤輸入工(gong)(gong)具,是(shi)一個非常(chang)方便的(de)工(gong)(gong)具,我們開發其(qi)(qi)他嵌入式程序時,其(qi)(qi)實很多(duo)時候也(ye)采(cai)用串(chuan)口(kou)調試,所(suo)以最終(zhong)原理都是(shi)相通的(de)。

嵌入式linux開發流程

配置(zhi)網絡,主(zhu)要是配置(zhi)NFS網絡文件系統,這(zhe)個主(zhu)要是用于下載程(cheng)序,當然(ran)不配置(zhi)也(ye)可以,有很多(duo)別的辦法(fa)。

三、建立(li)引(yin)導裝(zhuang)在程序(xu)的bootloader

常(chang)用(yong)的(de)(de)bootloader主(zhu)(zhu)要有u-boot、vivi等,貌似主(zhu)(zhu)流的(de)(de)就是(shi)u-boot,這(zhe)個根據自(zi)己具體的(de)(de)芯(xin)(xin)片(pian)進(jin)行(xing)移植修(xiu)改。有些(xie)芯(xin)(xin)片(pian)是(shi)沒有內置引(yin)導(dao)加載程序(xu)(xu)(xu)的(de)(de),這(zhe)就需要編(bian)寫開發(fa)板(ban)上的(de)(de)Flash的(de)(de)少些(xie)程序(xu)(xu)(xu),當然也可(ke)以(yi)用(yong)windows下(xia)的(de)(de)通過JTAG并口和仿真(zhen)器(qi)少些(xie)Flash芯(xin)(xin)片(pian)程序(xu)(xu)(xu),也有linux下(xia)的(de)(de)公開源代碼的(de)(de)J-Flash程序(xu)(xu)(xu),在自(zi)己做的(de)(de)時(shi)候,可(ke)以(yi)預(yu)留(liu)多重方式,這(zhe)樣(yang)是(shi)有用(yong)的(de)(de)。

簡單的(de)(de)(de)講,其(qi)實就是(shi)要(yao)(yao)做好一(yi)個(ge)屬于自(zi)己板(ban)子的(de)(de)(de)u-boot,完(wan)成初始化,內(nei)核引導,下(xia)載、燒(shao)(shao)寫等。其(qi)實在這一(yi)點上(shang),也(ye)會是(shi)個(ge)難點,這里需(xu)(xu)要(yao)(yao)掌(zhang)握的(de)(de)(de)東西多,這一(yi)流程(cheng)(cheng)的(de)(de)(de)燒(shao)(shao)寫,內(nei)核引導,網絡(luo)上(shang)有(you)免費下(xia)載的(de)(de)(de)Windows下(xia)通過JTAG并口簡易仿真器燒(shao)(shao)寫ARM外(wai)圍Flash芯片(pian)的(de)(de)(de)燒(shao)(shao)寫程(cheng)(cheng)序(xu),也(ye)有(you)Linux下(xia)的(de)(de)(de)公(gong)開(kai)源(yuan)代碼的(de)(de)(de)J-Flash程(cheng)(cheng)序(xu)。如(ru)果不能燒(shao)(shao)寫自(zi)己的(de)(de)(de)開(kai)發(fa)板(ban),就需(xu)(xu)要(yao)(yao)根據自(zi)己的(de)(de)(de)具體電路進行源(yuan)代碼修改。這是(shi)系統正(zheng)常運行的(de)(de)(de)第一(yi)步。如(ru)果購買了廠家的(de)(de)(de)仿真器當然(ran)比較(jiao)容易燒(shao)(shao)寫Flash,這對于需(xu)(xu)要(yao)(yao)迅(xun)速開(kai)發(fa)自(zi)己產品的(de)(de)(de)人來(lai)說(shuo)可以極大地提高開(kai)發(fa)速度,但是(shi)其(qi)中的(de)(de)(de)核心技術是(shi)無法了解的(de)(de)(de)。

再(zai)來就是嵌入式Linux操作(zuo)系統移植了

嵌入式linux開發流程

如果有專門針對(dui)你使(shi)用的(de)(de)CPU的(de)(de)Linux再好不過(guo),比如uCLinux、ARM-Linux、PPC-Linux等(deng),如果沒有,就要嘗試(shi)移植專屬自己(ji)的(de)(de)linux了,然后再添加自己(ji)特定硬件的(de)(de)驅(qu)動程序,進(jin)(jin)行調試(shi)修改,對(dui)于帶MMU的(de)(de)CPU可以使(shi)用模塊方式調試(shi)驅(qu)動,而對(dui)于uCLinux這樣(yang)的(de)(de)系(xi)統則(ze)需(xu)要編譯進(jin)(jin)內核,與內核為一(yi)體,再進(jin)(jin)行調試(shi)。最好的(de)(de)就是下載別(bie)人已經移植好的(de)(de)Linux操作系(xi)統來弄,這樣(yang)會高效

接(jie)下來就是(shi)根文件系(xi)統了

前面的文(wen)章講述過,沒有根(gen)文(wen)件系(xi)統(tong)(tong)的Linux是無法正常工作的,還(huan)需要根(gen)文(wen)件系(xi)統(tong)(tong)。所以需要下載使用busybox軟件來實現制作根(gen)文(wen)件系(xi)統(tong)(tong)。

再根(gen)據自己的(de)應用需(xu)要來添加其他程序,默認的(de)啟動腳本(ben)一般都(dou)不會符合應用的(de)需(xu)求(因為(wei)所(suo)有的(de)嵌(qian)入式開發都(dou)是自由(you)定制(zhi)的(de)),所(suo)以就(jiu)(jiu)要修(xiu)改根(gen)文(wen)(wen)件系統(tong)(tong)中(zhong)的(de)啟動腳本(ben),它的(de)存放位置(zhi)至于/etc目錄下,包括:/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自動掛載文(wen)(wen)件系統(tong)(tong)的(de)配(pei)置(zhi)文(wen)(wen)件/etc/fstab,其實(shi)就(jiu)(jiu)是定制(zhi)自己要開機(ji)啟動的(de)程序,具(ju)體情況會隨(sui)著系統(tong)(tong)的(de)不同(tong)而不同(tong),根(gen)文(wen)(wen)件系統(tong)(tong)在嵌(qian)入式系統(tong)(tong)中(zhong)一般設為(wei)只讀,需(xu)要使用mkcramfs、genromfs等工具(ju)產生少些(xie)映像文(wen)(wen)件。記得這(zhe)一步要看好,別(bie)為(wei)了(le)省(sheng)時間寫錯(cuo)。

弄好(hao)上(shang)面那么接下來就簡單了就是建立應用(yong)程序(xu)的Flash磁盤分區

一般會使(shi)用(yong)jffs2或者YAFF文件(jian)(jian)系統(tong),這需要在內核中提供這些文件(jian)(jian)系統(tong)的(de)(de)驅動,有的(de)(de)系統(tong)使(shi)用(yong)NOR FLASH,有的(de)(de)系統(tong)使(shi)用(yong)NAND FLASH,也有的(de)(de)系統(tong)兩(liang)種flash都(dou)使(shi)用(yong),到(dao)時候就看具體(ti)情況了。

開發應用程序

應(ying)用程序(xu)可以放到根文(wen)(wen)件(jian)系(xi)統(tong)中,也(ye)可以放到yaffs、jffs2文(wen)(wen)件(jian)系(xi)統(tong)中,有的應(ying)用不(bu)使用根文(wen)(wen)件(jian)系(xi)統(tong),直接將應(ying)用程序(xu)和內核設計在(zai)一起,就是(shi)類似于uCOS-II的方式。

其實,上面(mian)的那些(xie)步(bu)驟也(ye)就是為了(le)這一步(bu),在這里你要注(zhu)意(yi)他有三種呈現方式:

(1)直(zhi)接講應用程序和(he)內核設(she)計(ji)在一(yi)起,類(lei)似(si)與uCOS-II的方式

(2)基于qt等GUI開發應用程序

(3)沒有(you)屏(ping)幕,只有(you)簡單(dan)的人機接口,比如串口,按鍵,數(shu)碼管,這種也(ye)能(neng)(neng)實現(xian)復雜功能(neng)(neng)開發

現(xian)在就是對燒寫(xie)內核、根文件系統(tong)、應用程(cheng)序的加載了(其實(shi)差不多(duo)也就完了)

無論怎(zen)么加(jia)載,模(mo)塊也好,所有(you)的這些開(kai)發,過程資料,都是要燒寫到flash中(zhong)的,然后應用程序需要什么,就(jiu)加(jia)載對應的功能程序即可。

發布產品

開發一款中高型的(de)控制(zhi)器(qi)設備,功(gong)能比(bi)較復雜,甚(shen)至需要復雜的(de)屏幕交(jiao)互,比(bi)如手機(安(an)卓是(shi)linux的(de)親兒子(zi),OS是(shi)linux的(de)親表弟),取款機,服(fu)務器(qi)交(jiao)易系統(tong),那么linux就(jiu)非常(chang)合適了。

開發一款小型控(kong)制器設備(bei),如(ru)果(guo)功能不太復雜(za),可以使(shi)用稍(shao)微高(gao)級(ji)的CPU,裸機或者(zhe)ucos等來開發,也很方(fang)便,也能做很多定制版的工業小型控(kong)制器。

嵌入式linux開(kai)發流程差不(bu)多就是這樣了,在學(xue)習時一步(bu)一步(bu)來(lai),就不(bu)會出錯(cuo),大牛(niu)說的這些都學(xue)習到了嗎,掌(zhang)握(wo)這些方法,嵌入式linux開(kai)發流程就不(bu)是事兒。

上一篇:嵌入式linux怎么學?大神幾招點醒你

下一篇:linux語音識別程序就是這么簡單

熱(re)點(dian)文章推(tui)薦
華清學員就業榜單(dan)
高(gao)薪學員經驗分享
熱點新聞推薦
前臺(tai)專(zhuan)線:010-82525158 企業培(pei)訓洽談專(zhuan)線:010-82525379 院校(xiao)合作洽談(tan)專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部