c语言中脚本调用

c语言中如何调用脚本

对于海思3518ev100只有一个物理接口,而这一个物理接口要实现对相机和sil9024进行初始化,再对相机进行初始化时是利用其复用功能i2c进行初始化的,而对9024初始化是利用gpio模拟i2c进行的,但是在进行相机初始化之后需要将i2c释放,然后设置成gpio进行模拟i2c,两者之间需要一定的时间与逻辑关系(就是在对相机进行初始化完成之后将i2c进行释放,设置为普通io,然后加载模拟i2c驱动和sil9024驱动)。
在我的代码中是这样写的:

/******************************************
     step 4: start vi dev & chn to capture
    ******************************************/
   
     system("/opt/ko/VioUse.sh");
     sleep(5);
    /******************************************
    step 5: start VO SD0 (bind * vi )
    ******************************************/

对于程序中的VioUse.sh脚本就放在开发板/opt/ko/目录下。
下面就是VioUse.sh脚本的内容,如下:

#! /bin/sh
#rmmod 
source ./pinmux_hi3518.sh bt1120 gpio_i2c > /dev/null    
insmod extdrv/gpioi2c.ko
insmod extdrv/sil9024.ko norm=5   #720P@60fps

注意:这里直接这样写在/opt/ko/目录下可以单独加载,但是在程序中调用却出错,can’t open …,要这样写:

#! /bin/sh
#rmmod 
cd /opt/ko/
source ./pinmux_hi3518.sh bt1120 gpio_i2c > /dev/null    
insmod extdrv/gpioi2c.ko
insmod extdrv/sil9024.ko norm=5   #720P@60fps

在设置程序自启动的时候也是这样的,要将路径与执行脚本分两步写。

猜你喜欢

转载自blog.csdn.net/wmdshhzsmile/article/details/82996689