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云平台运用到实际场景中 ...
随机推荐
- 用鼠标画圆点(java GUI)
话不多说,先看效果 当然你也可以发挥脑洞绘制更更棒的 源码如下: package javaBasic; import java.awt.*; import java.awt.event.*; impo ...
- 创建字符串对象的六种方法(java)
package javaBasic; public class StringConstruction { public static void main(String[] args) { String ...
- VirtualBox 导入/注册 虚拟机文件 .vbox 失败
VirtualBox 导入/注册 虚拟机文件 .vbox 失败 问题情景 Error: Failed to open virtual machine located in <.vbox所在目录& ...
- WebSocket 与 SSE 对比:即时通信的选择(一)
在现代 Web 开发中,实时通信需求越来越多,比如聊天应用.实时通知.直播弹幕.股票行情推送等.实现这些需求的常见技术有 WebSocket 和 SSE(Server-Sent Events),但它们 ...
- go 进阶训练营 微服务可用性(上) 笔记
隔离 本质上是对系统和资源进行分割,从而实现当系统故障时能限定传播范围和影响范围,即发生故障后只有出问题的服务不可用,保证其他服务仍然可用. 服务隔离 动静隔离 mysql 表中的bufferpool ...
- Vue <img :src=""/> 图片不显示
场景 图片路径被原样输出,无法正确加载图片: <img :src="imgSrc"/> 原因 webpack 会将:src 动态绑定的值解析成字符串,原样输出: 解决办 ...
- Java源码分析系列笔记-18.Semaphore
目录 1. 是什么 2. 原理分析 2.1. uml 3. 公平信号量 3.1. 是什么 3.2. 使用 3.3. 原理分析 3.3.1. 构造方法 3.3.1.1. 公平Sync 3.3.2. ac ...
- kafka+springboot入门
前言 使用工具:kafka_2.12-3.1.0.tgz 测试项目:spring cloud 测试系统:windows10 安装kafka 下载解压kafka,先启动zookeeper,启动命令为: ...
- pdf工具类之添加页码
实现思路:将原pdf复制一份到目标pdf,在目标pdf上进行操作,复制的原因是:原pdf需要获取其pdf读入流(PdfReader),如果还在原pdf上继续宁操作,就会出现一下一下异常 java.io ...
- TypeScript枚举类型应用:前后端状态码映射的最简方案
介绍 这篇文章来谈一下 TypeScript 中的枚举类型(Enum)以及一些最佳实践.事情的起因是这样的,今天看到自己之前写的一段代码,感觉不是很好,于是想优化一下,期间用到了枚举类型,遂记录一下. ...