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

rk3568build-linux.sh解析

build-linux.sh解析

  • 前言
  • 解析


前言

正点原子rk3568学习笔记,rk官方RKNN_MODEL_ZOO文件中的build-linux.sh脚本解析

执行命令:./build-linux.sh -t rk3568 -a aarch64 -d mobilenet

解析

#!/bin/bash

指定脚本的解释器为/bin/bash,即使用Bash shell来执行此脚本。

set -e

如果脚本中的任何命令执行失败(返回非零退出状态),则立即退出脚本执行。这有助于捕获错误。

echo “$0 $@”

$ 0是脚本的名称,$ @是所有传递给脚本的参数。这行命令会打印出脚本名称及其接收到的所有参数。

while getopts ":t:a:d:b:m:r:j" opt; docase $opt int)TARGET_SOC=$OPTARG;;a)TARGET_ARCH=$OPTARG;;b)BUILD_TYPE=$OPTARG;;m)ENABLE_ASAN=ONexport ENABLE_ASAN=TRUE;;d)BUILD_DEMO_NAME=$OPTARG;;r)DISABLE_RGA=ON;;j)DISABLE_LIBJPEG=ON;;:)echo "Option -$OPTARG requires an argument." exit 1;;?)echo "Invalid option: -$OPTARG index:$OPTIND";;esac
done

使用getopts命令解析命令行选项,类似与for和switch case。脚本支持的选项包括-t(目标SOC),-a(目标架构),-d(构建演示名称),-b(构建类型),-m(启用ASAN),-r(禁用RGA),-j(禁用libjpeg)。根据选项的不同,设置相应的变量。
TARGET_SOC = rk3568
TARGET_ARCH = aarch64
BUILD_DEMO_NAME = mobilenet

if [ -z ${TARGET_SOC} ] || [ -z ${BUILD_DEMO_NAME} ]; thenecho "$0 -t <target> -a <arch> -d <build_demo_name> [-b <build_type>] [-m] [-r] [-j]"echo ""echo "    -t : target (rk356x/rk3588/rk3576/rv1106/rk1808/rv1126)"echo "    -a : arch (aarch64/armhf)"echo "    -d : demo name"echo "    -b : build_type(Debug/Release)"echo "    -m : enable address sanitizer, build_type need set to Debug"echo "    -r : disable rga, use cpu resize image"echo "    -j : disable libjpeg to avoid conflicts between libjpeg and opencv"echo "such as: $0 -t rk3588 -a aarch64 -d mobilenet"echo "Note: 'rk356x' represents rk3562/rk3566/rk3568, 'rv1106' represents rv1103/rv1106, 'rv1126' represents rv1109/rv1126"echo "Note: 'disable rga option is invalid for rv1103/rv1103b/rv1106"echo "Note: 'if you want to use opencv to read or save jpg files, use the '-j' option to disa

文章转载自:
http://buntons.wjrtg.cn
http://batta.wjrtg.cn
http://ascendent.wjrtg.cn
http://blowhole.wjrtg.cn
http://bather.wjrtg.cn
http://camorrista.wjrtg.cn
http://bovver.wjrtg.cn
http://awag.wjrtg.cn
http://bacterioid.wjrtg.cn
http://chromonema.wjrtg.cn
http://bifurcated.wjrtg.cn
http://baccy.wjrtg.cn
http://aboveboard.wjrtg.cn
http://anhematopoiesis.wjrtg.cn
http://antevert.wjrtg.cn
http://aye.wjrtg.cn
http://benignity.wjrtg.cn
http://chiromancer.wjrtg.cn
http://brocket.wjrtg.cn
http://array.wjrtg.cn
http://bathetic.wjrtg.cn
http://acyclic.wjrtg.cn
http://cameleer.wjrtg.cn
http://antediluvian.wjrtg.cn
http://boutonniere.wjrtg.cn
http://carotene.wjrtg.cn
http://aerotow.wjrtg.cn
http://areocentric.wjrtg.cn
http://autocephalous.wjrtg.cn
http://bouzoukia.wjrtg.cn
http://www.dtcms.com/a/145503.html

相关文章:

  • 项目二 - 任务7:统计一组学生成绩
  • 【计量地理学】实验七 多种地统计方法的插值比较
  • Cribl 对Windows-xml log 进行 -Serialize-05
  • 王博:影视领域的多元创作先锋,以卓越才华开启新篇章
  • 如何编写JavaScript插件
  • MySQL-锁机制3-意向共享锁与意向排它锁、死锁
  • 从入门到精通汇编语言 第六章(中断及外部设备操作)
  • ONLYOFFICE深度解锁系列.3-OnlyOffice集成第三方软件原理揭秘:如何提高文件打开速度
  • 器件(七)—MOS管选型及驱动电路设计
  • 动态规划入门:背包问题求具体方案(以0-1背包问题为例)
  • 免费图片软件,可矫正倾斜、调整去底效果
  • 【二叉树专题】一道深入浅出的 DFS 题:求二叉树的直径(含通俗易懂讲解)
  • 精准分割 - 深入解析 Kubernetes 中的 NVIDIA Multi-Instance GPU (MIG)
  • JavaScript 笔记 --- part 4 --- Web API (part 2)
  • 自定义请求头导致跨域的解决办法
  • AI日报 - 2025年04月20日
  • 每天学一个 Linux 命令(26):less
  • 从入门到精通汇编语言 第五章(流程转移与子程序)
  • 源道-做股票应该从传统的技术图形转向行业规律思考
  • C++(23)—模板初阶
  • java面试篇(常见的集合底层原理)
  • AI大模型之模型幻觉
  • Redis——通信协议
  • 【大模型】单选数据集制作举例
  • Java技术栈 —— 网络带宽受限,图片预览加速
  • 5.4.1 Password控件的Password属性绑定问题
  • 06 GE Modifier
  • 【AI论文】对人工智能生成文本的稳健和细粒度检测
  • 性价比超高的 英伟达Tesla T4卡 如何解决散热问题?
  • Ubuntu 22.04 更换 Nvidia 显卡后启动无法进入桌面问题的解决