2.4 rt-thread实操-使用scons向工程中添加分组和文件
1、我的工程目录当前是这样



2、 现在想向工程中添加hello分组和hello.c、hello.h文件,并使用soncs自动生成到工程hello分组中,并可通过menuconfig去配置宏,进行打开是否可以scons时生成到工程中。
3、先创建一个hello文件夹,里面创建两个文件hello.c和hello.h,并创建一个SConscript脚本文件,用于管理当前目录的文件如何根据规则自动生成到工程中,并创建一个Kconfig文件,用于menuconfig时的配置选项。


SConscript脚本文件内容如下,其中src=空,是因为防止sons时,宏未使能时也将文件添加到了工程中,严格只有宏使能时才添加。GetDepend是根据APP_HELLO_WORD这个宏是否使能,而决定是否添加hello.c和hello.h这两个文件,这个宏是由KConfig中配置定义的,menuconfig时使能了,这里就会起效果。Define中的hello是给src=的那些文件归到一个分组中,会在工程中也创建对应的分组,其中depend是根据宏是否使能而决定分组是否创建。

Kconfig内容如下,menu是meunconfig时的菜单,下级menu是下级菜单的名称,config是配置项的名称,宏的名称,bool是是否使能项的名称。default是默认的配置,n表是否,y表示是

之后menuconfig



当使能后,退出menuconfig时,可以在rtconfig.h文件中看到此宏被定义

之后使用scons --target=iar生成工程,即可在工程中看到hello分组和文件

2.4 rt-thread实操-使用scons向工程中添加分组和文件的更多相关文章
- java实操之使用jcraft进行sftp上传下载文件
sftp作为临时的文件存储位置,在某些场合还是有其应景的,比如对账文件存放.需要提供一个上传的工具类.实现方法参考下: pom.xml中引入类库: <dependency> <gro ...
- Mysql MHA(GTID)配置(实操)
实现环境 centos6.7 MYSQL5.6.36 主:192.168.1.191 从1:192.168.1.145 从2:192.168.1.146 监测:放在从2上 192.168.1.146 ...
- HDFS集群PB级数据迁移方案-DistCp生产环境实操篇
HDFS集群PB级数据迁移方案-DistCp生产环境实操篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 用了接近2个星期的时间,终于把公司的需要的大数据组建部署完毕了,当然,在部 ...
- Istio的流量管理(实操一)(istio 系列三)
Istio的流量管理(实操一)(istio 系列三) 使用官方的Bookinfo应用进行测试.涵盖官方文档Traffic Management章节中的请求路由,故障注入,流量迁移,TCP流量迁移,请求 ...
- 进程池与线程池基本使用、协程理论与实操、IO模型、前端、BS架构、HTTP协议与HTML前戏
昨日内容回顾 GIL全局解释器锁 1.在python解释器中 才有GIL的存在(只与解释器有关) 2.GIL本质上其实也是一把互斥锁(并发变串行 牺牲效率保证安全) 3.GIL的存在 是由于Cpyth ...
- 【实操日记】使用 PyQt5 设计下载远程服务器日志文件程序
最近通过 PyQt5 设计了一个下载服务器指定日期日志文件的程序,里面有些有意思的技术点,现在做一些分享. PyQt5 是一套 Python 绑定 Digia Qt5 应用的框架,是最强大的 GUI ...
- 网络编程:多进程实现TCP服务端并发、互斥锁代码实操、线程理论、创建线程的两种方式、线程的诸多特性、GIL全局解释器锁、验证GIL的存在
目录 多进程实现TCP服务端并发 互斥锁代码实操 线程理论 创建线程的两种方式 线程的诸多特性 GIL全局解释器锁 验证GIL的存在 GIL与普通互斥锁 python多线程是否有用 死锁现象 多进程实 ...
- Spark详解(07-1) - SparkStreaming案例实操
Spark详解(07-1) - SparkStreaming案例实操 环境准备 pom文件 <dependencies> <dependency> &l ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- 号外号外:9月13号《Speed-BI云平台案例实操--十分钟做报表》开讲了
引言:如何快速分析纷繁复杂的数据?如何快速做出老板满意的报表?如何快速将Speed-BI云平台运用到实际场景中? 本课程将通过各行各业案例背景,将Speed-BI云平台运用到实际场景中 ...
随机推荐
- 【语义分割专栏】:FCN原理篇
目录 前言 语义分割 背景介绍 FCN核心剖析 全卷积(Fully Convolution) 反卷积(deconvolution) 最近邻插值法 双线性插值 反卷积 跳跃连接(Skip Connect ...
- L3-1、掌控多轮对话的节奏 -Prompt 结构与上下文管理全攻略
一.多轮对话中的上下文挑战与常见问题 在与大语言模型(LLM)进行多轮对话时,我们常常面临以下挑战: 上下文丢失:模型"遗忘"之前提到的信息 指代不明:难以理解代词指向的内容 话题 ...
- Manim实现图像变形特效
在数学教学和科普领域,变形效果往往能起到事半功倍的作用,让抽象的数学概念变得生动形象. 这篇文章将通过三个典型场景,来看看如何超越默认效果的限制,制作出更专业的变形动画. 1. 几何体的形态跃迁 传统 ...
- Java 枚举类的简单介绍
综述 enum 的全称为 enumeration, 是Java1.5引入的新特性,通过关键字enum来定义枚举类.它是一种特殊类,和普通类一样可以使用构造器.定义成员变量和方法,也能实现一个或多个 ...
- Hibernate Validator 提示javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
问题背景:Spring boot项目不想写诸多校验代码,避免代码既丑陋又繁琐,故使用hibernate validator校验参数的时候,但出现如下所示的的错误提示: javax.validation ...
- flatpak appimage大小对比
格式:单应用大小 / 加上依赖 / 安装后大小 flatpak AppImage apt gimp 127.7 MB / 797.6 MB / 366 MB 164 MB vscodium 1 ...
- Vue 学习笔记 [Part 3]
作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 目录 〇.高阶函数 0.1 filter() 0.2 map() 0.3 reduce() 一. 表单绑定v-model 1.1. v-model的 ...
- 【一步步开发AI运动APP】十、微调优化内置运动分析器,灵活适配不同的应用场景
之前我们为您分享了[一步步开发AI运动小程序]开发系列博文,通过该系列博文,很多开发者开发出了很多精美的AI健身.线上运动赛事.AI学生体测.美体.康复锻炼等应用场景的AI运动小程序:为了帮助开发者继 ...
- From Small Not Perfect
自己想实现一个共享文档,然后统计每个人每周做题的数量,然后还想到每个月的统计,每年的统计,哇,好复杂哈 所以我想先做一个Excel,然后开始使用,中间发现了问题,然后调整,修改. 当我做了这个Exce ...
- Linux在线安装JDK1.8+
Linux在线安装JDK1.8+(默认已发布最新版) 命令在线下载jdk: wget --no-check-certificate --no-cookies --header "Cookie ...