1 Star 0 Fork 1.2K

yinjake / LiteOS

forked from Huawei LiteOS / LiteOS 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
LiteOS_Build_and_IDE.md 13.64 KB
一键复制 编辑 原始数据 按行查看 历史
hy 提交于 2021-02-07 11:03 . update doc/LiteOS_Build_and_IDE.md.

Huawei LiteOS 编译和开发工具

目 录

编译框架简介

Huawei LiteOS使用Kconfig文件配置系统,基于GCC/Makefile实现组件化编译。

不论是Linux下使用make menuconfig命令配置系统,还是Windows下使用Huawei LiteOS Studio进行图形化配置,Huawei LiteOS都会同时解析、展示根目录下的.config文件和tools/menuconfig/config.in文件(该文件包含了各个模块的Kconfig文件),同时在开发板的include文件夹下生成menuconfig.h。config.in文件由Kconfig语言(一种菜单配置语言)编写而成。config.in文件决定了要展示的配置项,.config文件决定了各个配置项的默认值。

Huawei LiteOS通过在根目录下执行make命令完成自动化编译整个工程。对于根目录下的Makefile文件,其中包含了config.mk,config.mk又包含了los_config.mk,而los_config.mk则包含了各个模块的Makefile和.config文件,从而定义了对整个工程的编译链接规则。

Huawei LiteOS目前支持Windows及Linux平台的配置&编译。

  • 对于Windows平台,提供了Huawei LiteOS Studio图形化IDE,用户可直接在 Studio上完成配置&编译。
  • 对于Linux平台,通过menuconfig进行组件化配置及裁剪后,执行make命令完成编译。

Huawei LiteOS开发工具介绍

Huawei LiteOS Studio是Huawei LiteOS提供的一款Windows下的图形化开发工具。它以Visual Studio Code的社区开源代码为基础,根据C语言编程特点、Huawei LiteOS嵌入式系统软件的业务场景开发的工具。它提供了代码编辑、组件配置、编译、烧录、调试等功能,可以对系统关键数据进行实时跟踪、保存与回放。关于这款工具的详细使用介绍,请访问LiteOS Studio官方网站

Linux下配置工具的使用

在Huawei_LiteOS根目录下执行make menuconfig命令会展示图形化配置界面,用户可以根据需要自行裁剪模块或者修改设置。执行完保存菜单退出,该命令会更新根目录下.config文件。

menuconfig的使用方式,主要包括:

  • 上下键:选择不同的行,即移动到不同的选项上。
  • 空格键/回车:用于开启或关闭选项。
    1. 开启选项:对应的选项前面会显示“ [ * ]“,括号里面有一个星号,表示已经开启该选项。
    2. 关闭选项:对应的选项前面只显示中括号“[ ]”, 括号里面是空。
    3. 如果选项后面有三个短横线加上一个右箭头,即--->,表示此项下面还有子选项,输入空格键/回车后可以进入子菜单。
  • ESC键:返回上一级菜单,或退出menuconfig并提示保存。
  • 问号? :展示配置项的帮助信息。
  • 斜线/ : 进入搜索配置项界面,支持配置项的搜索。
  • 字母F:进入帮助模式,在界面下方会显示配置项的帮助信息,再次输入字母F可以退出此模式。
  • 字母C:进入name模式,在此模式下,会显示配置项对应的宏定义开关,再次输入字母C可以退出此模式。
  • 字母A:进入all模式,在此模式下,会展开显示菜单中的所有子选项,再次输入字母A可以退出此模式。
  • 字母S : 保存配置项。
  • 字母Q:退出menuconfig并提示保存。

说明:

  • 以上字母,不区分大小写。
  • 可以通过斜线/进入搜索界面,在输入栏中输入要搜索的配置项宏定义,例如搜索“LOSCFG_BASE_IPC_SEM”,输入该宏定义后,会自动联系出匹配到此关键字的配置项,选中所需要的配置项,按回车键即可进入。

Linux下的编译

搭建Linux编译环境

软件要求

  • Ubuntu Version 14.04及以上版本,作为编译Huawei LiteOS的服务器。
  • GNU Arm Embedded Toolchain编译器,用于代码编译。
  • GNU Make构建器,用于文件组织与链接。
  • python 2.7/3.2+,pip包管理工具,kconfiglib库,用于编译前通过图形化界面完成配置。

安装编译器&构建器

  • 安装GNU Arm Embedded Toolchain编译器。

    1. 下载编译器。

    2. 解压编译器。

      可以参考如下命令完成解压,将压缩包名替换为实际下载的软件包名:

      tar -xvf gcc-arm-none-eabi-9-2019-q4-major-x86_64-linux.tar.bz2

      解压后可以得到文件夹gcc-arm-none-eabi-9-2019-q4-major。

    3. 添加编译器的执行路径到环境变量。

      以第二步解压的编译器为例,将gcc-arm-none-eabi-9-2019-q4-major/bin目录添加到环境变量中,可以编辑~/.bashrc文件,参考如下方法设置PATH环境变量:

      export PATH=$PATH:YOUR_PATH/gcc-arm-none-eabi-9-2019-q4-major/bin/

      然后执行以下命令使新设置的环境变量立即生效:

      source ~/.bashrc
  • 升级GNU Make构建器到最新版。

    1. 通过官网下载最新Make构建器

    2. 参考如下命令完成解压,将压缩包名替换为实际下载的软件包名:

      tar -xf make-4.3.tar.gz
    3. 检查依赖。

      解压后进入到目录中,执行./configure命令以检查编译与安装Make构建器所需的依赖:

      cd make-4.3
      ./configure

      如果没有报错就继续下一步操作,如果存在报错就根据提示安装依赖。

    4. 编译&安装Make。

      继续在当前目录下,参考如下命令完成Make构建器的编译与安装:

      sh build.sh
      sudo make
      sudo make install

安装图形化配置解析工具

  • 安装python 2.7/3.2+。

    下面以python3.8为例介绍安装方法。

    • 命令行方式安装:

      sudo apt-get install python3.8
    • 源码包编译安装:

      1. 通过官网下载python源码包

      2. 解压源码包。

        参考如下命令完成解压,将压缩包名替换为实际下载的源码包名:

        tar -xf Python-3.8.5.tgz
      3. 检查依赖。

        解压后进入到目录中,执行./configure命令以检查编译与安装python所需的依赖:

        cd Python-3.8.5
        ./configure

        如果没有报错就继续下一步操作,如果存在报错就根据提示安装依赖。

      4. 编译&安装python。

        sudo make
        sudo make install
      5. 检查python版本并正确链接python命令。

        python --version

        如果显示的不是刚刚安装的python版本,则需要执行以下命令来正确链接python命令。

        a. 获取python目录,例如对于python 3.8.5,执行如下命令。

        ```
        which python3.8
        ```

        b. 链接python命令到刚刚安装的python包。

        将以下命令中的 "python3.8-path" 替换为 "which python3.8" 命令执行后的回显路径:
        
        ```
        cd /usr/bin && sudo rm python && sudo ln -s "python3.8-path" python
        ```

        c. 再次检查python版本。

        ```
        python --version
        ```
  • 安装pip包管理工具。

    如果pip命令不存在,可以下载pip源码包进行安装。pip依赖setuptools,如果setuptools不存在,也需要安装。

    • 命令行方式安装:

      sudo apt-get install python3-setuptools python3-pip -y
      sudo pip3 install --upgrade pip
    • 源码包方式安装:

      1. 安装setuptools。

        点击setuptools源代码包下载地址,可以参考下面的命令进行安装:

        sudo unzip setuptools-50.3.2.zip
        cd setuptools
        sudo python setup.py install

        须知: setuptools最新版本不支持python 2.7,如果使用python 2.7,请下载setuptools 45.0.0版本以支持python 2.7。

      2. 安装pip。

        点击pip源代码包下载地址,可以参考下面的命令进行安装:

        sudo tar -xf pip-20.2.4.tar.gz
        cd pip-20.2.4
        sudo python setup.py install
  • 安装kconfiglib库。

    • 对于服务器可以联网的情况。

      可以直接使用如下命令安装kconfiglib:

      sudo pip install kconfiglib
    • 对于服务器不能联网的情况。

      可以采用离线的方式安装。首先在其他能联网的环境上下载kconfiglib,可以下载kconfiglib的wheel文件kconfiglib-14.1.0-py2.py3-none-any.whl或源代码文件kconfiglib-14.1.0.tar.gz,这里以14.1.0版本为例。

      a. wheel文件的安装,可以参考如下命令:

      ```
      sudo pip install kconfiglib-14.1.0-py2.py3-none-any.whl
      ```

      b. 源代码文件的安装,可以参考如下命令:

      ```
      sudo tar -zxvf kconfiglib-14.1.0.tar.gz
      cd kconfiglib-14.1.0
      sudo python setup.py install
      ```

Linux下编译流程

参照搭建Linux编译环境完成环境搭建后,即可按以下步骤完成编译。

  1. 下载Huawei LiteOS代码。

    请下载完整的Huawei LiteOS代码,代码仓在gitee上,请选择master分支进行下载:LiteOS代码仓

  2. 拷贝开发板配置文件为根目录.config文件。

    根据实际使用的开发板,拷贝tools/build/config/目录下的默认配置文件${platform}.config到根目录,并重命名为.config。

  3. 配置系统(可选)。

    如果不希望使用系统的默认配置,可以在Huawei_LiteOS根目录下执行make menuconfig命令,在图形化配置界面中自行裁剪模块或修改配置。修改完保存菜单退出,其修改默认会保存到根目录下.config文件中。

  4. 清理工程。

    在编译前,先在Huawei_LiteOS根目录下执行make clean命令删除以前编译出的二进制文件。

  5. 编译工程。

    在Huawei_LiteOS根目录下执行make命令即可完成工程编译,编译结果会在屏幕上输出。

    以Cloud_STM32F429IGTx_FIRE为例,生成的系统镜像文件、反汇编等文件保存在out/Cloud_STM32F429IGTx_FIRE目录中,库文件在out/Cloud_STM32F429IGTx_FIRE/lib目录中,中间文件在out/Cloud_STM32F429IGTx_FIRE/obj目录中。

说明: 如果只编译某个模块,而不是整个工程代码,在完成该模块的配置后,参考如下步骤完成编译。

  1. 导出LITEOSTOPDIR环境变量。 LITEOSTOPDIR变量表示Huawei LiteOS代码的保存路径,例如代码路径为“/usr1/mypc/Huawei_LiteOS”,则执行如下命令:
export LITEOSTOPDIR=/usr1/mypc/Huawei_LiteOS
  1. 编译模块。 进入要编译的模块目录,执行make命令。

Windows下的编译

搭建Windows编译环境

Windows下的编译可以使用Huawei LiteOS Studio图形化IDE。

  1. 下载Huawei LiteOS Studio。

    访问Huawei LiteOS Studio下载链接获取最新发行版。

  2. 搭建Huawei LiteOS Studio开发环境。

    参考Huawei LiteOS Studio安装指南,完成开发环境的搭建。

Windows下编译流程

参考Huawei LiteOS Studio使用入门,完成Huawei LiteOS工程编译。IDE中各个界面介绍可以参考HUAWEI LiteOS Studio界面介绍

马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/yinjake/LiteOS.git
git@gitee.com:yinjake/LiteOS.git
yinjake
LiteOS
LiteOS
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891