-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[features] 增加独立工程模式的功能 #250
Comments
这点可以展开说说吗?目前的env是可以做到了工具链自动探测,或者用户自己配置亦可。然后可能的还包括RTT_ROOT?所以在最前面说的,希望有份配置的json文件,由这份配置文件来指定RTT_ROOT在哪里,进而还包括,如果BSP、驱动并不需要当前工程带,也可以有BSP_ROOT(也包括SDK_ROOT,如果有的话)指向到对应位置。然后这份json配置文件可以在vscode中打开,直接使用UI方式进行配置 |
这个图更希望是类似这样的,env做为独立的命令行工具支撑基础设施。而 vscode扩展 ➕ env的方式,形成一个简单易用的工具。当然因为env的基座在这里,所以也可以和其他的IDE进行配合,包括在env命令的基础上加入其他的命令,来做构建也好,做创建工程也好等等的。 |
我可以理解的就是有一个json格式的配置文件, 然后在VSCode中打开这个文件显示UI界面?(类似于jupyter插件) 如果不是, 而且在插件中设置带UI界面我是不推荐的, 类似于esp的工具 esp这种方式做成一个插件不如直接改vscode成一个专用IDE(类似于AMD Vitis 2024版), 毕竟vscode是一个通用编辑软件, 我并不希望在vscode中加入IDE, 因为这会影响我使用VSCode做其他事. 然后我不满意的是env现在是一个独立的终端应用软件, 其使用的还是 scons, menuconfig这些命令行工具, 我想有一个命令行工具去整合这些工具, 包括了项目的创建, 配置, 编译和调试, 然后这个命令行工具还是安装即用的(和RTThread Studio功能差不多, 不过是 控制台应用程序), 就直接在系统终端应用里就可以使用(比如 powershell, Windows terminal), 还有VSCode软件内的终端.
还是打算把源码和SDK放在工程里吗? 我希望的是把我不关心的代码都不加入我的工程中, 因为我的代码也在做版本管理, 源码本不是我写的代码, 加入我的工程就会造成我的工程体积变大. 还有如果我每次创建一个新的工程, 使用的都是同一版本的源码就会造成工程与工程之间有代码重复, 所以我的想法是在同一源码版本下管理不同的工程, 最好的情况是将我们应用项目和系统源码三方包完全隔开, 其实我的想法就是像linux一样 应用开发和系统开发完全隔开. 然后我的工程中有一个配置文件, 里面描述了我使用的是哪个版本的系统, 哪个芯片, 哪个版本的HAL库和BSP, 最好在这些库的代码里都添加版本宏定义, 让我编写不同本版芯片的代码, 然后命令行工具会读取这个文件再整合编译成固件 |
这个是希望追求的目标,不过一步步来吧,可能会显得麻烦,也有可能从简到繁再到简。
并不是,而是通过配置指向到对应的路径位置。
如果是这样,则需要自行手动来构造整体目录结构了。这样的方式或许就有些类似于rt-thread本身的发布版本,这个时候或许可以是在配置上设置当前默认的工程是哪个,可以在根目录下build,或也可以生成workspace结构直接切换过仅显示对应的文件。 感觉到的一点是,这个过程是逐步的,可能从简到繁再到简,最终好用。需要一个过程 |
想法说明
目前RT-Thread的方式,在开发的时候会变成更多以BSP为主的方式,而对于工程业务逻辑,当不需要过多关注板卡情况时,并不是那么友好。而当所有构建脚本都使用scons脚本,Python脚本时,会太编程化(灵活度足够高,但不利于IDE、UI工具配置模式)
希望可以做到:
挑战
目前在RT-Thread的一些BSP中,也引入了SDK_LIB,链接脚本,输出产物名称也都统一,这些都会在一定层面影响到统一化支持。
The text was updated successfully, but these errors were encountered: