当前位置: 首页 > news >正文

【智路】智路OS air-edge 开发者手册 功能概述

功能概述

https://airos-edge.readthedocs.io/zh/latest/airospkg/airospkg.html

智路OS包支持部署在智路OS开源版本和智路OS发行版。

智路OS发行版(airos distribution)是基于智路OS的商业化版本。包括智路OS内核层、系统工具、库、软件包管理系统等的集合,符合智路OS接口标准。

airospkg是一个命令行工具,预置在集成开发环境中,提供模板创建、编译、发布、安装、运行、删除 等功能。

airospkg提供了便捷的组件开发能力,让开发者只关注需要开发的模块,而不需要了解整个智路OS源码,提高开发效率。

工具使用方式如下所示:
在这里插入图片描述

创建: create

详细参数

创建的模板类型包括:

使用airospkg create可以创建一个组件包模板工程,以应用为例,创建命令为:

airospkg create -name test_app -type app

创建的包会默认放置在/home/airos/proj目录,创建的模板包含以下文件:

|-- .bazelrc              # Bazel默认构建参数
|-- .bazelversion         # 配置bazel的版本,默认5.0.0
|-- BUILD                 # Bazel的构建脚本
|-- CMakeLists.txt        # CMake构建脚本
|-- WORKSPACE             # Bazel工作空间标识
|-- conf                  # 配置目录
|   `-- app_lib_cfg.pb    # 框架加载配置
|-- example_app.cc        # 默认源文件
|-- example_app.h         # 默认头文件
|-- lib                   # 智路OS-SDK和第三方库之外的依赖库
`-- version.txt           # 包版本

编译: make

详细参数

工具支持CMake和Bazel编译,并且在创建时提供了基础的模板,可以在模板基础上修改或者增加。

以CMake为例:开发完成后可以调用以下命令进行编译:

airospkg make -type cmake     # 在包内运行
airospkg make -name test_app -type cmake    # 任意目录运行,确保包在/home/airos/projs下

注意:需要将智路OS-SDK和第三方库之外的依赖库放置到包目录下的lib文件夹中,避免发布或者安装包后,运行出现找不到依赖库的情况。

发布: release

详细参数

编译完成后,可以使用airospkg release将包的产出进行打包发布,从而可以安装到本地,或者发布给其他使用者安装到具备智路OS的机器上。

以test_app为例:

airospkg release  # 在包内运行
airospkg release -name test_app -out app.tar.gz  # 任意目录运行,确保包在/home/airos/projs下

结束后会在包内生成产出包app.tar.gz

安装: install

详细参数

SDK镜像支持本地安装并运行,默认安装目录为:

  • 应用:/home/airos/os/app/lib
  • 设备接入:/home/airos/os/device/lib
  • 服务:/home/airos/os/modules/lib

以test_app为例:

airospkg install -file /home/airos/projs/test_app/app.tar.gz

应用包会被安装在/home/airos/os/app/lib/test_app下。

运行: run

详细参数

SDK镜像支持本地运行测试

以test_app为例:

airospkg run app

智路OS框架会加载并且运行test_app包,可以根据输出或者日志确认是否正常运行。

如果运行错误,请根据以下提示进行排查:

  • 提示缺少库,确认打包时所有依赖已经放在lib文件夹
  • 缺少符号,确认编译方式是否正确,运行日志存放在/home/airos/log文件夹
  • 缺少cuda,确认环境准备是否正常

删除: remove

详细参数

airospkg remove -name test_app

删除应用的安装包


http://www.mrgr.cn/news/27799.html

相关文章:

  • 算法复杂度——大O表示法
  • 使用Fabric来实现远程服务器管理与自动化
  • 安全见闻1-5
  • Android ART知多少?
  • MacOS编译hello_xr——记一次CMake搜索路径限制导致的ANDROID_NATIVE_APP_GLUE not found
  • 【JavaScript】LeetCode:96-100
  • 人脸防伪检测系统源码分享
  • USB组合设备——串口+鼠标+键盘
  • web安卓逆向之必学CSS基础知识
  • 笔试强训day13
  • CentO S入门必备基础知识
  • Linux07
  • 数据结构-树(基础,分类,遍历)
  • 【STM32】DAC数字模拟转换
  • Oracle从入门到放弃
  • Spring Boot集成Akka Cluster快速入门Demo
  • C语言指针和数组梳理
  • 基于双向RRT算法的三维空间最优路线规划matlab仿真
  • 北极星计划的回响:从Leap Motion到Midjourney的AI 3D硬件梦想
  • 数据库DDL语句
  • 讨论人机交互研究中大语言模型的整合与伦理问题
  • 算子加速(3):自定义cuda扩展
  • 新160个crackme - 057-bbbs-crackme04
  • 6. Transforms的使用(一)--ToTensor()
  • 长业务事务的离线并发问题
  • RK3568平台(音频篇)Tinyalsa open调用流程