新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > uclinux下stm32開(kāi)發(fā)環(huán)境搭建

uclinux下stm32開(kāi)發(fā)環(huán)境搭建

作者: 時(shí)間:2018-08-31 來(lái)源:網(wǎng)絡(luò) 收藏

什么是uclinux

本文引用地址:http://m.butianyuan.cn/article/201808/388127.htm

uclinux表示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)需要一定技巧。

是嵌入式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)上。


開(kāi)發(fā)環(huán)境

一實(shí)驗(yàn)環(huán)境介紹:

目標(biāo)板:10E-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、-dist-20080808-20090112.patch.gz:為了支持的開(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ì)

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: uClinux STM32 搭建

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉