一.准备开发环境

硬件需求

开发工作站应当满足如下硬件需求:

  • 64 位 x86 系统

  • 至少 80 GB 用于下载和编译源码的剩余硬盘空间

  • 至少 16 GB RAM

操作系统需求

开发工作站需运行 64 位的 Ubuntu 22.04 Linux 发行版。

说明

WSLDocker 环境均不支持。

操作步骤

步骤一 安装必备的软件包

使用 Ubuntu 22.04 版本编译 openvela。运行以下命令,在 Ubuntu 22.04 版本上安装必备的软件包:

 

sudo apt install \ bison flex gettext texinfo libncurses5-dev libncursesw5-dev xxd \ git gperf automake libtool build-essential gperf genromfs \ libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev \ libexpat1-dev gcc-multilib g++-multilib picocom u-boot-tools util-linux \ dfu-util libx11-dev libxext-dev net-tools pkgconf unionfs-fuse zlib1g-dev \ libusb-1.0-0-dev libv4l-dev libuv1-dev npm nodejs nasm yasm libdivsufsort-dev \ libc++-dev libc++abi-dev libprotobuf-dev protobuf-compiler protobuf-c-compiler mtools

 

步骤二 安装 Repo

运行以下命令安装 Repo 启动器:

 

curl https://storage.googleapis.com/git-repo-downloads/repo > repo chmod +x repo sudo mv repo /usr/local/bin/

 

Repo 启动器会提供一个 Python 脚本,该脚本可以初始化检出,并可以下载完整的 Repo 工具。

步骤三 安装 KConfig frontend

openvela 配置系统使用 KConfig ,作为 kconfig-frontends 软件包的一部分,KConfig 通过一系列基于交互式菜单的前端对系统进行配置。使用软件包还是从源码构建取决于当前的操作系统,源码地址位于 NuttX tools repository

 

sudo apt install kconfig-frontends

 

步骤四 安装 Python

 

sudo apt install python3 python3-pip python-is-python3

步骤五 安装 Python 包

 

sudo pip3 install kconfiglib pyelftools cxxfilt

 

 

 

二.下载 openvela 源码

openvela 源码位于由 GitHubGiteeGitCode 托管的 Git 仓库中。

步骤一 初始化 Repo 客户端

  1. 创建并导航到工作目录:

 

mkdir vela-opensource cd vela-opensource

  1.  
  2. 初始化用于操作源码的工作目录:

     

    repo init --partial-clone -u git@github.com:open-vela/manifests.git -b dev -m openvela.xml --git-lfs # Install Git LFS (Large File Storage) for managing large filessudo apt install git-lfs cd .repo/manifests git lfs install git lfs --version cd ../../

     

    repo init --partial-clone -u git@gitee.com:open-vela/manifests.git -b dev -m openvela.xml --git-lfs # Install Git LFS (Large File Storage) for managing large filessudo apt install git-lfs cd .repo/manifests git lfs install git lfs --version cd ../../

     

    repo init --partial-clone -u https://gitcode.com/open-vela/manifests.git -b dev -m openvela.xml --git-lfs --repo-url=https://mirrors.tuna.tsinghua.edu.cn/git/git-repo/ # Install Git LFS (Large File Storage) for managing large filessudo apt install git-lfs cd .repo/manifests git lfs install git lfs --version cd ../../

    1. Github(需注册公钥,请参考 Github 文档):

    2.  
    3. Gitee(需注册公钥,请参考码云文档):

    4.  
    5. GitCode(需注册公钥,请参考码云文档):

    6.  

步骤二 下载源码

运行如下命令下载 openvela 源码树至工作目录:

 

repo sync -c -j8

 

 

三.编译 openvela 源码

使用 build.sh 构建 openvela

在安装完 openvela 所需软件包及下载完 openvela 源码后,您可以将 openvela 源码编译成可以在开发板上运行的二进制文件。

初始化配置

第一步是基于已存在的配置为目标开发板初始化 openvela 配置。

通过将 vendor/<vendor name>/boards/<board name>/configs/<board configuration> 作为参数传递给 build.sh 选择配置。

 

./build.sh vendor/openvela/boards/vela/configs/goldfish-armeabi-v7a-ap -j8

四.在模拟器上运行编译产物

概述

模拟器可在计算机上模拟 openvela 设备,供开发者在各种设备上测试应用程序和驱动程序,而无需拥有实体设备。

模拟器基于 Android 模拟器进行了改进和增强。

具备以下优势:

  • 用于加载并运行 openvela 镜像的专属运行模式,能够跳过针对 Android 的特殊操作

  • 在 openvela 模式加载 openvela 自有内核

  • 在 openvela 模式加载 openvela 自有系统分区

  • 为 GNSS 仿真器提供 NMEA 校验支持

支持下列 Host:

  • Linux x86_64

  • Linux arm64

  • macOS x86_64

  • macOS aarch64

  • Windows x64

支持下列 Target:

  • arm

  • arm64

  • x86

  • x86_64

已经在 openvela 中实现了下列 goldfish 专有驱动程序:

  • Qemu Pipe

  • ADB

  • Battery

  • Camera

  • GNSS

  • Graphic

  • Sensors

运行模拟器

  1. 切换到 openvela 仓库根目录下,通过传递 vela 选项至 emulator.sh 来启动一个模拟器实例。

 

./emulator.sh vela

  1.  
  2. 启动进入 nsh 后,在 openvela-ap> 内运行如下命令:

 

lvgldemo &

自此环境配置结束

 

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐