日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux嵌入式开发流程,听听牛人怎么说

發(fā)布時間:2023/12/20 linux 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux嵌入式开发流程,听听牛人怎么说 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

很多學(xué)習(xí)嵌入式的人來說,都會學(xué)習(xí)嵌入式linux開發(fā),在學(xué)習(xí)的過程中,總會有很多難題,相對而言,嵌入式linux也算是嵌入式學(xué)習(xí)中比較難的,那如何可以攻破這個難點,那么我們就需要從根本入手,學(xué)習(xí)嵌入式linux最重要的一個點就是嵌入式linux開發(fā)的流程,看看在華清遠見學(xué)習(xí)過的嵌入式開發(fā)大牛是如何認(rèn)識嵌入式linux開發(fā)的,這里有一些總結(jié)的具體開發(fā)流程,當(dāng)然除了流程外,肯定也會遇到很多問題,這里也會為你解答。

對于嵌入式開發(fā)的流程其實是很簡單的,但是里面是有很多小東西需要你注意的,這也是這么多年的經(jīng)驗,讓我們先來看具體流程:

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

操作系統(tǒng)當(dāng)然是LInux,或者在win系統(tǒng)下安裝虛擬機,通過網(wǎng)絡(luò)下載相應(yīng)的GCC交叉編譯器進行安裝,或者安裝產(chǎn)品廠家提供的交叉編譯器。

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

二、配置開發(fā)主機

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

1、嵌入式linux開發(fā)流程

配置網(wǎng)絡(luò),主要是配置NFS網(wǎng)絡(luò)文件系統(tǒng),這個主要是用于下載程序,當(dāng)然不配置也可以,有很多別的辦法。

三、建立引導(dǎo)裝在程序的bootloader

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

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

再來就是嵌入式Linux操作系統(tǒng)移植

1、嵌入式linux開發(fā)流程

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

2、接下來就是根文件系統(tǒng)了

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

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

弄好上面那么接下來就簡單了就是建立應(yīng)用程序的Flash磁盤分區(qū)

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

3、開發(fā)應(yīng)用程序

應(yīng)用程序可以放到根文件系統(tǒng)中,也可以放到y(tǒng)affs、jffs2文件系統(tǒng)中,有的應(yīng)用不使用根文件系統(tǒng),直接將應(yīng)用程序和內(nèi)核設(shè)計在一起,就是類似于uCOS-II的方式。

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

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

(2)基于qt等GUI開發(fā)應(yīng)用程序

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

現(xiàn)在就是對燒寫內(nèi)核、根文件系統(tǒng)、應(yīng)用程序的加載了(其實差不多也就完了)

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

4、發(fā)布產(chǎn)品

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

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

根據(jù)我多年的經(jīng)驗總結(jié)都在這里,華清遠見的學(xué)習(xí)還是不錯的而且嵌入式linux的開發(fā)流程也就是這些了,跟著上面的這些步驟,掌握嵌入式linux的學(xué)習(xí)還是很簡單的,這些方法你都get到了嗎,都是實戰(zhàn)經(jīng)驗。

轉(zhuǎn)載于:https://www.cnblogs.com/pgyyd/p/9914927.html

總結(jié)

以上是生活随笔為你收集整理的linux嵌入式开发流程,听听牛人怎么说的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。