電気回路/zynq/自動起動の設定 のバックアップの現在との差分(No.1)
更新- 追加された行はこの色です。
- 削除された行はこの色です。
[[電気回路/zynq]] * 電源投入後に初期化&アプリケーションを自動実行する [#v9672a1a] - FPGA ロジックのプログラム - 各種 dtso のデバイスツリーへの組み込み - 初期化スクリプトの実行 - アプリケーションの実行 をしたい。 ** 目次 [#seefcc4e] #contents * systemd にするか sysvinit にするか [#rfb55e43] * /etc/init.d と /etc/rc5.d を使う [#rfb55e43] systemd を使ってみるか、~ https://dev.classmethod.jp/cloud/aws/service-control-use-systemd/ この際 systemd を使ってみようかしら、とも思ったけれど - https://dev.classmethod.jp/cloud/aws/service-control-use-systemd/ - https://qiita.com/ledmonster/items/5f2e1633d4124cb978fe Sysvinit でお茶を濁すか・・・ 何だかややこしいので Sysvinit でお茶を濁すことにする。 LANG:console $ runlevel N 5 通常起動時の runlevel は 5 なので、/etc/init.d に起動スクリプトを置いて、 そこへのシンボリックリンクを /etc/rc5.d に作っておく。 /etc/init.d/fpga : https://github.com/osamutake/zynq-utils/tree/master/src/fpga を用意し、 LANG:console $ ln -s /etc/init.d/fpga /etc/rc5.d/S00fpga することで、起動時に - /boot/design*.bin を fpga-program する - /boot/dtso/*.dtso を dto する - /boot/fpga_init.d/* に start を付けて実行する を行えるようになった。 後は、 /boot/fpga_init.d/10_gpio1 LANG:sh #!/bin/sh do_start () { if [ ! -e /sys/class/gpio/gpiochip901 ]; then echo "ERROR: /sys/class/gpio/gpiochip901 not found." exit 1 fi for n in 901 902 903 904 905 do echo $n > /sys/class/gpio/export done } do_stop () { if [ ! -e /sys/class/gpio/gpiochip901 ]; then echo "ERROR: /sys/class/gpio/gpiochip901 not found." exit 1 fi for n in 901 902 903 904 905 do echo $n > /sys/class/gpio/unexport done } case $1 in start) do_start ;; stop) do_stop ;; *) echo "Usage: $0 {start|stop}" exit 2 ;; esac /boot/fpga_init.d/80_lcd-show-ip LANG:sh #!/bin/sh do_start () { lcd-show-ip } do_stop () { true } case $1 in start) do_start ;; stop) do_stop ;; *) echo "Usage: $0 {start|stop}" exit 2 ;; esac のようにして起動スクリプトを追加していけばいい。 作業履歴へ戻る → [[電気回路/zynq]] * コメント・質問 [#g1487be2] #article_kcaptcha
Counter: 2176 (from 2010/06/03),
today: 1,
yesterday: 0