我在嵌入式設備上運行 Angstrom 發行版。我想利用其 GPIO 擴展端口,這些端口在啟動時設置為高電平。下面是釋放擴充埠的程式碼段。
#!/bin/sh
cleanup() { # Release the GPIO port
echo 133 > /sys/class/gpio/unexport
exit
}
我正在考慮在啟動時運行此腳本,使用update-rc.d name_of_script default
.
我的問題是:
為了確保 GPIO 連接埠在啟動時不會變高,我應該優先考慮什麼?我假設有一個腳本負責 GPIO 連接埠變高。如果這是真的,我可以禁止它在啟動時運行。
如需任何其他資訊(例如 的內容/etc/init.d
),請告訴我。
答案1
我不確定 Angstrom 是否使用基於依賴項的啟動。如果是,則忽略這些數字。我們假設他們不是。
這些數字嚴格用於訂購腳本。例如,在嘗試啟動 Web 伺服器之前,請確保所有檔案系統都已安裝非常重要。或確保 syslogd 在啟動大多數守護程序之前啟動。
因此,就您的情況而言,它需要位於加載GPIO 驅動程式的任何腳本之後(較高的數字),但在啟動應用程式的腳本之前(較低的數字)(這取決於正確配置的GPIO 端口)。
如果如上所述,它使用基於依賴項的啟動,那麼您可以在腳本頂部的註釋中正確設定依賴項,並且update-rc.d 應該為您計算出一個數字(也可能對其他腳本進行重新編號,以使其一切正常)。