美文网首页
RTthread RTOS 使用 Env 开发

RTthread RTOS 使用 Env 开发

作者: wjundong | 来源:发表于2022-04-11 23:32 被阅读0次

RTthread 开发支持裸机移植, Env 工具移植, 和 RTThread Studio 直接开发。一般裸机移植只适用于 RTthread Nano, 因为 Nano 不需要各种组件包, 很简洁适用于系统资源十分有限的MCU中, 但这样就发挥不了 RTthread 组件生态的好处了, 通过 Env 工具和 RTThread Studio 开发可以直接获取网络的官方或第三方成熟的组件, 加快开发流程。下面将主要讨论使用 Env 工具开发的基本流程。

准备工作

官网下载:

  • RTthread 标准版源码
  • Env 工具

Env 工具使用

参考官方使用介绍

安装完成后打开 env.exe, 为了能随时随地打开env.exe方便使用, 将工具添加到注册表(标题栏右击->Settings->Integration->Register)

Env 中携带了 Python & scons 以及 gcc 工具链, 安装完就可以直接编译.

  • 编译 BSP
    在源码的 bsp 目录找到适合自己板子的工程模板, 在模板目录下打开 env.exe 输入 scons 即可开始编译当前板子的工程代码.

  • 生成工程文件
    如果使用 mdk/iar 来进行项目开发, 可以直接使用 BSP 中的工程文件或者使用以下命令中的其中一种,重新生成工程.

    scons --target=iar
    scons --target=mdk4
    scons --target=mdk5
    
  • BSP 配置
    输入 menuconfig 进行配置, 配置完后后自动生成 rtconfig.h 文件。此时再次使用 scons 命令就会根据新的 rtconfig.h 文件重新编译工程了

  • pkg 包管理器(官方包地址)
    package 工具作为 Env 的组成部分,为开发者提供了软件包的下载、更新、删除等管理功能.

    在命令行输入 pkg, 可看到包管理器支持的功能.

    • 下载、更新、删除软件包
      在下载、更新软件包前,需要先在 menuconfig 中 开启 你想要操作的软件包, 这些软件包位于 RT-Thread online packages 菜单下. 找到你需要的软件包然后选中开启,保存并退出 menuconfig 。此时软件包已被标记选中,但是还没有下载到本地,所以还无法使用。
      • 下载 :如果软件包在本地已被选中,但是未下载,此时输入:pkgs --update ,该软件包自动下载;
      • 更新 :如果选中的软件包在服务器端有更新,并且版本号选择的是 latest 。此时输入: pkgs --update ,该软件包将会在本地进行更新;
      • 删除 :某个软件包如果无需使用,需要先在 menuconfig 中取消其的选中状态,然后再执行: pkgs --update 。此时本地已下载但未被选中的软件包将会被删除。
    • 升级本地软件包信息
      随着 package 系统的不断壮大,会有越来越多的软件包加入进来,所以本地看到 menuconfig 中的软件包列表可能会与服务器 不同步 。使用 pkgs --upgrade 命令即可解决该问题,这个命令不仅会对本地的包信息进行更新同步,还会对 Env 的功能脚本进行升级,建议定期使用。
  • Scons 更多使用内容
    参考官方说明

    • SCons 基本功能
      RT-Thread 构建系统支持多种编译器, 可以阅读该 BSP 目录下的 rtconfig.py 里的 CROSS_TOOL 选项查看当前支持的编译器。
      scons --target=mdk5     # 生成 mdk5 的工程
      scons -c                # 清除构建内容
      scons -s                # 不输出内部命令信息, 可以连着用比如 scons --target=mdk5 -s
      scons -jN               # 多线程编译
      scons --dist            # 输出BSP相关工程, 所有 bsp 相关源码都拷贝到 dist 目录下
      scons --verbose         # 显示编译参数
      

      注:要生成 MDK 或者 IAR 的工程文件,前提条件是 BSP 目录存在一个工程模版文件,然后 scons 才会根据这份模版文件加入相关的源码,头文件搜索路径,编译参数,链接参数等。而至于这个工程是针对哪颗芯片的,则直接由这份工程模版文件指定。所以大多数情况下,这个模版文件是一份空的工程文件,用于辅助 SCons 生成 project.uvprojx 或者 project.eww。

相关文章

网友评论

      本文标题:RTthread RTOS 使用 Env 开发

      本文链接:https://www.haomeiwen.com/subject/uixgsrtx.html