quarta-feira, 4 de fevereiro de 2015

How to create a script to run in imx6 startup

Edit 1. changed startup and install scripts

Step 1) vim startup.sh

Step 2) Copy the following code and paste:

#!/bin/sh

main(){
    install_modules
    configure_modules
}

install_modules(){
    install_pca9555
}

configure_modules(){
    configure_pca9555
}

install_pca9555(){
    insmod /home/root/Drivers/PCA953x/gpio-pca953x.ko
    echo pca9555 0x27 > /sys/bus/i2c/devices/i2c-2/new_device
}

configure_pca9555(){
    echo "248" > /sys/class/gpio/export
    echo "out" > /sys/class/gpio/gpio248/direction
    echo "0" > /sys/class/gpio/gpio248/value
    sleep 1
    echo "1" > /sys/class/gpio/gpio248/value
  
  
    echo "240" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio240/direction
  
    echo "241" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio241/direction
  
    echo "242" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio242/direction
  
    echo "243" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio243/direction
  
    echo "244" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio244/direction
  
    echo "245" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio245/direction
  
    echo "246" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio246/direction
  
    echo "247" > /sys/class/gpio/export
    echo "in" > /sys/class/gpio/gpio247/direction
}  


main
exit 0

Step 3) vim install.sh

Step 4) Copy the following code and paste:

#!/bin/sh

case $1 in
    install)
        echo "Installing startup modules"
        cp ./startup.sh /etc/init.d
        update-rc.d startup.sh start 20 0 1 2 3 4 5 6 .
        ;;
    remove)
        echo "Removing startup modules"
        sudo update-rc.d -f  startup.sh remove
        echo 240 > /sys/class/gpio/unexport
        echo 241 > /sys/class/gpio/unexport
        echo 242 > /sys/class/gpio/unexport
        echo 243 > /sys/class/gpio/unexport
        echo 244 > /sys/class/gpio/unexport
        echo 245 > /sys/class/gpio/unexport
        echo 246 > /sys/class/gpio/unexport
        echo 247 > /sys/class/gpio/unexport
        echo 248 > /sys/class/gpio/unexport
        rmmod gpio-pca953x
        ;;
    *)
        echo "Usage install or remove"
        exit 1
        ;;
esac

exit 0

Step 5) chmod +x install.sh

Step 6) chmod +x startup.sh

Step 7) Reboot system.

Step 8) Check if everything is ok by issuing ls /sys/class/gpio
User should see gpiochip240 and gpio240-248 instantiated.

Nenhum comentário:

Postar um comentário