20230413在CV1826平台配置开机自启动程序

news2024/10/6 20:40:36

20230413在CV1826平台配置开机自启动程序
2023/4/13 10:51


1、项目需求:硬件需要测量摄像头开机之后的电压/时钟信号,但是不想每次开机的时候都通过adb连接cv1826来开启摄像头。
C:\Users\Sun>adb shell
/ #
/ # cd /mnt/
/mnt #
/mnt # ls -l
total 28816
drwxr-xr-x    3 root     root          4096 Jan  1 00:01 data
drwx------    2 root     root          4096 Jan  1 00:00 lost+found
-rw-rw-rw-    1 root     root      24250004 Apr 11  2023 sample_vio
-rw-rw-r--    1 root     root       5242880 Apr 11  2023 secure.img
drwxrwxr-x    2 root     root          4096 Apr 11  2023 tmp_secure
/mnt # chmod 777 sample_vio
/mnt #
/mnt # ./sample_vio 0

 

 


2、很容易知道:/etc/init.d/rcS脚本会在开机的时候递归执行以大S开头的全部脚本。
Microsoft Windows [版本 10.0.19045.2728]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Sun>adb shell
/ #
/ # cd /etc/init.d/
/etc/init.d #
/etc/init.d # ls -l
total 21
-rwxr-xr-x    1 root     root          1630 Mar 28  2023 S01panel
-rwxr-xr-x    1 root     root          1012 Apr 13  2023 S01syslogd
-rwxr-xr-x    1 root     root          1004 Apr 13  2023 S02klogd
-rwxr-xr-x    1 root     root          2804 Apr 13  2023 S02sysctl
-rwxr-xr-x    1 root     root           843 Apr 13  2023 S10auto_mount
-rwxr-xr-x    1 root     root          1594 Apr 13  2023 S10udev
-rwxr-xr-x    1 root     root          1684 Apr 13  2023 S20urandom
-rwxr-xr-x    1 root     root          1619 Apr 13  2023 S30dbus
-rwxr-xr-x    1 root     root          1001 Apr 13  2023 S40bluetooth
-rwxr-xr-x    1 root     root           438 Apr 13  2023 S40network
-rwxr-xr-x    1 root     root           452 Mar 28  2023 S98wlan
-rwxr-xr-x    1 root     root           563 Mar 28  2023 S99adbd
-rwxr-xr-x    1 root     root           578 Mar 28  2023 S99mcu
-rwxr-xr-x    1 root     root           423 Apr 13  2023 rcK
-rwxr-xr-x    1 root     root           408 Apr 13  2023 rcS
/etc/init.d #
/etc/init.d # cat rcS
#!/bin/sh


# Start all init scripts in /etc/init.d
# executing them in numerical order.
#
for i in /etc/init.d/S??* ;do

     # Ignore dangling symlinks (if any).
     [ ! -f "$i" ] && continue

     case "$i" in
        *.sh)
            # Source shell script for speed.
            (
                trap - INT QUIT TSTP
                set start
                . $i
            )
            ;;
        *)
            # No sh extension, so fork subprocess.
            $i start
            ;;
    esac
done

/etc/init.d #

 


3、在S99mcu中加入启动摄像头:
Microsoft Windows [版本 10.0.19045.2728]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Sun>adb shell
/ #
/ #
/ # cd /etc/init.d/
/etc/init.d #
/etc/init.d # ls -l
total 21
-rwxr-xr-x    1 root     root          1630 Mar 28  2023 S01panel
-rwxr-xr-x    1 root     root          1012 Apr 13  2023 S01syslogd
-rwxr-xr-x    1 root     root          1004 Apr 13  2023 S02klogd
-rwxr-xr-x    1 root     root          2804 Apr 13  2023 S02sysctl
-rwxr-xr-x    1 root     root           843 Apr 13  2023 S10auto_mount
-rwxr-xr-x    1 root     root          1594 Apr 13  2023 S10udev
-rwxr-xr-x    1 root     root          1684 Apr 13  2023 S20urandom
-rwxr-xr-x    1 root     root          1619 Apr 13  2023 S30dbus
-rwxr-xr-x    1 root     root          1001 Apr 13  2023 S40bluetooth
-rwxr-xr-x    1 root     root           438 Apr 13  2023 S40network
-rwxr-xr-x    1 root     root           452 Mar 28  2023 S98wlan
-rwxr-xr-x    1 root     root           563 Mar 28  2023 S99adbd
-rwxr-xr-x    1 root     root           606 Jan  1 00:04 S99mcu
-rwxr-xr-x    1 root     root           423 Apr 13  2023 rcK
-rwxr-xr-x    1 root     root           408 Apr 13  2023 rcS
/etc/init.d #
/etc/init.d # cat S99mcu
#!/bin/sh

case "$1" in
  start)
    printf "Starting MCU: "
    /usr/bin/cvi_mv_fw;
    devmem 0x03000248 32 0x1;
    devmem 0x05025020 32 0xC01E02D;
    devmem 0x05025018 32 0x8107ffff;
    ## pmic suspend write sequence
    ##  (0x26, 0x1D);   ->      0x05026F04[31:16]
    ##  (0x80, 0x14);   ->      0x05026F04[15:0]
    ##  (0x90, 0x10);   ->      0x05026F08[31:16]
    ##  (0x91, 0x00);   ->      0x05026F08[15:0]
    devmem 0x05026F04 32 0x261D8014;
    devmem 0x05026F08 32 0x90109100;
    devmem 0x05026020 32 0x5;
    ;;
  stop)
    ;;
  *)
    echo "Usage: $0 {start|stop}"
    exit 1
esac

sleep 10
/mnt/sample_vio 0

exit $?/etc/init.d # reboot

 

 

 

 


4、确认sample_vio自启动了:
【实测:】30秒钟后,大概60秒钟/一分钟内,摄像头的AVDD/DVDD都有电压了!
Microsoft Windows [版本 10.0.19045.2728]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Sun>adb shell
/ # ps -e
PID   USER     COMMAND
    1 root     {linuxrc} init
    2 root     [kthreadd]
    3 root     [rcu_gp]
    4 root     [rcu_par_gp]
    5 root     [kworker/0:0-eve]
    6 root     [kworker/0:0H-mm]
    7 root     [kworker/u2:0-ev]
    8 root     [mm_percpu_wq]
    9 root     [ksoftirqd/0]
   10 root     [rcu_preempt]
   11 root     [rcu_sched]
   12 root     [rcu_bh]
   13 root     [migration/0]
   14 root     [cpuhp/0]
   15 root     [kdevtmpfs]
   16 root     [netns]
   17 root     [rcu_tasks_kthre]
   18 root     [kworker/0:1-eve]
   19 root     [oom_reaper]
   20 root     [writeback]
   21 root     [kcompactd0]
   22 root     [crypto]
   23 root     [kblockd]
   24 root     [watchdogd]
   25 root     [rpciod]
   26 root     [kworker/u3:0]
   27 root     [xprtiod]
   28 root     [cfg80211]
   29 root     [kswapd0]
   30 root     [nfsiod]
   58 root     [irq/178-axp2101]
   59 root     [irq/97-cviusb-o]
   60 root     [uas]
   61 root     [axp2101]
   62 root     [kworker/0:2]
   63 root     [kworker/0:3]
   64 root     [btfwwork]
   65 root     [irq/41-mmc0]
   66 root     [irq/42-mmc1]
   67 root     [ion_system_heap]
   68 root     [mmc_complete]
   69 root     [kworker/0:1H-mm]
   70 root     [ipv6_addrconf]
   71 root     [krfcommd]
   73 root     [kworker/u2:1-ev]
   78 root     [kworker/0:2H-mm]
   79 root     [jbd2/mmcblk0p5-]
   80 root     [ext4-rsv-conver]
   91 root     {rcS} /bin/sh /etc/init.d/rcS
  102 root     [cvitask_tpu_wor]
  119 root     /sbin/syslogd -n
  123 root     /sbin/klogd -n
  139 root     [jbd2/mmcblk0p7-]
  140 root     [ext4-rsv-conver]
  144 root     /sbin/udevd -d
  158 root     [kworker/0:3H-mm]
  170 root     [kworker/u2:2-ev]
  171 root     [kworker/u2:3]
  187 dbus     dbus-daemon --system
  192 root     /usr/libexec/bluetooth/bluetoothd -n
  267 root     [f_mtp]
  327 root     mtp-server
  331 root     /usr/bin//adbd
  333 root     {S99mcu} /bin/sh /etc/init.d/S99mcu start
  361 root     /bin/sh -
  367 root     /mnt/sample_vio 0
  369 root     [cvitask_isp_pre]
  370 root     [cvitask_isp_pos]
  371 root     [cvitask_isp_err]
  382 root     /bin/sh -
  384 root     /sbin/udevd -d
  385 root     ps -e
/ #

 


5、小瑕疵:
如果sample_vio在前台运行,执行reboot,cv1826不会重启。有两种解决方法:
(一)如果您的APP应用程序可以运行在后台,可以使用:
sleep 10
/mnt/sample_vio 0 &

(二)如果您的APP应用程序不能运行在后台,就kill掉之后再reboot
kill -9 367
kill -9 333

  333 root     {S99mcu} /bin/sh /etc/init.d/S99mcu start
  361 root     /bin/sh -
  367 root     /mnt/sample_vio 0

(三)万用解决方法:断电!(拔电池/或者重插TYPE-C接口^_)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/420392.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go 语言性能优化指南

编写高性能的 Go 程序~ 前言: 继上次课程的高质量编程内容讲解,本次课程主要介绍了在满足正确性、可靠性、健壮性、可读性等质量因素的前提下提高程序效率的性能优化建议;性能优化分析工具;以及性能调优的实战案例,分…

叶酸聚乙二醇羟基FA-PEG-OH;一文带你了解高分子试剂OH-PEG-Folate

FA-PEG-OH,叶酸-聚乙二醇-羟基 中文名称:叶酸聚乙二醇羟基 英文名称:FA-PEG-OH HO-PEG-FA Folate-PEG-OH 性状:黄色液体或固体,取决于分子量 溶剂:溶于水,DMSO、DMF等常规性有机溶剂 活性基…

城市地下综合管廊安全运营与智慧管控的分层架构研究

安科瑞 李亚俊 1、引言 1833年,市政管线综合管廊在巴黎城市地下建成至今,经过百年来的探索、研究、改良和实践,法国、英国、德国、俄罗斯、日本、美国等发达国家的管廊规划建设与安全运维体系已经日臻完善,截止目前,…

《花雕学AI》17:关注提示工程—本世纪最重要的技能可能就是与AI人工智能对话

本文目录与主要结构 引言:介绍提示工程的概念和背景,说明为什么它是本世纪最重要的技能之一。 正文: 一、提示工程的基本原理和方法:介绍什么是提示、如何设计和优化提示、如何使用提示与语言模型进行交互。 二、提示工程的应用和…

Direct3D 12——混合——混合

混合运算 typedef enum D3D12_BLEND_OP {D3D12_BLEND_OP_ADD 1, //添加源 1 和源 2。D3D12_BLEND_OP_SUBTRACT 2,//从源 2 中减去源 1。D3D12_BLEND_OP_REV_SUBTRACT 3,//从源 1 中减去源 2。D3D12_BLEND_OP_MIN 4,//查找源 1 和源 2 的最小值。D3D12_BLEND_OP_MAX 5//查…

【云原生|Docker】13-Docker-compose详解

【云原生Docker】13-Docker-compose详解 文章目录【云原生Docker】13-Docker-compose详解前言docker-compose简介docker-compose安装docker-compose基本示例Docker Compose常用命令说明Docker Compose文件详解versionserviceimagebuildcommandlinksexternal_linksportsexposeen…

Win11的两个实用技巧系列之找不到wifi网络的解决方法、双系统开机选择系统方法

Win11装了VMware后找不到wifi网络的解决方法 有用户在电脑上安装了VMware虚拟机来使用的时候,发现虚拟机中无法进行无线网络的连接了,本文就为大家带来了详细的解决方法,一起看看吧 Win11装了VMware后找不到wifi网络的解决方法教学分享。有用…

助力信创国产化,Solon v2.2.9 发布

Solon 是一个高效的 Java 应用开发框架:更快、更小、更简单。它不是 Spring、没有使用 Servlet、JavaEE 接口,是一个有自己接口标准的开放生态。可以为应用软件国产化提供支持,助力信创建设。 150来个生态插件,覆盖各种不同的应用…

【SSM框架】Spring更简单的存储对象

Spring更简单的存储对象将Bean对象简单存储到Spring容器中使用五大类注解来存储Bean对象使⽤ Controller 存储 bean 对象使⽤ Service 存储 bean 对象使⽤ Repository 存储 bean 对象使⽤ Component 存储 bean 对象使⽤ Configuration为什么要有五大类注解五大类注解的关系五大…

【C++初阶】类与对象(一)

文章目录一、面向过程和面向对象初步认识二、类的引入三、类的定义四、类的访问限定符及封装1 、访问限定符2.封装五、类的作用域六、类的实例化七、类对象模型1.探究存储方式2.结构体内存对齐规则八、this指针1、this指针的引出2.this指针的特性八、C语言和C实现Stack的对比总…

漏洞挖掘小技巧(一)

Swagger UI反射XSS Swagger UI是目前最流行的RestFul接口API文档和测试工具。 首先写一个 json的 XSS 负载 https://gist.githubusercontent.com/ramkrivas/c47c4a49bea5f3ff99a9e6229298a6ba/raw/e2e610ea302541a37604c7df8bcaebdcb109b3ba/xsstest.json回到Swagger UI&…

轮廓特征属性及应用

轮廓特征属性及应用 1)凸包 凸包(Convex Hull)是一个计算机几何图形学中的概念, 简单来说, 给定二维平面点集, 凸包就是能够将最外层的点连接起来构成的凸多边形, 它能够包含点集中所有的点。物体的凸包检测常应用在物体识别、手势识别及边界检测等领域。 寻找凸包—cv2.co…

数字中国背景下,企业加大数据决策投入,零代码+商业智能成为新选型 | 爱分析洞察

自“十四五”规划将“加快数字化发展,建设数字中国”单独成篇,从国家战略层面明确了数字化转型的重要性,国家层面有关支持数字经济发展的顶层设计与配套政策此后相继出台。2023年3月1日,中共中央、国务院印发了《数字中国建设整体…

一、基础算法7:位运算 模板题+算法模板(二进制中1的个数)

文章目录算法模板求n的第k位数字返回n的最后一位1求一个数x的二进制中1的个数模板模板题二进制中1的个数原题链接题目题解补充输出一个数n的补码x的二进制并按位输出关于原码,反码,补码算法模板 求n的第k位数字 n >> k & 1返回n的最后一位1 …

iOS-关联对象(Objective-C)

关联对象关联对象的应用分类中的 property使用关联对象关联对象的实现objc_setAssociatedObjectAssociationsManager如何存储 ObjcAssociationnew_value ! nilnew_value nilsetHasAssociatedObjects()objc_getAssociatedObjectobjc_removeAssociatedObjects写到最后关于应用关…

ESP32设备驱动-VEML6040颜色传感器驱动

VEML6040颜色传感器驱动 文章目录 VEML6040颜色传感器驱动1、VEML6040介绍2、硬件准备3、软件准备4、驱动实现1、VEML6040介绍 VEML6040 颜色传感器可感应红光、绿光、蓝光和白光,并使用 CMOS 工艺将光电二极管、放大器和模拟/数字电路集成到单个芯片中。 通过应用颜色传感器…

【Spring】— Spring基础学习

Spring基础学习一、Spring概述1.什么是Spring2.Spring的下载及目录结构2.1 Spring框架包2.2 第三方依赖包二、控制反转(IoC)与依赖注入(DI)1.什么是控制反转(IoC)2.什么是依赖注入(DI&#xff0…

u-view2.0 引入iconfont(阿里字体图标库)详细步骤!

uView已通过大量的实践中,收集了用户最有可能需要用到的图标,见Icon 图标,但我们也相信,它肯定无法覆盖所有的场景和需求。 用户也可以使用标签的方式,自行引入字体图标,为何要通过扩展的方式集成呢&#…

树莓派 ROS 学习(二)小乌龟 turtlesim

添加链接描述 目录 创建catkin工作空间 小乌龟turtlesim节点 启动节点 turtlesim节点 turtlesim 话题与消息 查看话题的消息类型 查看消息类型的具体内容 查看话题的值 改变背景颜色 获取参数列表 获取参数值 修改颜色 控制乌龟运动 通过发布话题控制乌龟运动 通过键盘控制乌龟…

力扣sql中等篇练习(一)

力扣sql中等篇练习(一) 1 第二高的薪水 1.1 题目内容 1.1.1 基本题目信息 1.1.2 示例输入输出 1.2 示例sql语句 SELECT IFNULL((SELECT distinct salary SecondHighestSalaryFROM EmployeeORDER BY salary desclimit 1,1),null ) SecondHighestSalary1.3 运行截图 2 分数排…