1. 程式人生 > >c語言中指令碼呼叫

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   #[email protected]

注意:這裡直接這樣寫在/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   #
[email protected]

在設定程式自啟動的時候也是這樣的,要將路徑與執行指令碼分兩步寫。