天天看點

嵌入式開發闆reboot遲遲沒有重新開機成功的問題

在cortex-A7的一款開發闆中,使用正常的寫法更改啟動檔案S90StartupApp,因為一些特殊原因,啟動檔案的運作時長有時候在半分鐘以上才能結束,使用ssh連接配接時,reboot重新開機但ssh連接配接遲遲不斷開,檢查問題發現問題就出在自定義的啟動檔案中,更改啟動檔案的格式就可以了。

start()
{
    ...
}
stop()
{
    <空>
}
case "$1" in
    start)
        start;;
    stop)
        stop;;
    restart|reload)
        stop
        start;;
    *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac
exit $?
           

将自定義的代碼寫在start()函數中,stop()為空,其他的按照格式寫就完了,這樣子寫的原因是因為闆子啟動時會傳入參數start,正常寫法沒有影響,照樣執行,但是reboot時傳入stop參數還運作和啟動時一樣的代碼就有問題了,應該傳入stop時直接跳過,這種格式應該是最友善的寫法了。