当前位置: 首页 > 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

相关文章:

  • 项目二 - 任务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)—模板初阶
  • 今年一季度,上海对东盟进出口总值同比增长7.1%
  • 占比超1/3,江苏何以连续多年霸榜“千亿县”?
  • 特朗普就防卫负担施压日本,石破茂:防卫费应由我们自主决定
  • 央视网评论员:婚约不是性许可——山西订婚强奸案背后的性教育盲区
  • 旧电梯换新如何分摊费用?低楼层可以不出钱吗?上海闵行举办讨论会
  • 文理医工“四轮驱动”,复旦六大新工科创新学院核心团队均亮相