【RT-Thread】基于RT-Thread BSP创建项目基础工程

本文主要介绍基于RT-Thread实时操作系统下,基于RT-Thread源码BSP创建项目基本工程。

从拉取源码,到定位芯片类型,到生成基本项目工程。

 一、获取RT-Thread源码

首先从RT-Thread官网获取源码,或者通过gitee/github下载。

 

 github地址:https://github.com/RT-Thread/rt-thread.git

环境要求:

需要有RT-Thread开发工具——ENV

参考RT-Thread官网下载安装即可。

二、以RT1064芯片为例创建项目基本工程

1、进入rt-thread源码目录下的bsp路径

2、在bsp文件夹中找到imxrt芯片厂商,另外还有STM、LPC等

 3、找到具体芯片型号,这里以RT1064为例

 

4、在该路径下鼠标右键点击空白处,打开ENV工具

5、输入命令scons  --dist

6、等待编译完成

 7、编译完成后文件夹内会自动生成一个dist文件夹,移动该文件夹到桌面,关闭ENV工具即可

 8、该文件内为两个相同的基础工程代码,一个为压缩包

9、主要文件介绍

如上图所示

①:为RT-Thread源码文件夹,相关文件为包括内核在内的,RT1064驱动在内的源代码

②:为IAR工程(这里建议删除,大部分的项目工程代码基本都是需要上传git的,下面解释)

③:为MDK5工程(这里建议删除,大部分的项目工程代码基本都是需要上传git的,下面解释)

④:为IAR/MDK工程模板!必须保留

说明:上面②/③的工程可以通过scons命令生成工程,而且是基于下面template文件内的配置,所以如果需要对生成的工程配置修改,直接修改template工程的配置即可!

三、具体应用

环境:

1、MDK5.27

2、IAR9.30

3、GIT工具

4、git仓库:www.gitee.com

1、创建git仓库

 

2、桌面鼠标右键打开git,通过git clone 命令拉取远程仓库(空仓库)

3、删除MDK,IAR工程后其余文件复制到imx.rt1064文件夹内

 4,复制完成后,通过git推送远程

5,工程框架优化

 对不需要git版本管理的相关文件通过添加 .gitignore忽略,比如一些build 编译文件等

修改完成后再提交推送一遍

6,修改模板工程配置,这里以MDK为例

打开工程目录下的template.uvprojx

 

 

 

 

 工程选项修改完成后点击OK,会发现git显示文件有修改,就是刚才修改的内容,直接推送即可 

7、通过ENV工具生成项目工程

工程目录下鼠标右键点击,打开ENV配置工具,输入命令scons --target=mdk5,回车

 工程中就会生成MDK工程,且不被git管理

生成IAR工程同理,命令为 scons --tartget=iar

打开生成的项目工程后,具体配置与template工程配置一样。

四、总结

        通过上述流程文档,可以基于RT-Thread bsp创建关于支持某芯片型号的项目初版工程,完全包括了RT-Thread的内核代码,还有具体芯片型号的库,STM32H7系列的会自动包括hal库进去,使用起来非常方便。另一方面是对工程的管理和git的使用,在多人协作项目下,工程一编译的情况下,推送git的时候就会稍微麻烦一点,通过管理模板工程的配置,有利于git的使用和工程代码的规范管理。总之非常推荐哦~!

        下期再基于目前的工程代码讲解Scons 和 Kcong 的使用。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RT-Thread诞生于2006年,是一款以开源、中立、社区化发展起来的物联网操作系统。 RT-Thread主要采用 C 语言编写,浅显易懂,且具有方便移植的特性(可快速移植到多种主流 MCU 及模组芯片上)。RT-Thread把面向对象的设计方法应用到实时系统设计中,使得代码风格优雅、架构清晰、系统模块化并且可裁剪性非常好。 RT-Thread有完整版和Nano版,对于资源受限的微控制器(MCU)系统,可通过简单易用的工具,裁剪出仅需要 3KB Flash、1.2KB RAM 内存资源的 NANO 内核版本;而相对资源丰富的物联网设备,可使用RT-Thread完整版,通过在线的软件包管理工具,配合系统配置工具实现直观快速的模块化裁剪,并且可以无缝地导入丰富的软件功能包,实现类似 Android 的图形界面及触摸滑动效果、智能语音交互效果等复杂功能。 RT-Thread架构 RT-Thread是一个集实时操作系统(RTOS)内核、中间件组件的物联网操作系统,架构如下: 内核层:RT-Thread内核,是 RT-Thread的核心部分,包括了内核系统中对象的实现,例如多线程及其调度、信号量、邮箱、消息队列、内存管理、定时器等;libcpu/BSP(芯片移植相关文件 / 板级支持包)与硬件密切相关,由外设驱动和 CPU 移植构成。 组件与服务层:组件是基于 RT-Thread内核之上的上层软件,例如虚拟文件系统、FinSH命令行界面、网络框架、设备框架等。采用模块化设计,做到组件内部高内聚,组件之间低耦合。 RT-Thread软件包:运行于 RT-Thread物联网操作系统平台上,面向不同应用领域的通用软件组件,由描述信息、源代码或库文件组成。RT-Thread提供了开放的软件包平台,这里存放了官方提供或开发者提供的软件包,该平台为开发者提供了众多可重用软件包的选择,这也是 RT-Thread生态的重要组成部分。软件包生态对于一个操作系统的选择至关重要,因为这些软件包具有很强的可重用性,模块化程度很高,极大的方便应用开发者在最短时间内,打造出自己想要的系统。RT-Thread已经支持的软件包数量已经达到 180+。 RT-Thread的特点: 资源占用极低,超低功耗设计,最小内核(Nano版本)仅需1.2KB RAM,3KB Flash。 组件丰富,繁荣发展的软件包生态 。 简单易用 ,优雅的代码风格,易于阅读、掌握。 高度可伸缩,优质的可伸缩的软件架构,松耦合,模块化,易于裁剪和扩展。 强大,支持高性能应用。 跨平台、芯片支持广泛。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值