20230413 Configurar el programa de arranque automático en la plataforma CV1826

20230413 Configurar el programa de arranque automático en la plataforma CV1826
13/4/2023 10:51


1. Requisitos del proyecto: el hardware necesita medir la señal de voltaje/reloj de la cámara después de encenderla, pero no quiero conectarme a la cv1826 a través de adb para encender la cámara cada vez que la enciendo.
C:\Users\Sun>adb shell
/ #
/ # cd /mnt/
/mnt #
/mnt # ls -l
total 28816
drwxr-xr-x 3 raíz raíz 4096 1 de enero 00:01 datos
drwx------ 2 Root Root 4096 Ene 100:00 LOST+FOUND
-RW-RW-1 ROOT ROOT 24250004 ABR 11 2023 SAMPLE_VIO
-RW-R-- 1 ROOT ROOT 5242880 ABR 11 2023 Secure.img
DRWXRWXR- x 2 root root 4096 Abr 11 2023 tmp_secure
/mnt # chmod 777 muestra_vio
/mnt #
/mnt # ./muestra_vio 0

 

 


2. Es fácil saberlo: el script /etc/init.d/rcS ejecutará recursivamente todos los scripts que comiencen con una gran S al arrancar.
Microsoft Windows [Versión 10.0.19045.2728]
(c) Microsoft Corporation. reservados todos los derechos.

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


# Inicie todos los scripts de inicio en /etc/init.d
# ejecutándolos en orden numérico.
#
para i en /etc/init.d/S??* ;hacer

     # Ignora los enlaces simbólicos colgantes (si los hay).
     [ ! -f "$i" ] && continuar

     case "$i" en
        *.sh)
            # Script de shell fuente para velocidad.
            (
                trap - INT QUIT TSTP
                set start
                . $i
            )
            ;;
        *)
            # Sin extensión sh, por lo que se bifurca el subproceso.
            $ empiezo
            ;;
    esac
hecho

/etc/init.d #

 


3. Agregar cámara de arranque a S99mcu:
Microsoft Windows [Versión 10.0.19045.2728]
(c) Microsoft Corporation. reservados todos los derechos.

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

case "$1" en
  inicio)
    printf "Iniciando MCU: "
    /usr/bin/cvi_mv_fw;
    devmem 0x03000248 32 0x1;
    devmem 0x05025020 32 0xC01E02D;
    devmem 0x05025018 32 0x8107ffff;
    ## secuencia de escritura de suspensión pmic
    ## (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;
    ;;
  detener)
    ;;
  *)
    echo "Uso: $0 {iniciar|detener}"

esac

dormir 10
/mnt/sample_vio 0

salir $?/etc/init.d # reiniciar

 

 

 

 


4. Confirme que sample_vio se haya iniciado automáticamente:
[Medición real:] Después de 30 segundos, aproximadamente 60 segundos/1 minuto, ¡el AVDD/DVDD de la cámara tiene voltaje!
Microsoft Windows [Versión 10.0.19045.2728]
(c) Microsoft Corporation. reservados todos los derechos.

C:\Users\Sun>adb shell
/ # ps -e
COMANDO DE USUARIO PID
    1 root {linuxrc} init
    2 root [kthreadd]
    3 root [rcu_gp]
    4 root [rcu_par_gp]
    5 root [kworker/0:0-eve]
    6 raíz [kworker/0:0H-mm]
    7 raíz [kworker/u2:0-ev]
    8 raíz [mm_percpu_wq]
    9 raíz [ksoftirqd/0]
   10 raíz [rcu_preempt]
   11 raíz [rcu_sched]
   12 raíz [rcu_bh]
   13 raíz [migración/0]
   14 raíz [cpuhp/0]
   15 raíz [kdevtmpfs]
   16 raíz [netns]
   17 raíz [rcu_tasks_kthre]
   18 raíz [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 raíz [cfg80211]
   29 raíz [kswapd0]
   30 raíz [nfsiod]
   58 raíz [irq/178-axp2101]
   59 raíz [irq/97-cviusb-o]
   60 raíz [uas]
   61 raíz [axp2101]
   62 raíz [kworker/0 :2]
   63 raíz [kworker/0:3]
   64 raíz [btfwwork]
   65 raíz [irq/41-mmc0]
   66 raíz [irq/42-mmc1]
   67 raíz [ion_system_heap]
   68 raíz [mmc_complete]
   69 raíz [kworker/0:1H-mm]
   70 raíz [ipv6_addrconf]
   71 raíz [krfcommd]
   73 raíz [kworker/u2:1-ev]
   78 raíz [kworker/0:2H -mm]
   79 raíz [jbd2/mmcblk0p5-]
   80 raíz [ext4-rsv-conver]
   91 raíz {rcS} /bin/sh /etc/init.d/rcS
  102 raíz [cvitask_tpu_wor]
  119 raíz /sbin/syslogd -n
  123 raíz /sbin/klogd -n
  139 raíz [jbd2/mmcblk0p7-]
  140 raíz [ext4-rsv-conver]
  144 raíz /sbin/udevd -d
  158 raíz [kworker/0:3H-mm]
  170 raíz [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 raíz /bin/sh -
  367 raíz /mnt/sample_vio 0
  369 raíz [cvitask_isp_pre]
  370 raíz [cvitask_isp_pos]
  371 raíz [cvitask_isp_err]
  382 raíz /bin/ sh -
  384 raíz /sbin/udevd -d
  385 raíz ps -e
/ #

 


5. Defecto menor:
si sample_vio se ejecuta en primer plano, ejecute reiniciar, cv1826 no se reiniciará. Hay dos soluciones:
(1) Si su aplicación puede ejecutarse en segundo plano, puede usar:
sleep 10
/mnt/sample_vio 0 &

(2) Si su aplicación no puede ejecutarse en segundo plano, elimínela y luego reiníciela
kill -9 367
kill -9 333

  333 raíz {S99mcu} /bin/sh /etc/init.d/S99mcu inicio
  361 raíz /bin/sh -
  367 raíz /mnt/sample_vio 0

(3) Solución universal: ¡apagar! (Extraiga la batería o vuelva a insertar la interfaz TYPE-C^_)

Supongo que te gusta

Origin blog.csdn.net/wb4916/article/details/130136722
Recomendado
Clasificación