rt-thread------生成工程模板

news/2024/7/23 11:57:54 标签: 单片机, stm32, rt-thread, env

系列文章目录

rt-thread 之 fal移植


文章目录

  • 系列文章目录
  • 前言
  • 一、下载ENV 和 RTT源码
  • 二、选择BSP生成模板
    • step1 打包模板
    • step2 修改工程模板
  • 三、添加软件包和组件
    • step 1选择配置
    • step 2下载软件包和组件
    • step3 生成工程
  • 总结
    • 常见指令


前言

  • menuconfig 图形化配置界面,交互性好,操作逻辑强;
  • 丰富的文字帮助说明,配置无需查阅文档;
  • 使用灵活,自动处理依赖,功能开关彻底;
  • 自动生成 rtconfig.h,无需手动修改;
  • 使用 scons工具生成工程,提供编译环境,操作简单;
  • 提供多种软件包,模块化软件包耦合关联少,可维护性好;
  • 软件包可在线下载,软件包持续集成,包可靠性高;

提示:以下是本篇文章正文内容,下面案例可供参考

一、下载ENV 和 RTT源码

ENV下载链接
git工具下载链接
rt-thread下载链接
官方提供的env使用手册

二、选择BSP生成模板

step1 打包模板

根据自己项目MCU型号选择BSP,我的MCU是STM32F103ZET6,所以我直接选择了野火的STM32F1的开发板作为模板生成项目源码。
打包源码库指令scons --dist
在这里插入图片描述
等待env打包模板结束,即可得到一个dist的文件夹,打包好的文件会在里面,只需要将里面打包好的文件夹移出bsp目录,放到自己工作目录即可。
在这里插入图片描述
生成的模板文件中的目录结构
在这里插入图片描述

step2 修改工程模板

可以打开模板工程,对板子型号,或者调试的配置项进行修改。最后在env中使用scons --target=mdk5命令更新到工作工程中即可。
在这里插入图片描述

三、添加软件包和组件

step 1选择配置

env中使用menuconfig命令,即可进入图形化配置界面,其操作如图所示:

在这里插入图片描述
可以根据需要选择需要的组件和软件包,然后保存退出即可。

step 2下载软件包和组件

若在menuconfig -s配置中选择自动update软件包,退出menuconfig界面则会自动下载软件包
在这里插入图片描述
若没有勾选自动update软件包,则需要手动输入pkgs --update下载网上的软件包和组件。

step3 生成工程

以mdk5为例使用scons --target=mdk5即可生成一个mdk5的工程。

在这里插入图片描述

总结

常见指令

menuconfig: 打开图形化配置界面
menuconfig -s:配置图形化界面配置
scons --dist:搭建项目框架,使用此命令会在 BSP 目录下生成 dist 目录
scons -c:清除编译过程文件
生成工程:

scons --target=iar
scons --target=mdk4
scons --target=mdk5

pkgs --update:更本地新软件包
pkgs --upgrate:命令是用来升级 Env 功能脚本本身和软件包列表的


http://www.niftyadmin.cn/n/520419.html

相关文章

震荡波病毒原代码

// linux 下编译#include <stdio.h> #include <strings.h> #include <signal.h> #include <netinet/in.h> #include <netdb.h> #define NORM "/033[00;00m" #define GREEN "/033[01;32m" #define YELL "/033[01;33m&qu…

rt-thread------串口V1版本(一)配置

系列文章目录 rt-thread 之 fal移植 rt-thread 之 生成工程模板 文章目录系列文章目录前言一、串口的配置step1&#xff1a;通过串口名字找到串口句柄step2&#xff1a;配置串口参数step3&#xff1a;设置串口接收回调函数step4&#xff1a;打开串口设备前言 UART&#xff08…

UCOS-II几个重要的函数使用详解

void OSInit (void){ INT16U i; /*****/ /*****/ OSTime 0L; /* Clear the 32-bit system clock */ OSIntNesting 0; /**中断嵌套层数计数,>0时候禁止任务调度***/ /* Clear the interrupt nes…

windows的环境变量

windows的环境变量www.firnow.com 时间 &#xff1a; 2010-03-15 作者&#xff1a;匿名 编辑&#xff1a;Smi1e 点击&#xff1a; 6 [ 评论 ]-- %CD% - 扩展到当前目录字符串。 %DATE% - 用跟 DATE 命令同样的格式扩展到当前日期。 %TIME% - 用跟 TIME 命令同样的格式扩…

好男人都死到哪去了?

不知道从什么时候开始&#xff0c;身旁女性朋友最常问我的问题是&#xff1a;“好男人都死到哪去了&#xff1f; ”   作为她们心中的爱情专家&#xff0c;我会扶扶眼镜、故作智者地说&#xff1a;“唉呀&#xff0c;别气馁嘛&#xff0c;好男人很多啊&#xff01;你看街上那…

MyQQ.cpp: 非完全版本

// MyQQ.cpp: 非完全版本//#include "QQdef.h"#include "QQcrypt.h"#include "winsock2.h"#include "md5.h"#include "MyQQ.h"#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]__FILE__;#define new DEBUG_NEW#endif/…

Linux动态库(一)之同名符号

万事皆有缘由&#xff0c;还是先从我遇到的这个问题说起&#xff5e;&#xff5e;&#xff5e;问&#xff1a;有一个主执行程序main&#xff0c;其中实现了函数foo()&#xff0c;同时调用动态库liba.so中的函数bar()&#xff0c;而动态库liba.so中也实现了foo()函数&#xff0c…

elf文件格式学习总结

编译器将一个源文件生成目标文件时&#xff0c;会在目标文件中生成符号表和重定位表。符号表包含在文件中定义的全局符号以及在文件中引用的外部符号&#xff08;外部函数或变量&#xff09;。重定位表告诉链接器在哪些位置要进行重定位操作。编译器生成的目标文件在文件的开始…