當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]什么是uclinuxuclinux表示micro-control linux.即“微控制器領(lǐng)域中的Linux系統(tǒng)”,是Lineo公司的主打產(chǎn)品,同時也是開放源碼的嵌入式Linux的典范之作。uCLinux主

什么是uclinux

uclinux表示micro-control linux.即“微控制器領(lǐng)域中的Linux系統(tǒng)”,是Lineo公司的主打產(chǎn)品,同時也是開放源碼的嵌入式Linux的典范之作。uCLinux主要是針對目標(biāo)處理器沒有存儲管理單元MMU(Memory Management Unit)的嵌入式系統(tǒng)而設(shè)計的。它已經(jīng)被成功地移植到了很多平臺上。由于沒有MMU,其多任務(wù)的實現(xiàn)需要一定技巧。

uClinux是嵌入式Linux領(lǐng)域非常重要的分支,已成功應(yīng)用于路由器、機頂盒、PDA等領(lǐng)域,與標(biāo)準(zhǔn)Linux在內(nèi)存管理方面有著本質(zhì)的區(qū)別。

uCLinux是一種優(yōu)秀的嵌入式Linux版本,是micro-Controller-Linux的縮寫。它秉承了標(biāo)準(zhǔn)Linux的優(yōu)良特性, 經(jīng)過各方面的小型化改造,形成了一個高度優(yōu)化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,卻仍然保留了Linux的大多數(shù)的優(yōu)點:穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、對各種文件系統(tǒng)完備的支持和標(biāo)準(zhǔn)豐富的API。它專為嵌入式系統(tǒng)做了許多小型化的工作,目前已支持多款CPU。 其編譯后目標(biāo)文件可控制在幾百KB數(shù)量級,并已經(jīng)被成功地移植到很多平臺上。

 


uClinux下STM32開發(fā)環(huán)境搭建

一實驗環(huán)境介紹:

目標(biāo)板:STM3210E-EVAL

上位機操作系統(tǒng):RedHatFedora 10

虛擬機:VMware 6.5

二、在開始搭建環(huán)境之前你需要三個壓縮包:

1、IA32 GNU/Linux Installer :GNU工具安裝包,你可以把它簡單的理解為Windows下面的MDK或者IAR等編譯環(huán)境。

2:這是Linux 2.26內(nèi)核的源文件??梢岳斫鉃槭窃赪indows下面我們要編寫的文件的工程的源文件的一部分。

3、uClinux-dist-20080808-20090112.patch.gz:為了支持STM32的開發(fā)和加入一些源文件??衫斫鉃樵赪indows下面我們要編寫的文件的工程的源文件的另一部分。

第2個軟件包加上第3個軟件包就是我們在MDK和IAR下的工程源文件了。理所當(dāng)然地就包含了TImer.c lib.h等STM32的庫文件了。

OK,接下為你地有一個在PC上跳的Linux操作系統(tǒng),我這里安裝的是Fedora 10 。安裝過程這里就不作詳細的介紹了,這一類教程網(wǎng)上都有。這里有一點需要注意一下的,就是硬盤的空間盡可能的大點,因為軟件包2將占用2.6G左右的空間,而軟件包1、3也會占幾百M的空間。因此你在安裝完Linux后到少要保證你的用戶區(qū)的空間要不少于3G。

若你之前玩過S3C44B0X上面的uClinux且看了網(wǎng)上現(xiàn)在點擊率最高的那套視頻教程的話我想你大概會使用SSH建立一條從Window到虛擬Linux的通道。在這里我花點小時間說說一個我個人使用的方法:使用VMware自帶的軟件共享功能。

1、 Windows下,打開VMware。

2、 VM –》SetTIngs…。

3、 在彈出介面中選擇OpTIons標(biāo)簽。

 


4、 選擇Shared Folders.

 


5、 右邊選擇Always Enable

6、 右下角Add.。把你準(zhǔn)備共享的Windows文件夾(一般為你存放那幾個軟件包的文件夾或盤)的路徑(host path)添加進去。Name的話就是你在linux看到的文件夾的名稱。

 


說到這里再提一下Hardware那里可以把串口,USB等添加進去。方便日后調(diào)試之用。

啟動linux后你將會在/mnt/hgfs文件夾下看到你剛剛共享的文件夾。

三、把三個軟件包拷貝到linux里面。找一個容易找到的地方安頓好它們。

(1)接下來安裝GNU工具:

1、 運行終端

2、 使用cd命令進入那三個軟件包所在的文件夾

3、 執(zhí)行#./arm-2009q1-163-arm-uclinuxeabi.bin 運行第一個軟件包

4、 運行一段時間后會彈出一個安裝向?qū)Т翱?,跟著你需要做的就只是像在windows下面安裝軟件那樣安裝它就好?;旧鲜且宦穘ext ,到了選擇安裝文件夾時你需要注意一下它的位置,以便日后查找,用于設(shè)置環(huán)境變量。

(2)解壓第2個軟件包可以點擊右鍵解壓也可以在終端中輸入命令進行解壓:(在軟件包當(dāng)前目錄路徑下運行)# tar –xjvf uClinux-dist-20080808.tar.bz2

由于這個包的文件比較多,所以需要一定的時間。解壓后會生成一個uClinux-dist的文件夾。

(3)打補丁,patch第3個軟件包。

在終端下運行:

#zcat uClinux-dist-20080808-20090112.patch.gz | patch -p1(上面的命令的前提條件是第2個包的安裝路徑和path軟件包也是同時在當(dāng)前目錄下。)

若不在同一目錄下,你必須先進入uClinux-dist文件夾。運行#zcat /路徑/uClinux-dist-20080808-20090112.patch.gz | patch -p1上面路徑:用你的第3個軟件包的存放路徑代替。

四、為STM3210E-EVAL配置uClinux

進入uClinux-dist文件夾。

運行#make menuconfig

進入目標(biāo)板配置界面:

 


進入”Vendor/Product SelecTIon”

 


uClinuxOnSTM32選擇Vendor,

然后選擇”STMicroelectionics”如圖:[!--empirenews.page--]

 


完成上述選擇后會自動返回到上一界面。在上一界面選擇:” STMicroelectionics Products”里面有兩個選項:

“STM3210E-EVAL-jffs” 和“STM3210E-EVAL-MCU_Flash”

若選擇“STM3210E-EVAL-jffs”則程序?qū)耐獠看鎯ζ髦袉?。而選擇“STM3210E-EVAL-MCU_Flash”剛從內(nèi)部FLASH中啟動運行。從內(nèi)部運行的是一個uClinux的微內(nèi)核。是一個刪減的版本。

在這里我們選擇“STM3210E-EVAL-jffs”

然后回到最頂?shù)牟藛雾棥?/p>

進入Kernel / Library / Defaults Selection選項

第一項為”Kernal Version “ 選擇內(nèi)核版本。這里選擇2.26版。

第二項為”libc Version” C庫的版本,這里選擇None.

第三項為“Default all settings”將默認(rèn)廠商/產(chǎn)品的配置應(yīng)用到內(nèi)核。(為了將剛剛選擇的ST的E板的信息和配置加進去,些項必選)。

第四項為“Customize Kernel Settings”用于自定義內(nèi)核設(shè)置。(嵌入式的內(nèi)核都是自己定制的,此項必選)。

第五項為“Customize Application/Library Settings”用于自定義添加到文件系統(tǒng)的應(yīng)用。(可選擇性地為板子添加若刪除LED,LCE,串口等的應(yīng)用,此項必選)。

第六項為“Update Default Vendor Settings”其功能為將當(dāng)前修改的情況設(shè)置為默認(rèn)版本。(由官方開發(fā)的模板應(yīng)該是最好的,所以這項一般不選,當(dāng)你做出比官方更好,更穩(wěn)定的配置時,可將您自己的模板設(shè)置為默認(rèn)模板,在這里,這一項就不選項了。)

退出當(dāng)前配置,系統(tǒng)會提示你是否要保存。選擇”YES”退出后,接下來將自動進入uCLinux的配置界面:完整的內(nèi)核配置的詳盡介紹(每一項的意義,內(nèi)容很多)這里只介紹與E板相關(guān)的配置。

如圖所示:

 


進入”System Type”

該目錄內(nèi)容如下:

 


“MMU-based … “ 因為STM32不具有MMU,此項跳過。

“ARM System type” ARM系統(tǒng)類型。進去后選擇,基于STM32的ST板。

“STMicroelectionics,boards ”選項就只有一個選項了。選擇之。

“Support ARMv7-M processors” 選擇。

最重要的一項為設(shè)定內(nèi)存的地址。

“Set flash/sram size and base addr”

這些都需要根據(jù)你的板子的情況而家它上面有內(nèi)外部內(nèi)在的基地址和大小,中斷微量表的位置等的設(shè)置。

這一菜單配置完成后回到頂層菜單。

進入“Boot Options”菜單,

 


設(shè)置”Kernel Execute-In-Place from ROM”

這里設(shè)置的是程序執(zhí)行的地址。

若程序是在外部存儲器執(zhí)行的話這里的地址就為0X6400 0000

若為內(nèi)部FALSH執(zhí)行剛為0X8000 0000

設(shè)置后返回,進入“Device Drivers” -》 “Character Device” -》 “Serial Drivers”。意思是到”設(shè)備驅(qū)動”-》”字符驅(qū)動”-》”串口驅(qū)動”菜單下選擇對E板的串口支持,用于與板子的交互操作。

在此目錄下選擇:

[ * ] STM3210E-EVAL USART Port

[ *] Support for console on STM3210E-EVAL USART Port

選擇后返回頂層菜單。選擇”File System”“File systems” -》 “Miscellaneous File system”選擇[ * ] Journalling Flash File System v2 (JFFS2)support 實現(xiàn)對JFFS2文件系統(tǒng)的支持。

完成后退出內(nèi)核配置,自動進入應(yīng)用設(shè)置。

 


如上圖所示,選擇”Miscellaneous Applications ”

選擇: “STM3210E-EVAL Demo(s)”

菜單里面有幾個已經(jīng)做好的應(yīng)用。都選上。

最后退出菜單,保存設(shè)置。

在編譯剛剛所做的一切之前有一個很重要的步驟。就是把你的GNU工具的路徑添加到環(huán)境變量中。不然的話直接make 的話就會找不到編譯器。

執(zhí)行export PATH$PATH:”你安裝的GNU工具的路徑”

添加完成后,就可以運行make就可以了。

一切順利的話你將會在uClinux-dist/image目錄下看到生成的三個映像文件。(如果是使用外部FLASH的話)

若使用的是內(nèi)部的FLASH啟動的微內(nèi)核的配置的話就只會生成一個文件。而且生成的過程需要按以下的方式:

1、先運行make ucfront命令

2、再運行make user_only命令

3、跟著運行make romfs命令

4、最后運行make image命令,一切順利的話,你將會在uClinux-dist/image目錄下看到生成的映像文件。

最后將生成的影像文件拷貝回Windows,使用STM32的燒寫軟件Flash loader demonstrator將軟件燒寫進去就行了。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉