uclinux下stm32開(kāi)發(fā)環(huán)境搭建
什么是uclinux
本文引用地址:http://m.butianyuan.cn/article/201808/388127.htmuclinux表示micro-control linux.即“微控制器領(lǐng)域中的Linux系統(tǒng)”,是Lineo公司的主打產(chǎn)品,同時(shí)也是開(kāi)放源碼的嵌入式Linux的典范之作。uCLinux主要是針對(duì)目標(biāo)處理器沒(méi)有存儲(chǔ)管理單元MMU(Memory Management Unit)的嵌入式系統(tǒng)而設(shè)計(jì)的。它已經(jīng)被成功地移植到了很多平臺(tái)上。由于沒(méi)有MMU,其多任務(wù)的實(shí)現(xiàn)需要一定技巧。
uClinux是嵌入式Linux領(lǐng)域非常重要的分支,已成功應(yīng)用于路由器、機(jī)頂盒、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)過(guò)各方面的小型化改造,形成了一個(gè)高度優(yōu)化的、代碼緊湊的嵌入式Linux。雖然它的體積很小,卻仍然保留了Linux的大多數(shù)的優(yōu)點(diǎn):穩(wěn)定、良好的移植性、優(yōu)秀的網(wǎng)絡(luò)功能、對(duì)各種文件系統(tǒng)完備的支持和標(biāo)準(zhǔn)豐富的API。它專為嵌入式系統(tǒng)做了許多小型化的工作,目前已支持多款CPU。 其編譯后目標(biāo)文件可控制在幾百KB數(shù)量級(jí),并已經(jīng)被成功地移植到很多平臺(tái)上。
uClinux下STM32開(kāi)發(fā)環(huán)境搭建
一實(shí)驗(yàn)環(huán)境介紹:
目標(biāo)板:STM3210E-EVAL
上位機(jī)操作系統(tǒng):RedHatFedora 10
虛擬機(jī):VMware 6.5
二、在開(kāi)始搭建環(huán)境之前你需要三個(gè)壓縮包:
1、IA32 GNU/Linux Installer :GNU工具安裝包,你可以把它簡(jiǎn)單的理解為Windows下面的MDK或者IAR等編譯環(huán)境。
2:這是Linux 2.26內(nèi)核的源文件??梢岳斫鉃槭窃赪indows下面我們要編寫的文件的工程的源文件的一部分。
3、uClinux-dist-20080808-20090112.patch.gz:為了支持STM32的開(kāi)發(fā)和加入一些源文件??衫斫鉃樵赪indows下面我們要編寫的文件的工程的源文件的另一部分。
第2個(gè)軟件包加上第3個(gè)軟件包就是我們?cè)贛DK和IAR下的工程源文件了。理所當(dāng)然地就包含了TImer.c lib.h等STM32的庫(kù)文件了。
OK,接下為你地有一個(gè)在PC上跳的Linux操作系統(tǒng),我這里安裝的是Fedora 10 。安裝過(guò)程這里就不作詳細(xì)的介紹了,這一類教程網(wǎng)上都有。這里有一點(diǎn)需要注意一下的,就是硬盤的空間盡可能的大點(diǎn),因?yàn)檐浖?將占用2.6G左右的空間,而軟件包1、3也會(huì)占幾百M(fèi)的空間。因此你在安裝完Linux后到少要保證你的用戶區(qū)的空間要不少于3G。
若你之前玩過(guò)S3C44B0X上面的uClinux且看了網(wǎng)上現(xiàn)在點(diǎn)擊率最高的那套視頻教程的話我想你大概會(huì)使用SSH建立一條從Window到虛擬Linux的通道。在這里我花點(diǎn)小時(shí)間說(shuō)說(shuō)一個(gè)我個(gè)人使用的方法:使用VMware自帶的軟件共享功能。
1、 Windows下,打開(kāi)VMware。
2、 VM –》SetTIngs…。
3、 在彈出介面中選擇OpTIons標(biāo)簽。
4、 選擇Shared Folders.
5、 右邊選擇Always Enable
6、 右下角Add.。把你準(zhǔn)備共享的Windows文件夾(一般為你存放那幾個(gè)軟件包的文件夾或盤)的路徑(host path)添加進(jìn)去。Name的話就是你在linux看到的文件夾的名稱。
說(shuō)到這里再提一下Hardware那里可以把串口,USB等添加進(jìn)去。方便日后調(diào)試之用。
啟動(dòng)linux后你將會(huì)在/mnt/hgfs文件夾下看到你剛剛共享的文件夾。
三、把三個(gè)軟件包拷貝到linux里面。找一個(gè)容易找到的地方安頓好它們。
(1)接下來(lái)安裝GNU工具:
1、 運(yùn)行終端
2、 使用cd命令進(jìn)入那三個(gè)軟件包所在的文件夾
3、 執(zhí)行#./arm-2009q1-163-arm-uclinuxeabi.bin 運(yùn)行第一個(gè)軟件包
4、 運(yùn)行一段時(shí)間后會(huì)彈出一個(gè)安裝向?qū)Т翱冢阈枰龅木椭皇窍裨趙indows下面安裝軟件那樣安裝它就好?;旧鲜且宦穘ext ,到了選擇安裝文件夾時(shí)你需要注意一下它的位置,以便日后查找,用于設(shè)置環(huán)境變量。
(2)解壓第2個(gè)軟件包可以點(diǎn)擊右鍵解壓也可以在終端中輸入命令進(jìn)行解壓:(在軟件包當(dāng)前目錄路徑下運(yùn)行)# tar –xjvf uClinux-dist-20080808.tar.bz2
由于這個(gè)包的文件比較多,所以需要一定的時(shí)間。解壓后會(huì)生成一個(gè)uClinux-dist的文件夾。
(3)打補(bǔ)丁,patch第3個(gè)軟件包。
在終端下運(yùn)行:
#zcat uClinux-dist-20080808-20090112.patch.gz | patch -p1(上面的命令的前提條件是第2個(gè)包的安裝路徑和path軟件包也是同時(shí)在當(dāng)前目錄下。)
若不在同一目錄下,你必須先進(jìn)入uClinux-dist文件夾。運(yùn)行#zcat /路徑/uClinux-dist-20080808-20090112.patch.gz | patch -p1上面路徑:用你的第3個(gè)軟件包的存放路徑代替。
四、為STM3210E-EVAL配置uClinux
進(jìn)入uClinux-dist文件夾。
運(yùn)行#make menuconfig
進(jìn)入目標(biāo)板配置界面:
進(jìn)入”Vendor/Product SelecTIon”
uClinuxOnSTM32選擇Vendor,
然后選擇”STMicroelectionics”如圖:
- STM32單片機(jī)中文官網(wǎng)
- STM32單片機(jī)官方開(kāi)發(fā)工具
- STM32單片機(jī)參考設(shè)計(jì)
評(píng)論