在windows下如何配置RTT開發環境?

之前一直使用MDK查看和編譯RTT的源碼,這幾天無聊想起RTT官方提供使用scons工具編譯RTT,因此想試試這種方法,做下此筆記,以供入門者參考.

注: 這裏MDK的安裝目錄千萬不能包含空格(比如:D:\Program Files目錄下),否則使用scons編譯會有問題.

1 下載安裝Python2.7

論壇中很多人說RTT只支持Python2.7因此下載此版本.

打開網址:http://www.python.org/getit/

下載並安裝2.7.5版本,安裝目錄不能包含空格,所以,最好默認安裝或D:\Python27目錄下,這裏安裝到D:\Python27目錄下.


2 下載並安裝scons

下載地址:http://www.scons.org/download.php

從該網頁下載Windows Installer scons 2.2.0-setup.exe版本的.

因爲SCons是Python的插件,所以安裝一路點“Next”到完成就好,它會自己識別Python的安
裝目錄。


3 配置環境變量

在桌面上右擊我的電腦,然後屬性,選擇高級,環境變量,在系統變量下找到path變量,然後添加兩個路徑進去:

D:\Python27;D:\Python27\Scripts,然後確定,關閉對話框.

最後打開cmd輸入path再次仔細檢查路徑中是否已經包含這兩個路徑了.

4 下載和解壓RTT源碼

這裏以下載RTT V1.1.1爲例,下載地址:https://rt-thread.googlecode.com/files/RT-Thread_1.1.1.7z

解壓.

5 修改編譯配置文件

打開任意一個BSP,這裏以STM32F10x的BSP爲例,用MDK的編譯工具來編譯.

首先在STM32F10x目錄用文本編輯工具如記事本或UE打開的rtconfig.py,修改如下:

ARCH='arm'
CPU='cortex-m3'
CROSS_TOOL='keil'

if os.getenv('RTT_CC'):
	CROSS_TOOL = os.getenv('RTT_CC')

#device options
# STM32_TYPE = 
# 'STM32F10X_LD','STM32F10X_LD_VL',
# 'STM32F10X_MD','STM32F10X_MD_VL',
# 'STM32F10X_HD','STM32F10X_HD_VL',
# 'STM32F10X_XL','STM32F10X_CL'
STM32_TYPE = 'STM32F10X_HD'

# lcd panel options
# 'FMT0371','ILI932X', 'SSD1289'
RT_USING_LCD_TYPE = 'SSD1289'

# cross_tool provides the cross compiler
# EXEC_PATH is the compiler execute path, for example, CodeSourcery, Keil MDK, IAR

if  CROSS_TOOL == 'gcc':
	PLATFORM 	= 'gcc'
	EXEC_PATH 	= 'D:/SourceryGCC/bin'
elif CROSS_TOOL == 'keil':
	PLATFORM 	= 'armcc'
	EXEC_PATH 	= r'D:/Keil'
elif CROSS_TOOL == 'iar':
	PLATFORM 	= 'iar'
	IAR_PATH 	= 'C:/Program Files/IAR Systems/Embedded Workbench 6.0 Evaluation'

上面第3行和第28行爲要修改的內容。

第3行:CROSS_TOOL='keil'表示使用MDK來編譯,

第28行:EXEC_PATH     = r'D:/Keil' 這裏表示MDK的安裝路徑.


接下來還需要修改SConstruct文件.

在當前目錄找到SConstruct文件,用記事本或UE打開,找到如下文字:

if os.getenv('RTT_ROOT'):
    RTT_ROOT = os.getenv('RTT_ROOT')
else:
    RTT_ROOT = os.path.normpath(os.getcwd() + '/../..')

將上面4行全部刪掉,然後修改爲:

RTT_ROOT = r'E:\projects\other\RT-Thread_1.1.1'

即你的RTT源碼目錄.

這裏的路徑網上其實用:

RTT_ROOT = 'E:\projects\other\RT-Thread_1.1.1'

RTT_ROOT = 'E:/projects/other/RT-Thread_1.1.1'

RTT_ROOT = r'E:\projects\other\RT-Thread_1.1.1'

RTT_ROOT = r'E:/projects/other/RT-Thread_1.1.1'

這四種方式都可以,四種我都試過.

這裏的意思是要設置RTT_ROOT這個變量的值爲RTT源碼根目錄.

這裏環境就配置完了,下面就可以使用scons來編譯了.

6 使用scons編譯RTT

打開CMD,cd到當前BSP目錄:

cd /d E:\projects\other\RT-Thread_1.1.1\bsp\stm32f10x

然後輸入scons就可以編譯了.

scons -j4

編譯結果如下例所示:


-j4表示同時使用4個線程來編譯,這樣在編譯比較大的工程時可以加快速度,當然RTT並不是很大的工程,可以不必要輸入-j4.

如果要生成MDK工程,則使用“scons --target=mdk4 -s”(注意target前面是兩個“-”號)命令生成MDK工程,生成成功以後,在工程目錄中會生成“project.uvproj”,點擊用MDK打開即可進行編譯、下載、仿真等.

scons --target=mdk4 -s

OK,搞定!



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章