thread公益培训每节课rtt第一讲_第1页
thread公益培训每节课rtt第一讲_第2页
thread公益培训每节课rtt第一讲_第3页
thread公益培训每节课rtt第一讲_第4页
thread公益培训每节课rtt第一讲_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大家晚上好!RTT第一讲基础知识主讲人:Yafei时间:2013/08/01内容提要<1>安装scons<2>SConstruct

SConscript<3>RTT源码目录结构<4>scons使用gcc/mdk编译一个示例<5>scons生成IAR/MDK工程<6>头文件的查找一、安装scons官网最新版本SCons

2.3.0scons目前只支持python2.7或者更早的版本,暂时不支持python3Scons

2.3.0

下载网址个人百度云网盘下载安装步骤依赖于python2.7Scons用python语言编写,因此我们在安装scons之前,需要搭建python环境。下载地址使用简单安装,MSI,EXE添加环境变量:D:\Python27;D:\Python27\Scripts;python动态类型语言:在程序运行时检查数据的类型的语言。在写代码时不会给变量指定类型,而是在赋值时确定数据类型。例如:二、scons详解Scons官方文档•SConstruct文件是用来控制整个项目的实际编译。例如:(1)#prepare

building

environmentobjs=PrepareBuilding(env,RTT_ROOT,has_libcpu=False)准备好编译的环境,编译环境:编译器,分析rtconfig.h,执行

sconscript添加RTT

kernel

src/和libcpu/,添加RTT组件目录(2)#build

program

env.Program(TARGET,objs)开始编译(3)TARGET='rtthread-stm32f4xx.'+

rtconfig.TARGET_EXT

指定编译后的程序名SConscript文件是用来指定哪些文件会加入编译。scons添加组件DefineGroup用于定义一个组件。组件可以是一个目录(下的文件或子目录),也是后续一些IDE工程文件中的一个Group或文件夹。函数原型为:DefineGroup(name,src,depend,**parameters),包括四个参数:'name'来定义这个group的名字src用于定义这个Group中包含的文件,一般指的是

C/C++源文件。方便起见,也能够通过Glob函数采用通配符的方式列出SConscript文件所在目录中匹配的文件。depend

用于定义这个Group编译时所依赖的选项(例如finsh组件依赖于RT_USING_FINSH宏定义)。编译选项一般指rtconfig.h中定义的RT_USING_xxx宏。当在rtconfig.h配置文件中定义了相应宏时,那么这个Group

才会被加入到编译环境中进行编译。如果依赖的宏并没在rtconfig.h中被定义,那么这个Group将不会被加入编译。相类似的,在使用scons生成为IDE工程文件时,如果依赖的宏未被定义,相应的Group也不会在工程文件中出现。parameters则可以输入一组字符串,后面还可以加入的参数包括:CCFLAGS–C源文件编译的参数;CPPPATH–应该额外包含的头文件路径;CPPDEFINES–C源文件编译时额外的宏定义;LINKFLAGS–连接时应该添加的参数。LIBRARY–包含此参数,则会将组生成的目标文件打包成库文件。Scons拓展查看scons支持的选项:scons--helpRTTWiki之scons:

scons使用armcc编译时出现命令行太长,编译报错:

Fatal

error:

L3904U:Could

not

open

via

file'@c:\users\admini~1\appdata\local\temp\tmp8cy7vx.lnk'.三、RTT目录结构目录详解bsp/:board

support

package,对应于开发板libcpu/:芯片架构,CPU资源(PMC电源控制器,AIC先进中断控制器,系统时钟)驱动src/:RTT内核源码(rt_object,

ipc,调度)components/:RTT组件,包含协议栈(lwip)、总线驱动(SPI

I2C

SDIOUSB等)、Finsh、DFS、libc库tools/:RT-Thread官方提供的用于所有BSP的共同脚本控制文件,提供一些强大的功能函数,方便我们编写

SConscript.include/:RTT头文件四、scons编译示例CodeSourcery平台选择GNU/Linux代表硬件上面运行Linux系统,编译的程序在

linux上运行EABIGCCCodeSourcery•需要注册scons——armcc编译前提:安装MDKRtconfig.py配置五、scons生成MDK工程命令:scons

–target=mdk4

–s工程模板文件:template.uvproj六、编译时头文件查找头文件查找由编译器来决定在编译时加选项–I

来包含查找头文件的目录GCC编译器#include

“file1”首先在源文件当前目录下查找头文件,如果找不到,再去编译命令指定、系统预设的目录去找。这些"指定的"、"预设的"目录在什么地方呢?"指定的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论