LaterComer
LaterComer
可以参考下:https://github.com/RT-Thread/rt-thread/issues/9141
> > 目前env版本针对不同的rtt版本支持情况有些残次不齐。 > > master版本只支持最新版本的[env master](https://github.com/RT-Thread/env/tree/master),且建议使用[install_ubuntu.sh](https://github.com/RT-Thread/env/blob/master/install_ubuntu.sh)进行安装,否则需要手动安装pip install kconfiglib。其他版本建议使用老版本[env v1.5.x](https://github.com/RT-Thread/env/tree/v1.5.x) > > 因为master版本将原来老的kconfig-backend升级为python版本的kconfiglib,也就是说如果您使用老的env开发master必须手动安装kconfiglib。如果您使用老版本的env开发老版本的rtt,那么必须uninstall kconfiglib,否则会冲突 > > 我主要在 linux/ubuntu 环境下工作(指开发 RTT),好像从来没用过 env 哎,我一直以为 env 是针对 windows 环境下的用户的呢。 Ubuntu下工作,scons --menuconfig这个命令在rtt之前的老版本上是调用了kconfig-backend,但是在rtt master更换为python kconfiglib,但是由于老版本的rtt在tools目录下存在一些跟kconfiglib重名的python文件,因此如果开发老版本rtt那么必须uninstall...
是这样的情况,在rtt v5.1.0和之前的版本 - `scons --menuconfig`只能linux下使用,windows下是不能使用的,linux下运行`scons --menuconfig`先自动编译`tools\kconfig-backend`,然后os.system调用执行 - windows是通过env-windows定制的一个menuconfig.exe(本质是调用kconfig-backend的windows版本),因此windows用户基本上只是知道`menuconfig.exe`不知道`scons --menuconfig` - 由于rt-thread/tools目录下有部分文件名和python kconfiglib重名,因此rt-thread v5.1.0之前版本跟kconfiglib冲突,想要执行scons --menuconfig必须卸载`pip uninstall kconfiglib` - 由于历史遗留原因`scons --menuconfig`在linux环境下的确会下载env但是并不会安装依赖项(比如kconfiglib),且下载的是最新版本的env master,这个是有问题,rtt master会尽快修复 在的rt-thread master版本上,我们采用python kconfiglib替换了kconfig-backend: - 统一了windows和linux的习惯,也就是都可以使用`scons --menuconfig`和`menuconfig` - env master也同步修改,并推荐install_ubuntu.sh方式安装,这种方式安装会自动安装所有的pip依赖项(比如scons、kconfiglib等),启动env的时候会自动创建venv虚拟环境,并pip...
> @Later-Comer 既然如此,是否可以把 scons --menuconfig 重定向到 env 呢?或者执行 scons --menuconfig 出错时丢一些有效的提示信息。否则使用者很容易困惑。 现在比较奇葩的是,scons --menuconfig是直接调用kconfiglib库,而env提供了一个定制的menuconfig(遗传自env-windows),他本质是将scons --menuconfig的功能复制了一次 其实我更倾向rtt的所有操作全面使用 scons --xxx的方式
> 看上去 env 是另一个配置的入口。那原先的 scons 的那套入口 (--menuconfig )怎么和新的 env 入口融合起来感觉现在还做的有问题。 > > 特别是我原先只知道 scons 那套命令,现在又要学习 env 的命令,这个过度有什么好办法吗? > > 其实我觉得最好只保留 scons 的入口,保持原有习惯不好吗?为啥有了 scons --menuconfig 还要有一个 Env 的 menuconfig。 我完全同意所有rtt才做都采用scons --xx这样的入口,由于env-win遗留menuconfig入口,master版本同时保留了env的menuconfig和scons...
> 如果是`scons --xx`的方式,也可以是完全集成到`rt-thread/tools`下了。但又希望后续env可以集成到不同的IDE里,所以两难了 其实scons --menuconfig可以完全调用env下的py脚本,其中env是通用功能,但是scons --menuconfig是从tools/building.py启动,这样可以兼容env的通用,同时还是在building.py里面定制rtt版本特有的功能,比如环境变量、rtt路径等。
RS485只是硬件电平,跟软件没有关系吧
> 这个能根据版本号给出警告吗 只有版本号不满足要求的时候才会给出警告 https://github.com/RT-Thread/rt-thread/blob/master/src/Kconfig#L478 是可以的,但是需要rt-thread的路径,由于使用kconfiglib之后,用户可能不会再bsp/Kconfig写RTT_DIR这个变量,而是直接orsouce ../../../rt-thread,那么env很难知道rt-thread的位置

会将ms转为tick,最终延时是tick