国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于μClinux的嵌入式應用程序的開發

發布時間:2010-7-27 12:48    發布者:lavida
關鍵詞: μClinux
嵌入式系統范同非常廣泛,從簡單的單片機系統到主頻高達幾百兆的使用操作系統的非計算機系統,都可以稱為嵌入式系統。隨著各行業電子系統應用要求的提高,嵌入式系統也越來越復雜,硬件要求速度快、集成度高、外部接口多,軟件則要求功能豐富、模塊化、易于擴展。ARM能夠很好滿足復雜嵌入式系統的要求,因此ARM芯片成為當前嵌入式應用最重要的硬件平臺。嵌入式硬件平臺性能的提高,使嵌入式操作系統的使用成為必然。  

1 嵌入式系統與μClinux  

基于ARM的嵌入式系統是當前最典型的嵌入式系統。嵌入式系統框圖如圖1所示。系統的硬件主要部件是ARM7系列的S3C44B0X處理器。當系統中需要使用各種各樣的外圍設備時,開發的難度相當大,使用操作系統可以提高升發的效率。因此,嵌入式操作系統是嵌入式系統極為重要的組成部分。它具有通用操作系統的基小特點,而又增加了實時高效性、硬件依賴性、應用專一性等新特點。常見的嵌入式操作系統有:VxWorks、uC/OS-II、Windows CE、μClinux等。μClinux操作系統是一種性能優良、源碼公開且被廣泛應用的免費嵌入式操作系統,因此很多無MMU單元的嵌入式系統都使用μClinux作為操作系統。  

μClinux是針對控制領域的嵌入式Linux操作系統,它從Linux 2.0/2.4內核派生而來,而又針對沒有MMU的處理器進行設計,因此有著特別小的內核和用戶軟件空間,而且所有程序訪問的地址都是實際的物理地址。操作系統對內存空間沒有保護,各個進程實際上共享一個運行空間。

2 μClinux的移植  

μClinux是依賴于硬件系統的,與PC上運行的Linux系統有較大的區別。因此在ARM系統中使用μClinux時,需要對內核進行裁剪,再添加一些需要的驅動程序,才能在不同的嵌入式碰件系統中運行。μClinux操作系統一般都是先在安裝Linux的計算機上編譯調試,然后再下載到目標系統板上運行,這一過程就是μClinux的移植。  

2.1 Bootloader的設計  

Bootloader就是在操作系統內核運行之前運行的一段程序。嵌入式系統的Bootloader程序燒錄在系統地址的0x0處,即每次上電后先運行Bootloader,完成硬件系統的初始化、建立內存空間的映射圖和μClinux的引導工作。完整的Bootloader引導流程描述。  

Bootloader的主要任務對時鐘、中斷、I/O等芯片資源進行初始化,為μClinux的運行做好準備。  

2.2 μClinux移植的方法  

2.2.1 建立交叉編譯環境  

首先從網上下載GNU開發軟件包arm-elf-tools-20030312.sh,然后到源碼目錄下執行sh arm-elf-tools-20030312.sh,這樣在PC上建立了ARM體系結構的編譯器、連接器、調試器,可以用來編譯OS內核,制作文件系統等。  

2.2.2 在Windows下安裝ADS工具  

ADS是ARM公司推出的新一代ARM集成開發工具。在硬件開發板完成后,可用ADS各硬件模塊進行測試。

2.2.3 編譯μClinux

把代碼解壓縮到工作目錄下,運行tar xjvfμClinux-dist-51EDA.tar.bz2, 它會把全部的文件解壓縮到home/μClinux-dist的目錄下。然后進入目錄運行menuconfig,對μClinux進行配置,訂制自己的系統。  

注意對于編譯uClinux,不能簡單地通過make來實現。為了編譯最后得到的鏡像文件,我們需要linux的內核以及romfs。對于我們的S3C44B0X的移植來說,romfs是被編譯到內核里面去的。因此,在編譯內核前需要一個romfs。為了得到romfs的image,我們又需要編譯用戶的應用程序。而為了編譯用戶的應用程序,我們又需要編譯C運行庫,這里我們用的C運行庫是uClibc。根據上面的分析,我們使用以下步驟編譯μClinux。  

(1) make dep:建立文件之間的依賴關系,make會根據這個依賴關系來確定哪些義件需要重新編譯、哪些文件可以跳過。  
(2) make lib only:編譯uClibc。  
(3) make user only:編譯用戶的應用程序,包括初始化進程init,和用戶交互的bash。  
(4) make romfs:它會在μClinux的目錄下生成一個romfs目錄并且把user目錄下的文件、以及vendors目錄下特定系統所需要的文件組織起來,以便下面生成romfs的單個鏡像所用。  
(5) make image:是生成romfs的鏡像文件和生成Linux的鏡像。  
(6) make linux:用上面make image生成的romfs.o文件編譯Linux內核。  
(7) make image:執行了這一步之后,就會在images目錄下找到3個文件:image.ram,image.rom,romfs.img。其中,image.ram和image.rom就是我們需要的鏡像文件。  

2.2.4 加載μClinux內核  

μClinux內核可以加載到Flash運行,也可以加載到RAM中運行。image.ram是直接下載到RAM執行的文件,加載到SDRAM后,修改PC指針寄存器的值指向image.ram的下載地址就可以執行。對于image.rom,它是一個zlmage文件,也就是自解壓的內核。由于它使用了gzip將內核壓縮過,所以可以減小文件的大小。這個image應該燒寫到FLASH,向不能直接下載到RAM并執行。  

3 μClinux應用程序的開發  

要開發基于μClinux的應用程序,首先需要在PC上建立交叉編譯環境,編寫、調試應用程序,測試通過后,再重新編譯μClinux內核映像,下載到目標板運行測試。具體步驟如下(在PC的Linux環境下進行)。  

(1) 在μClinux的user目錄下創建新目錄user/sample,用來存放應用程序源代碼。編寫應用程序"MyApp.c"文件。  
(2) 編輯文件user/Makefile,在Makefile文件中按照字母順序增加以下內容:dir_$(CONFIG_USER_SAMPLE_MYAPP)+=sample。  
(3) 編輯文件config/Configure.help,增加下行:CONFIG USER SAMPLE MYAPP
  


注意:第2行以2個空格開頭,總長度小于70個字符。

(4) 編輯文件config/config.in,在'Games'后添加新的部分:
  


(5) 在user/sample目錄下創建應用程序的Makefile文件。






(6) 重新編譯生成image.rom。注意在運行makeconfig或make menuconfig時選擇生成的應用程序"MyApp"。Makefile文件中修改如下:
(7) 重新運行編譯μClinux內核的步驟,把生成的image.ram或image.rom文件燒寫到目標板,然后運行μClinux,操作系統啟動后,運行應用程序MyApp,測試應用程序的功能實現。  

使用μClinux開發嵌入式應用程序,可以提高嵌入式系統開發的效率,而且易于擴展和移植,是嵌入式研發人員很好的選擇。
本文地址:http://www.qingdxww.cn/thread-17282-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • Dev Tool Bits——使用MPLAB® Discover瀏覽資源
  • Dev Tool Bits——使用條件軟件斷點宏來節省時間和空間
  • Dev Tool Bits——使用DVRT協議查看項目中的數據
  • Dev Tool Bits——使用MPLAB® Data Visualizer進行功率監視
  • 貿澤電子(Mouser)專區
關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色tv| 香蕉视频亚洲一级 | h肉3d动漫在线观看网站 | 亚洲国产亚洲综合在线尤物 | 免费精品99久久国产综合精品 | 91香蕉视频在线观看 | 日本欧美一二三区色视频 | 欧美亚洲欧美日韩中文二区 | 久久91这里精品国产2020 | 韩国黄色一级毛片 | 69国产成人综合久久精品91 | 精品国精品国产自在久国产不卡 | 在线观看视频一区二区 | 国产精品日韩欧美在线第3页 | aaa在线观看视频高清视频 | 日韩精品欧美 | 国产成人免费片在线观看 | 亚洲男人的天堂在线视频 | 免费看黄视频的网站 | 岛国片免费看 | 日韩亚洲人成在线 | 九九免费观看全部免费视频 | 91av视频| 天堂网www天堂在线网 | 四虎精品成人a在线观看 | 中文在线免费不卡视频 | 欧美影院在线观看 | 国产精品久久久久影院色 | 91国内视频在线观看 | 欧美视频在线不卡 | 一区二区三区中文 | 午夜小视频在线观看 | 亚洲天堂手机在线 | 日本黄页网站免费大全 | 日韩免费高清视频网站 | 四虎国产永久在线观看 | 亚洲国产精品自在现线让你爽 | 综合亚洲欧美日韩一区二区 | 日韩福利一区 | 一级日本大片免费观看视频 | 九九视频精品全部免费播放 |