本文主要介绍基于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 的使用。