WINCE6.0+S3C2443自动重启的实现
生活随笔
收集整理的這篇文章主要介紹了
WINCE6.0+S3C2443自动重启的实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
??? 為了實現WINCE標準UI和我們產品的SHELL的切換,系統需要實現自動重啟的功能,這里的自動重啟并不是按下reset鍵之后的從nboot開始執行的復位重啟,而只是跳轉到NK的開始地址處執行,和bootloader沒有關系。
在src/inc/oal_ioctl_tab.h中,我們看到自動重啟的函數OALIoCtlHalReboot(),我們來看看這個函數體
這個函數是利用看門狗來實現的復位重啟方式,是從nboot開始執行的,我們來實現直接從NK的起始地址處執行,我把這個函數體改為如下所示
主要是增加了調用OALCPUPowerReset()函數,而這個函數我在/Src/Oal/Oallib/startup.s
有了上面的支持,在應用程序或者驅動都可以通過調用KernelIoControl(IOCTL_HAL_REBOOT,NULL,0,NULL,0,NULL)函數來實現自動重啟的功能了,當調用KernelIoControl((IOCTL_HAL_REBOOT,....)函數的時候,就轉而調用了OALIoCtlHalReboot()從而可以實現自動重啟的功能。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的WINCE6.0+S3C2443自动重启的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: WINCE5.0和WINCE6.0的内存
- 下一篇: WINCE下如何虚拟多个串口