之前一直使用MDK查看和编译RTT的源码,这几天无聊想起RTT官方提供使用scons工具编译RTT,因此想试试这种方法,做下此笔记,以供入门者参考.

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() + '/../..')

将其修改为:

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,搞定!

在windows下如何配置RTT开发环境?的更多相关文章

  1. python_在windows下安装配置python开发环境及Ulipad开发工具

    最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...

  2. 在windows下安装配置python开发环境及Ulipad开发工具(转)

    最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...

  3. Windows下搭建Spark+Hadoop开发环境

    Windows下搭建Spark+Hadoop开发环境需要一些工具支持. 只需要确保您的电脑已装好Java环境,那么就可以开始了. 一. 准备工作 1. 下载Hadoop2.7.1版本(写Spark和H ...

  4. 【转】linux和windows下安装python集成开发环境及其python包

    本系列分为两篇: 1.[转]windows和linux中搭建python集成开发环境IDE 2.[转]linux和windows下安装python集成开发环境及其python包 3.windows和l ...

  5. Windows下的Objective-C集成开发环境(IDE)

    Windows下的Objective-C集成开发环境(IDE) 分类: Objective-C2012-04-20 21:54 26631人阅读 评论(42) 收藏 举报 windowside编译器c ...

  6. windows下搭建nginx+php开发环境

    windows下搭建nginx+php开发环境 1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求.因此准备再自己搭建一个环境. 2.准备 工具: ...

  7. Windows下快速搭建安卓开发环境android-studio

    Windows下快速搭建安卓开发环境android-studio 发布时间:2018-01-18 来源:网络 上传者:用户 关键字: 安卓 搭建 Android Windows 快速 环境 Studi ...

  8. 【RN - 基础】之Windows下搭建React Native开发环境

    前言 React Native由Facebook公司于2015年F8大会上开源,其主张“Learn once, write everywhere”.React Native的核心设计理念是:既拥有Na ...

  9. Windows下搭建objective C开发环境

    摘自:http://blog.csdn.net/zhanghefu/article/details/18320827 最近打算针对iPhone.iPod touch和iPad开发一些应用,所以,需要开 ...

随机推荐

  1. Using WMIC For Gathering System Info

    WMIC is a command line interface to WMI (Windows Management Instrumentation). While it has many uses ...

  2. IBM 中国研究院面试经历

    继上次面试MSRA失败后,严重刺激了我幼小的心灵.从此苦学算法准备面试很多其它其它的公司刷一刷Offer以解心 头之恨. 这个带来的IBM 中国研究院的面试经历. IBM的面试相比于MSRA.简直就是 ...

  3. Java 输出通过 InetAddress 获得的 IP 地址数组

    使用 InetAddress 获取 IP 地址会得到一个 byte 数组 如果你直接输出这个数组,你会发现 IP 地址中的某些位变成了负数 比如 61.135.169.105 会输出成 61.-121 ...

  4. 队列的定义与实现(C语言实现)

    小时候.我们做早操的时候或者军训的时候,都排成一列,有头有尾.如果你迟到了,仅仅能站到最后面一个.退场的时候.都是由第一个先走的.这就是队列雏形. 队列的定义 队列是一种特殊的线性表 队列仅在线性表的 ...

  5. ViewPager+View实现Tab

    注:源码来自慕课网. 使用ViewPager+View实现Tab底部导航: 主要思想:顶部top.xml,中间ViewPager,底部线性布局Tab导航. top.xml具体实现: <?xml ...

  6. centos6.5 mysql安装+远程访问+备份恢复+基本操作+卸载

    参考博文: Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置 MySQL修改root密码的多种方法 MySQL的备份与还原 解决mysql导入还原时乱码的问题 ...

  7. CodeForces 543A - Writing Code DP 完全背包

    有n个程序,这n个程序运作产生m行代码,但是每个程序产生的BUG总和不能超过b, 给出每个程序产生的代码,每行会产生ai个BUG,问在总BUG不超过b的情况下, 我们有几种选择方法思路:看懂了题意之后 ...

  8. 读书笔记:javascript高级程序设计

    > 变量.作用域和内存问题js为弱类型的语言 变量的值和数据类型可以在脚本的生命周期内改变.5种基本类型:string, number, undefined, null, boolean,基本数 ...

  9. Python 2.7 学习笔记 模块和包

    我们来考虑下如下几种场景: 1.编写一个python程序,如果程序比较简单,则可以把代码放到一个python文件中.但如果程序功能比较多,可能需要多个python文件来组织源代码.而这些文件之间的代码 ...

  10. docker学习笔记17:Dockerfile 指令 ONBUILD介绍

    ONBUILD指令可以为镜像添加触发器.其参数是任意一个Dockerfile 指令. 当我们在一个Dockerfile文件中加上ONBUILD指令,该指令对利用该Dockerfile构建镜像(比如为A ...