WINCE6 0 S3C2443自動重啟的實現

2021-09-30 06:05:22 字數 706 閱讀 2756

為了實現

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()

從而可以實現自動重啟的功能。

WINCE6 0 S3C2443的啟動過程

2.6 oemlaunch bootloadermain函式接下來會呼叫oemlaunch函式,圖1下面來學習oemlaunch的主要函式體 2.6.1 writeosimagetobootmedia函式 圖2下面就進去學習writeosimagetobootmedia的主要函式體 圖3 標識nbo...

S3C2410 WinCE6 0 OAL的快速除錯

檢視 183 評分 0 0 前文分析了s3c2410 wince6.0 oal的啟動 本文接著介紹oal的移植過程。在繼續之前,再明確一下wince6.0 oal的作用。在wince6.0中,oal首先起了穿針引線的作用,這一點可從其啟動 看出來。第二個作用,暴露一些oem函式供kernel呼叫,具...

WinCE6 0 S3C6410 IIC驅動學習

整個的十月份一直都在研究camera的驅動,但收穫頗少,磕磕撞撞的沒有獲得多大的收穫。雖然目前工作的主要任務不在這一塊,但是還是想堅持下去,直到自己覺得camera驅動掌握到一定程度位置。由於camera驅動中使用了iic,而且發現現有camera驅動中,iic的部分出了問題,所以先入手掌握iic驅...