RT-Thread配置开发环境手册
英文(1)

中文(英文全称)
APPLICATION
应用
ACTION
动作
ACTIVITY
活动
ASP
Active Server Page(动态服务器主页)
APACHE
Apache HTTPServer,是世界使用排名第一的Web服务器软件
ASCII
American Standard Code for Information Interchange 美国信息交换标准代码;
[ˌɪntərˈsekt]交集
ICON
图标
IDENTITY
[aɪˈdɛntɪti]唯一
INSTANCE
[ˈɪnstəns]例子
INTEGRATION TESTING
[ˌɪntɪˈɡreʃən]集成测试
INTERNATIONALIZATION(I18N)
国际化
INTERCEPTOR
[ˌɪntərˈseptə(r)]拦截器
BINARY
[ˈbaɪnəri]
n.二进制;
BYTE
字节
BIT
数据的计量单位“比特”
BRIDGE
BRIDGE ,网桥,是一个网络设备或软件,用于两个或多个网络之间的互连,对帧进行转发。与路由器的区别在于它工作于数据链路层。
BLACKBOX
黑盒
BUSINESS
业务
BUFFER
美[ˈbʌfɚ]缓冲器
BUG
BATCH
批处理;
BASELINE
基线
BACKUP
备份
B/S
Browser/Server,浏览器/服务器模式
BROWSER
[ˈbraʊzɚ]浏览程序;浏览器(用于在互联网上查阅信息)
RT-Thread-柿饼UI:美与效率的完美结合

上海睿赛德电子科技有限公司
客户需求客户预算客户需求我家方案别人效果我家效果
柿饼UI(英文名PersimUI),是RT-Thread核心团队历时五年精心开发的一款现代化、类Android触控效果的嵌入式GUI
◆UI界面华丽、动效丰富
◆设计器+JavaScript语言极简开发
◆支持在线仿真、远程升级
RT-Thread 系统层CGE 层
C++控件层
JavaScript 交互层简要架构图
柿饼UI 依托RT-Thread ,通过JS 达成UI 界面实现、交互,可大大提高开发效率,UI 性能可满足绝大多数应用场景如果对性能有极为苛刻的要求,柿饼UI 亦支持原生C/C++开发
智能设备,安卓风格:智能手表,运动风格:
准备好产品需求和相关素材
把素材在柿饼UI设计器内排列好
JavaScript It!
◆控件直接拖拽摆放◆控件属性可视化配置◆集成JS编辑器
◆UI效果在线仿真
◆一键USB下载UI工程◆丰富的Online Demo
控件摆放完成后,界面是静止、无交互的
这个时候,需要用JavaScript去控制控件整个UI的交互逻辑
•JavaScript语法简单,易上手
•少量代码,画龙点睛,让UI炫起来
◆PC端仿真效果与真机一致◆极大简化调试流程
控件+JS极大简化开发流程
少量代码实现绚丽效果
无需深厚的C/C++功底
会入门的JS语法即可,极大降低开发门槛支持在线仿真,所见即所得
极大降低开发调试的周期
◆每天推送不同的广告?
◆每天UI换套风格?
◆做个应用商店?
◆More to Imagine
柿饼派柿饼M3柿饼M7。
STM32开发板操作手册说明书

Heavy Duty Surface Mount TC 26881
Strapon® RTD Sensors 22391, 22392 & 22393
–200°C to +760°C (–320°F to +1400°F) Leads to 480°C (900°F)
To illustrate these points Figure I shows a typical surface sensor installation. The sensor in this case is mounted on a pipe which is carrying a fluid. The point closest to the fluid where a sensor can be mounted practically is the outer wall of the pipe. If the fluid flow is adequate and the temperature fluctuations are not severe, the outer wall temperature will be very close to that of the fluid.
–200°C to +232°C (–320°F to +450°F) –200°C to260°C (–320°F to +500°F)
Thermocouple Types K, E, T or J* Grounded or Ungrounded
Resistance 100 Ω or 1000 Ω Platinum @0°C
Windows7_X64中安装SAP_ECC6_EHP5_X64完全攻略

SAP ECC6 For EHP5安装手册1.前言在讲述安装过程前,请允许我啰嗦几句!前不久在itpub里看到llrrpp大侠的帖子,是最新的SAP ECC6 EHP5的安装文件的下载链接(在此由衷的感谢李仁鹏大侠),一时就抑制不住自己躁动的心啊,恨不得马上就装个试试最新的变化和成果,本来说准备过一段时间再来折腾的,不想一位网友拜托分享下文档,本人也是好久没动过文笔了,于是才有接下来的安装、记录,整理文档整个过程。
小弟也是第一次发完整的安装文档,如有纰漏,还请各位包涵和多多指正!附上本人的操作环境:OS:WINDOWS 7 ultimate X64DB:CN_SQL_Server_ 2005_ DEV_X64 + cn_sql_server_2005_sp3_x64APP:SAP ECC6 EHP5JDK:JDK1.4.2_13 X64具体需要的sap文件参见后续的说明。
2.安装前的准备工作:软件:1. SAP ECC6.0 EHP5 IDES (链接/thread-1561083-1-1.html)2. MS SQL Server2005 Developer X643. MS SQL Server2005 Developer SP3 X644. DAEMON Tools Lite 虚拟光驱(可选)5. SAP GUI 720 (可用其它版本)硬件配置:1. CPU 双核,频率最好不低于2.0 GHz,支持X64的CPU,这样的话还可以支持虚拟化,以后用的上,而在32位操作系统下只能安装SAP的Dialog Instance2. 内存基本上原则是越大越好,SAP对内存的需求是永无止境的,个人建议最少4G,越多越好。
3. 硬盘 C盘40G,SAP盘至少300G以上本人的电脑配置如下:1. CPU :Intel (TM) i5 2410M2.3GHz2. 内存:8G(2X4G)3. 硬盘:640GB3.安装前要点:1)启用系统管理者 Administrator 用户登陆,或者新增一个系统管理员用户,设置系统管理者登陆密码,注意,该密码最好设置为跟以后安装SAP 时所有密码都一致。
RT-Thread的线程(任务)处理rt_thread_creatert_thread_i。。。

RT-Thread的线程(任务)处理rt_thread_creatert_thread_i。
RT-Thread中使⽤线程这个概念,⽽不是任务。
两者相似,我在这⾥把他的线程当作任务来理解了1、任务处理:动态任务相关API创建任务:rt_thread_create函数,创建任务之后会返回rt_thread_t类型的任务ID创建之后启动任务:rt_thread_startup删除任务:rt_thread_delete任务延时函数:rt_thread_delay 延时时候,任务处于suspend状态任务运⾏情况可⽤finish模块,在电脑终端查看2、动态创建线程和静态创建线程RT-Thread中⽀持静态和动态两种定义⽅式。
⽤线程来举例的话,rt_thread_init对应静态定义⽅式,rt_thread_create对应动态定义⽅式。
使⽤静态定义⽅式时,必须先定义静态的线程控制块,并且定义好堆栈空间,然后调⽤rt_thread_init来完成线程的初始化⼯作。
采⽤这种⽅式,线程控制块和堆栈占⽤的内存会放在RW段,这段空间在编译时就已经确定,它不是可以动态分配的,所以不能被释放,⽽只能使⽤ rt_thread_detach函数将该线程控制块从对象管理器中脱离。
使⽤动态定义⽅式rt_thread_create时,RT-Thread会动态申请线程控制块和堆栈空间。
在编译时,编译器是不会感知到这段空间的,只有在程序运⾏时,RT-Thread才会从系统堆中申请分配这段内存空间,当不需要使⽤该线程时,调⽤rt_thread_delete函数就会将这段申请的内存空间重新释放到内存堆中。
这两种⽅式各有利弊,静态定义⽅式会占⽤RW/ZI空间,但是不需要动态分配内存,运⾏时效率较⾼,实时性较好。
动态⽅式不会占⽤额外的RW/ZI空间,占⽤空间⼩,但是运⾏时需要动态分配内存,效率没有静态⽅式⾼。
静态创建线程代码:创建线程:rt_thread_init启动线程:rt_thread_startup脱离线程:rt_thread_detach//静态创建线程result = rt_thread_init(&thread1, //线程handle"static", //线程名rt_init_thread_entry, //线程⼊⼝函数RT_NULL, //线程⼊⼝参数&thread1_stack[0], //线程栈地址sizeof(thread1_stack), //线程栈⼤⼩6, //线程优先级10); //线程时间⽚动态创建线程代码:创建线程:rt_thread_create启动线程:rt_thread_startup线程启动成功后,当OS调度开始,即可被OS调度执⾏。
rtthread scons编译流程

rtthread scons编译流程关于rtthread scons编译流程的文章RT-Thread是一个开源的实时操作系统,它专为嵌入式系统设计。
RT-Thread基于C语言开发,并使用了很多工具和库来支持不同平台和开发环境。
本文将详细介绍rtthread scons编译流程,帮助读者了解如何使用scons工具来编译和构建rtthread操作系统。
一、概述rtthread scons编译流程是使用scons工具来构建rtthread操作系统的一个过程。
scons是一个现代化的软件构建工具,它使用Python作为DSL (领域专用语言)来定义构建脚本。
通过使用scons,我们可以轻松地构建rtthread,并生成适用于不同平台和开发环境的可执行文件。
二、安装scons在开始使用scons之前,我们首先需要安装scons工具。
scons是一个开源工具,可以从其官方网站(三、创建sconstruct文件在构建rtthread之前,我们需要创建一个名为sconstruct的文件。
这个文件是scons的主入口,我们可以在其中定义编译选项、目标文件、依赖关系等信息。
下面是一个简单的sconstruct文件示例:pythonimport osImport('env')# 编译选项env.Append(CCFLAGS='-O2') # 添加优化选项env.Append(LIBS=['pthread']) # 添加库依赖# 目标文件Target('rtthread.elf', [Glob('src/*.c'),Glob('src/*.cpp')])# 清理目标Clean('rtthread.elf', 'rtthread.map')在这个示例中,我们首先导入了os和env模块。
os模块负责提供与操作系统交互的功能,而env模块则负责管理构建环境。
RT-Thread学习之对FLASH进行分区管理
FLASH分区管理是怎么一回事呢?我们可以以个人电脑来做类比,我们的电脑通常都分有很多个盘符:这些都是我们硬盘的分区,我这里装了两块硬盘,512GB的机械硬盘+128GB的固态硬盘,共分C~H六个分区,我这里的C盘和H盘是固态硬盘,其它盘符是机械硬盘:分区是为了方便我们对我们的资料进行管理,各个分区互不影响,比如格式化某个分区只会删除这个分区的内容而不会影响其它分区及整个硬盘等。
同样的,在我们的STM32上也是可以进行分区管理的,这篇笔记我们来使用RT-Thread的FAL软件包来对我STM32片内FLASH及片外FLASH的分区管理。
FAL软件包介绍FAL (Flash Abstraction Layer) Flash 抽象层,是 RT-Thread 的一个软件包,是对 Flash 及基于 Flash的分区进行管理、操作的抽象层,对上层统一了 Flash 及分区操作的 API ,并具有以下特性:• 支持静态可配置的分区表,并可关联多个 Flash 设备;• 分区表支持自动装载。
避免在多固件项目,分区表被多次定义的问题;• 代码精简,对操作系统无依赖,可运行于裸机平台,比如对资源有一定要求的 bootloader;• 统一的操作接口。
保证了文件系统、 OTA、 NVM 等对 Flash 有一定依赖的组件,底层 Flash 驱动的可重用性;• 自带基于 Finsh/MSH 的测试命令,可以通过 Shell 按字节寻址的方式操作(读写擦) Flash 或分区,方便开发者进行调试、测试;FAL软件包使用本笔记主要对潘多拉开发板的FAL例程进行一次梳理,所以部分表述来自于教程文档。
我们这个实验建立如下分区表:1、移植接口文件说明FAL软件包的目录如下,其中samples文件夹下为移植接口文件:其中fal_cfg.h 为fal 配置文件(Flash 设备配置和分区表配置):fal 是 Flash 抽象层,要操作 Flash 设备必然要将 Flash 的读、写、擦接口对接到 fal 抽象层中。
f1c200s rtthread sdk说明
一、RT-Thread SDK的概述RT-Thread是一个实时操作系统,具有精简、高效的特点,能够在资源有限的嵌入式系统中运行。
RT-Thread SDK是基于RT-Thread实时操作系统的开发套件,提供了丰富的示例代码、文档和工具,帮助开发者快速搭建和开发嵌入式系统。
二、RT-Thread SDK的特点1. 开源免费:RT-Thread SDK完全开源,同时免费提供给开发者使用和修改。
2. 轻量级:RT-Thread SDK采用模块化设计,能够根据具体需求选择合适的模块,减小系统的占用空间。
3. 易用性:RT-Thread SDK提供了丰富的示例代码和文档,帮助开发者快速上手,快速搭建和开发嵌入式系统。
三、RT-Thread SDK的组成部分RT-Thread SDK包含了以下重要的组成部分:1. RT-Thread内核:RT-Thread是一个轻量级的实时操作系统内核,提供了丰富的系统服务和功能模块,包括任务调度、内存管理、设备驱动、网络通信等。
2. 驱动程序:RT-Thread SDK提供了多种设备驱动程序,包括串行通信、网络、存储设备等,方便开发者在嵌入式系统中使用各种外设。
3. 中间件:RT-Thread SDK还包含了多种中间件,例如文件系统、GUI图形界面库、网络协议栈等,帮助开发者快速实现各种功能。
4. 示例代码:RT-Thread SDK提供了丰富的示例代码,覆盖了各种常见的应用场景,方便开发者参考和使用。
四、RT-Thread SDK的应用领域RT-Thread SDK适用于各种嵌入式系统的开发,包括但不限于以下领域:1. 工业控制:RT-Thread SDK提供了丰富的通信协议栈和设备驱动程序,能够满足工业控制系统的需求。
2. 智能家居:RT-Thread SDK提供了GUI图形界面库和网络通信功能,能够快速实现智能家居设备的控制和监控。
3. 汽车电子:RT-Thread SDK支持多种外设和通信协议,能够应用于汽车电子系统的开发。
红牛开发板stm32f103zet6用户手册
红牛开发板用户手册 CopyRight@20091.概述红牛STM32开发板是以意法半导体 (ST)公司推出的基于ARM Cortex-M3系列最高配置芯片STM32F103ZE为核心组成。
板上资源:●CPU:STM32F103ZET6;(LQFP144脚,片上集成512K flash、64KRAM、12Bit ADC、DAC、PWM、CAN、USB、SDIO、FSMC等资源)●板上外扩512K SRAM, 2M NOR FLASH (板上支持最大1024kSRAM,16M的NOR FLASH)满足大容量数据采集、处理及分析要求●板上外扩128M或256M NAND FLASH(标配128M)满足彩屏上丰富的图片存储、数据表格存储,文件管理等应用● 搭配2.8寸TFT真彩触摸屏模块或3.2寸TFT真彩触摸屏模块(由用户选择),FSMC控制,彩屏模块上配置RSM1843(ADS7843、TSC2046脚对脚兼容)触摸控制器芯片,支持一个SD卡(SPI方式)可用于存储图片,支持一个AT45DBxxx 的DATA FLASH(可用于存储汉字库)● 一路CAN通信接口,驱动器芯片SN65VHD230● 两路RS232接口● 一路RS485通信接口● 一个SD卡座SDIO控制方式● 一个I2C存储器接口,标配24LC02(EEPROM)● 一个SPI存储器接口,标配AT45DB161D(DATA FLASH)● 一路ADC调节电位器输入● 三路ADC输入接线端子引出● 两路PWM输出接线端子引出● 两路DAC输出接线端子引出● 一个蜂鸣器、五个用户LED灯、一个电源指示灯,一个USB通信指示灯,● 四个用户按键,一个系统复位按键● 电源选择跳线,支持外接5V 电源供电,USB 供电或JLINK 供电 ● 板子规格尺寸:13CM X 10CM● 所有I/O 口通过2.54MM 标准间距引出,方便二次开发板上的全部硬件特性能快速帮助你评估STM32F103ZE 所有外设(USB 、motor control,、CAN,、SPI 、MicroSD card 、smartcard 、USART 、NOR Flash 、NAND flash 、 SRAM )和开发你自己的应用项目。
rtthread设计与实现
中国证券登记结算有限责任公司上海分公司关于2005年记账式(四期)国债付息有关事宜的通知
文章属性
•【制定机关】中国证券登记结算有限责任公司上海分公司
•【公布日期】2006.11.03
•【字号】
•【施行日期】2006.11.03
•【效力等级】地方规范性文件
•【时效性】现行有效
•【主题分类】金融债券,证券,国债
正文
中国证券登记结算有限责任公司上海分公司关于2005年记账式(四期)国债付息有关事宜的通知
各结算单位、基金管理公司:
根据《财政部关于2006年记账式国债还本付息工作有关事宜的通知》(财库[2006]3号),我公司将从2006年11月15日起代理兑付2005年记账式(四期)国债(以下简称本期国债)第2年第1期利息(以下简称本期利息),现将有关事项通知如下:
一、本期国债挂牌名称为“05国债(4)”,交易代码为“010504”,付息代码为“010504”,期限20年,年利率为4.11%,每半年付息一次。
二、本期国债付息的债权登记日为11月14日,凡于当日闭市后仍持有本期国债的投资者,为本期利息的最终所有者。
本期利息支付日为11月15日,每百元面值的利息为2.055元。
三、我公司在确认代理付息资金到帐后,于11月14日汇总指定交易在各法人结算单位名下投资者的应收本期利息清算数据,并于次一工作日将兑息资金划付至相关结算单位在我公司的交收账户内,由相关法人结算单位负责及时支付给投资
者。
享有本次利息但尚未办理指定交易的投资者,我公司将在其办妥指定交易后,通过结算单位兑付本次利息。
中国证券登记结算有限责任公司上海分公司
二OO六年十一月三日。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1配置RT-Thread开发环境 (2)1.1获取RT-Thread源码 (2)1.1.1安装SVN工具 (2)1.1.2从google code上获取rt-thread源码 (6)1.1.3从google code上更新rt-thread源码 (7)1.2从github获取源码(Realtouch/ART/RT-GUI) (7)1.3安装python 以及SCons工具 (8)1.3.1安装python (8)1.3.2将路径加入到系统PATH变量中 (8)1.3.3安装SCons (10)1.4安装编译工具 (10)1.4.1安装GCC编译工具链 (10)1.4.2安装MDK (13)2开发编译 (14)2.1使用GCC编译 (16)2.2使用MDK编译 (17)2.2.1使用SCons调用armcc编译 (17)2.2.2使用MDK IDE编译 (18)3ART板烧录运行程序 (19)3.1使用DFU烧录 (19)3.1.1驱动安装流程: (19)3.1.2用DFU下载bin文件 (19)3.2使用JLink/ULink/ST-Link烧录 (20)3.2.1SWD转JTAG接线 (21)3.2.2配置MDK(以JLink为例) (22)4Realtouch评估板使用指南 (26)4.1添加环境变量 (27)4.1.1配置RT_ROOT (27)4.1.2修改rtconfig.py (28)1配置RT-Thread开发环境1.1获取RT-Thread源码RTT源码包的里程碑版本可以在RT-Thread官方网站上下载到,/打开页面,可以看到右边下载区中有一些历史版本。
也可以使用google code上的开发版本,下面重点介绍一下如何获取开发版本。
1.1.1安装SVN工具为了取出RTT源码,我们需要先安装SVN工具,笔者推荐TortoiseSVN,下载地址:/downloads.html读者需要根据自己系统情况(32bit或64bit)选择合适的版本。
点击安装,安装过程可以参见图 1-1至图 1-9。
图 1-1图 1-2图 1-3图 1-4图 1-5图 1-6图 1-7图 1-8图 1-9安装完成以后,TortoiseSVN就会被集成到系统的右键菜单中。
1.1.2从google code上获取rt-thread源码如果是第一次使用SVN获取RT-Thread源码,使用如下步骤。
在任意目录,右击,选择 SVN Checkout,见图。
图 1-10弹出如下所示对话框,将下面的地址填入https:///svn/trunk/图 1-11然后点击OK,就可以看到代码更新了,根据网络情况,大约需要等待15至30分钟不等。
1.1.3从google code上更新rt-thread源码1.2从github获取源码(Realtouch/ART/RT-GUI)RT-Thread推出了Realtouch评估板,以及ART板。
这两块板子的测试代码目前都在github上托管。
github网址:https:///这里简要介绍一下git以及github。
Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理。
在推出后,Git在众多知名的开源项目中取得了很大成功。
github就是一个源码托管平台,类似于google code。
目前托管到github上的开源项目以及数以十万计。
github的流行代表着社会化编程时代的到来。
正因为如此,我们将Realtouch/ART评估板的示例代码托管到github上来,以顺应当前开发的潮流。
目前,RT-Thread官方托管到github上的软件仓库共有三个,他们在github上的网址分别为Realtouch源码:https:///RT-Thread/realtouch-stm32f4RT-GUI源码:https:///RT-Thread/RTGUIART work源码:https:///RT-Thread/ART从github上获取源码共有两种,第一种即安装git,使用git开发工具,这有些类似前面介绍的SVN,不过配置略微复杂,好在github网站提供了网页下载,读者可以使用如下方式下载。
这里以realtouch的github软件仓库为例,打开网址后,点击zip,即可打包下载,见图 1-12。
图 1-121.3安装python 以及SCons工具RT-Thread使用SCons作为默认的构建工具。
SCons基于Python开发,因此我们需要先安装python,再安装SCons。
1.3.1安装python/ftp/python/2.7.1/python-2.7.1.msi下载后一路点击下一步(next)即可,不再赘述。
默认情况下,这个程序会被安装到C:\Python27目录下,我们要将这个目录加入到系统PATH变量中,方法见下一小节。
1.3.2将路径加入到系统PATH变量中在windows 7系统上,方法为:1)在计算机上右击,选择【属性】2)打开系统对话框,在其左边点击高级系统设置,弹出【系统属性】对跨框,参见图 1-13。
3)在【系统属性】对话框的【高级】标签,点击下部的【环境变量】,弹出环境变量对话框,选择Administrator的用户变量,选中PATH,点击编辑,见图 1-14。
4)弹出编辑环境变量对话框图,在变量值的最后加入;C:\Python27注意,前面有一个分号,PATH环境变量包含多个路径,他们以分号”;”作为分割符。
图 1-13图 1-14图 1-15点击确定,返回上一对话框,再次点击确定,然后关闭系统属性对话框。
完成PATH变量修改。
为了验证我们是否正确将路径添加到PATH中,可以使用如下方法验证,在运行中输入cmd,打开命令行工具,输入echo %PATH%CMD就会返回当前系统的PATH变量的值,其中就会包含自己添加的路径,见图 1-16。
图 1-161.3.3安装SCons下载SCons /download/scons-2.0.1.win32.exe 点击安装,SCons会被自动安装到python安装目录中,即C:\Python27\Scripts参考1.3.2节,将上述路径同样添加到系统PATH变量中。
1.4安装编译工具RT-Thread源码目前支持三种编译工具工具,分别是1.GCC2.MDK3.IAR本文将介绍GCC和MDK的安装,这两种编译工具只需要安装一个即可,当然两个都安装也可以。
1.4.1安装GCC编译工具链下载GCC工具链安装包,这里提供两种下载方式。
笔者推荐下载方式2。
1)官方下载地址:https:///sgpp/lite/arm/portal/subscription3 053点击下载Sourcery G++ Lite 2011.03-42,注册后即可下载注意:不要下载Sourcery CodeBench Lite 2011.09-69,这个版本可能会导致后面编译失败。
2)RT-Thread的官方百度网盘中,也提供了上述编译器下载地址。
地址如下:/netdisk/extractpublic?uk=4264488348在GCC编译工具目录下。
安装过程如下所示,图 1-17至图 1-21。
图 1-17图 1-18图 1-19注意在下面的对话框中,选择为当前用户修改PATH,那么gcc的安装路径就会被自动加入到系统环境变量中去。
图 1-20图 1-211.4.2安装MDKMDK为商业软件,这里对MDK的安装不予介绍,实际除了修改安装路径外,其他选项均选择NEXT即可完成安装。
2开发编译打开1.1节中我们下载的RT-Threand源码目录。
其中目录结构如下所示:RT-Thread├─bsp 各个平台的工程目录├─components 组件源码目录├─documentation 文档目录├─examples 测试用例目录├─include 头文件目录├─libcpu 存放各个平台的启动程序以及线程切换程序├─tools SCons脚本目录└─src RT-Thread内核源码目录RT-Thread源码包支持多种编译方式,笔者重点介绍两种编译开发方式,使用SCons 编译或者使用MDK编译。
笔者将以ART开发板为例子介绍这两种编译方式。
ART板上使用STM32F40x芯片,因此对应的BSP为 bsp\stm32f40x目录,打开这个目录我们可以看到。
applications目录下存放一些顶层应用程序drivers目录下存放RT-Thread设备驱动程序Libraries目录下存放stm32官方固件库代码rtconfig.h为当前工程的头文件,用于控制RT-Thread组件裁剪Project.uvproj为MDK工程文件Template.uvproj为生成MDK工程文件模板文件,由SCons使用。
Stm32_rom.ld为GCC链接文件,用于GCC编译Stm32_rom.sct 为MDK分散加载文件,当使用SCons调用armcc编译时需要使用rtconfig.py 为python脚本,主要用于配置SCons的底层编译器。
SConscript 为python脚本,由SCons使用SConsctruct 为python脚本,由SCons使用这里来实现一个简单的LED等闪烁程序。
需要说明的是,这个BSP面向的是ST官方的F4 Discovery开发板。
为了要在ART板子上运行,我们需要做一些修改。
修改applications/application.c,static void rt_thread_entry_led1(void* parameter){GPIO_InitTypeDef GPIO_InitStructure;/* GPIOD Periph clock enable */RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD| RCC_AHB1Periph_GPIOB, ENABLE);/* Configure PD12, PD13, PD14 and PD15 in output pushpull mode */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 |GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;GPIO_Init(GPIOD, &GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;GPIO_Init(GPIOB, &GPIO_InitStructure);while (1){GPIO_SetBits(GPIOB, GPIO_Pin_2);/* Insert delay */rt_thread_delay(RT_TICK_PER_SECOND/2);GPIO_ResetBits(GPIOB, GPIO_Pin_2);rt_thread_delay(RT_TICK_PER_SECOND/2);}}修改drivers/stm32f4xx_conf.h ,ART板子上使用的时钟的频率为25M,修改:#if defined (HSE_VALUE)/* Redefine the HSE value; it's equal to 8 MHz on the STM32F4-DISCOVERY Kit */#undef HSE_VALUE#define HSE_VALUE ((uint32_t)25000000)#endif /* HSE_VALUE */至此修改结束。