嵌入式技术论坛
直播中

郑成枝

7年用户 1310经验值
私信 关注
[问答]

使用env工具中后原先手动添加的文件消失是何原因?如何解决?

程序写到一半,已经手动在bsp工程里添加了好多驱动,下午新的功能用到ADC,我就尝试用env工具中menuconfig配置ADC设备,然后scons —target=mdk5后,发现原先自己手动添加到工程里的C文件和H文件还有文件夹消失了。还有每次scons —target=mdk5后Broswe information那个勾都会自动取消。请教论坛各位大神如何解决这两个问题

回帖(4)

张虎豹

2023-2-24 14:17:17
第一个问题是因为你自己新建的文件是没有使用SConscript添加到MDK工程的,你可以打开RTT的源码,然后打开你是用的BSP目录,你可以尝试将你的.c.h文件放入applications 重新编译自动会添加,至于为什么 你可以打开SConscript看看,然后去RT文档中心学习一下Kconfig 语法就知道原因也会了;第二个问题你可以打开你工程目录下的template.uvprojx(就是模板MDK)然后在里面勾选Broswe information 之后你重新编译你会发现你的工程又有了,至于为什么RTT文档好像有说过ENV是根据模板的配置来编译你的工程的
举报

郑成枝

2023-2-24 14:17:25
大神,非常感谢您的回答,自己的c文件放在application文件夹里不会消失了,不过在下想要在application文件夹里添加lib文件时,如ARM的DSP库。env重新编译后还是消失了。还有在template.uvprojx工程配置里C/C++ Define一栏里添加ARM_MATH_CM4的定义env编译后也会消失,我看了RTT文档里关于ENV和Kconfig相关说明没找到相关的解读。求教大神再次指点一二
举报

张虎豹

2023-2-24 14:17:35
自己的c文件放在application不会消失是因为scons脚本中是正则匹配(.c)文件的

这个与Kconfig无关,主要是编写好scons脚本,给你一个scons模板

SOURCES          = []
LOCAL_CPPPATH    = []
LOCAL_CCFLAGS    = ""
LOCAL_ASFLAGS    = ""
CPPPATH          = []
CCFLAGS          = ""
ASFLAGS          = ""
CPPDEFINES       = []
LOCAL_CPPDEFINES = []
LIBS             = []
LIBPATH          = []
LINKFLAGS        = ""
objs += DefineGroup(name = PKGNAME, src = SOURCES, depend = DEPENDS,
                   CPPPATH          = CPPPATH,
                   CCFLAGS          = CCFLAGS,
                   ASFLAGS          = ASFLAGS,
                   LOCAL_CPPPATH    = LOCAL_CPPPATH,
                   LOCAL_CCFLAGS    = LOCAL_CCFLAGS,
                   LOCAL_ASFLAGS    = LOCAL_ASFLAGS,
                   CPPDEFINES       = CPPDEFINES,
                   LOCAL_CPPDEFINES = LOCAL_CPPDEFINES,
                   LIBS             = LIBS,
                   LIBPATH          = LIBPATH,
                   LINKFLAGS        = LINKFLAGS)
Return("objs")
举报

郑成枝

2023-2-24 14:17:41
谢谢
举报

更多回帖

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