為了實現
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驅...