嵌入式技术论坛
直播中

梅利号

8年用户 1491经验值
擅长:可编程逻辑
私信 关注
[经验]

将RTT文件夹里的内容添加进编译的解决办法

目前在使用Verimake生产的opench(赤菟CH32V307VCT6)做RTT的学习。

因为之前都是在MounRiver上进行学习,自己新建的文件夹,只要在项目目录内,就会自动显示出来,右击项目名-属性-C/C++构建-设置-GNU-RISC-V Cross C Compiler-includes里面直接点+号添加文件夹路径,就可以保证自己新建的文件夹及里面的文件被编译进来。

但似乎在RT-Thread Studio里好像不是这么设置的,看了一圈,似乎对于RTT来说构建系统分为Kconfig、SCons、env工具这三部分,一时觉得蛮绝望,感觉学习成本还蛮高。但实际了解了一下以后,感觉RTT Studio还是给了一种比较简易的解决方法?

以下介绍一下自己的解决方法。

1、问题复现:

在applications文件夹下建立了peripherals文件夹,并将写好的lcd.c和lcd.h,移动到文件夹中,此时可以编译,下载的程序也是正常的,但是!!!我在RT-Thread Settings里关闭了LCD,并选择了更新,peripherals文件夹直接被排除了编译,文件夹也直接消失了。。。然后开始找问题。。。


2、找回被排除的文件

选择过滤器和定制,禁止过滤被排除的文件,可以发现可以在applications文件夹中看到被排除的peripherals文件夹



3、将文件夹加入编译

右键文件夹-属性,取消勾选“将资源从构建排除”,这时程序可以正常编译,就我个人的情况来说,下载了也正常,我设置的led也正常闪烁,但由于没有配置完,应该还是存在不可预期的结果,就我个人的发现是,RT-Thread Settings里配置并保存后,文件夹又会进入被排除编译的状态(猜想应该是和SCons有关吧?)


4、配置Sconscript

因为新增的文件夹在applications文件夹下,因此需要对applications文件夹下的Sconscript做一定的修改,如下所示,因为对scons了解不深,不做过多解释

并在peripherals文件夹下添加这样的Sconscript

5、至此程序恢复正常,因此在RT-Thread中Scons的作用似乎是非常大的,想必后续也要恶补吧。

原作者:喵小黑

更多回帖

发帖
×
20
完善资料,
赚取积分