色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

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

嵌入式linux開發流程,大牛詳細總結 時間:2018-07-13      來源:未知

在嵌入式學習的過程中,嵌入式linux的學習是不可少的,可以說嵌入式linux是學習比較困難的,會遇到各種各樣的問題,那么嵌入式linux學習有一個重要的點就是嵌入式linux開發的流程,這是必須要知道的,接下來我們就看看這方面的大牛總結的嵌入式linux開發流程及一些遇到的困難,解決方法。

嵌入式開發流程其實很簡單,但是里面是有很多小的東西需要你注意的,這也是我這么多年來的一些經驗,先說嵌入式linux開發流程:

一、建立開發環境,首先你必須要會安裝配置嵌入式linux開發環境,這個是基本

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

這一步,就相當于在win系統下,要安裝一個IDE開發環境,如MDK,IAR等。在這一點上,我時常會因為這出現一些問題,就因為配置沒配好,導致下面的步驟沒法進行,報錯,要切記這里需要你仔細點。

二、配置開發主機

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

嵌入式linux開發流程

配置網絡,主要是配置NFS網絡文件系統,這個主要是用于下載程序,當然不配置也可以,有很多別的辦法。

三、建立引導裝在程序的bootloader

常用的bootloader主要有u-boot、vivi等,貌似主流的就是u-boot,這個根據自己具體的芯片進行移植修改。有些芯片是沒有內置引導加載程序的,這就需要編寫開發板上的Flash的少些程序,當然也可以用windows下的通過JTAG并口和仿真器少些Flash芯片程序,也有linux下的公開源代碼的J-Flash程序,在自己做的時候,可以預留多重方式,這樣是有用的。

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

再來就是嵌入式Linux操作系統移植了

嵌入式linux開發流程

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

接下來就是根文件系統了

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

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

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

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

開發應用程序

應用程序可以放到根文件系統中,也可以放到yaffs、jffs2文件系統中,有的應用不使用根文件系統,直接將應用程序和內核設計在一起,就是類似于uCOS-II的方式。

其實,上面的那些步驟也就是為了這一步,在這里你要注意他有三種呈現方式:

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

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

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

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

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

發布產品

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

開發一款小型控制器設備,如果功能不太復雜,可以使用稍微高級的CPU,裸機或者ucos等來開發,也很方便,也能做很多定制版的工業小型控制器。

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

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

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

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

回到頂部

主站蜘蛛池模板: 最新国产在线拍揄自揄视频 | 校园春色~综合网 | 国产免费天天看高清影视在线 | 最新国内精品自在自线视频 | 最新亚洲人成无码WWW | 99精产国品一二三产区区别网站 | 女人18毛片A级毛片嫰阝 | 亚洲尺码一区二区三区 | 欧美黑人又粗又大一级A片 动漫AV网站免费观看 | 亚洲精品无码午夜福利中文字幕 | 亚洲 激情 小说 另类 欧美 | 精品uu | 国产成人精品日本亚洲第一区 | 欧美精品日本 | 国产精品久久久久9999爆乳 | 黑人巨大两根一起挤进a片视频 | 国产人妻无码精品 | 国产精品黄在线观看免费软件 | 成人无遮挡裸免费视频在线观看 | 亚洲精品口国自一产A片 | 蜜桃网在线观看 | 日日网站 | 好深好湿好硬顶到了好爽 | 在线观看免费视频一区 | 久久亚洲中文无码咪咪爱 | 亚洲国产精品成人久久蜜臀 | 日韩吃奶摸下AA片免费观看 | 涩涩涩久久久成人精品 | 国产在线精品无码二区 | 少妇人妻无码专区视频免费 | 狠狠狠干 | 色婷婷六月亚洲综合香蕉 | 亚洲第一区国产精品 | 两女女百合互慰AV赤裸无遮挡 | 日本高清色WWW网站色噜噜噜 | 亚洲AV无码国产精品色午夜软件 | 亚洲夜夜欢a∨一区二区三区 | 无尽动漫性视频╳╳╳3d | 国产精品久久午夜夜伦鲁鲁 | 无人高清视频免费观看在线 | 日韩欧美亚洲综合久久影院d3 |