欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

WinCE OAL中的Startup.s介紹

系統 2073 0

原文地址:http://blog.csdn.net/nanjianhui/archive/2009/01/31/3855686.aspx

作者:ARM-WinCE

應該說Startup.s是OAL最開始的入口,就像EBOOT中的Startup.s一樣,它也是WinCE內核最開始運行的代碼。一般在BSP中,EBOOT的Startup.s和OAL的Startup.s的功能應該是一樣的,但是還是會有些區別,很多情況取決于BSP的開發者,兩個Startup.s之間可以共享很多代碼,也可以部分共享或者彼此獨立。

OAL中的Startup的起始位置定義如下:

LEAF_ENTRY????? Startup

主要就是初始化CPU,對于ARM來說,大致步驟如下:

1. 設置CPU為supervisor模式

2. 禁用IRQ和FIQ中斷

3. 關閉MMU和指令數據Cache

4. 刷新Cache和TLB,清空write buffer

5. 確認啟動原因,可能是EBOOT跳轉過來啟動,冷啟動,熱啟動,Watchdog復位等

6. 配置GPIO來點亮LED

7. 配置Memory控制器及時序

8. 配置中斷控制器,清除所有中斷

9. 初始化RTC

10. 配置CPU的電源管理

11. 設置CPU的時鐘及相關的外設的時鐘

12. 將OEMAddressTable的起始地址寫入r0寄存器

13. 跳轉到Kernelstart中

程序最后會跳轉到KernelStart中,在Private目錄下的armstart.s中,這里仍然是匯編,大致步驟如下:

1. 基于傳入的OEMAddresstable初始化一級頁表

2. 使能MMU和Cache

3. 為每一種ARM模式建立堆棧

4. 調用ARMInit函數獲得kernel.dll的入口,該函數在arminit.c中定義

5. 返回kernel.dll的入口為NKStartup,在mdarm.c中定義,跳轉到kernel.dll入口開始運行

6. 在NKStartup中讀取CPU的ID判斷ARMv6架構,初始化內核的全局變量

7. 調用OEMInitDebugSerial初始化調試串口

8. 調用OEMInit初始化相關的外設接口

9. 調用OEMCacheRangeFlush刷新Cache和TLB

10. 調用KernelFindMemory來劃分對象存儲空間和程序內存空間

11. 調用kernelstart函數,它與最開始的kernelstart不同,它在armtrap.s中定義

到此應該說CPU相關的初始化基本完成了,下面就是要開始WinCE內核的初始化了,大致步驟如下:

1. 跳轉到armstrap.s中的kernelstart繼續執行

2. 調用KernelInit函數,在nkinit.c中定義,主要完成API集的初始化,內核Heap的初始化,內存池的初始化,進程和線程的初始化,最后是映射文件的初始化

3. 在執行完KernelInit之后,會跳轉到FirstSchedule進行第一次系統調度,到此內核已經運行起來了。

這里把整個的初始化過程介紹了一下,實際上Startup.s只是WinCE啟動最開始的部分,完成CPU級別的初始化,這段代碼都是匯編,調試起來也簡單也困難,簡單是因為都是順序執行的,只是初始化CPU,困難是因為沒有好的調試手段,一般在這里都是通過點LED的方式來判斷程序執行的位置。

?

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/joyzml/archive/2010/04/25/5526442.aspx

WinCE OAL中的Startup.s介紹


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 免费看特黄特黄欧美大片 | 成人做爽爽爽爽免费国产软件 | 亚洲影视久久 | 亚洲欧美在线视频免费 | 九草伊人 | 精品欧美一区二区在线看片 | 婷婷视频网 | 久久综合亚洲一区二区三区 | 欧美日韩免费观看视频 | 久久综合九色综合欧洲 | 国产成人免费全部网站 | 欧美亚洲一区 | 夜干夜干2017最新网站 | 日韩视频在线观看 | 亚洲综合一二三区 | 免费人成又黄又爽的视频强 | 精品国产青草久久久久福利 | 亚洲精品在线视频观看 | 国产成人精品在线 | 麻豆短视频传媒网站怎么找 | 日韩 欧美 自拍 | 亚洲精品一区久久狠狠欧美 | 日韩成人性视频 | 天天拍拍夜夜出水 | 韩国三级中文字幕hd久久精品 | 欧美一级黄视频 | 欧美日韩一区,二区,三区,久久精品 | 一呦二呦三呦国产精品 | 久久亚洲综合 | 杏导航aⅴ福利网站 | 国产亚洲视频在线 | 一区二区欧美视频 | 亚洲一区二区三区久久精品 | 色人阁久久 | 国产午夜精品一区二区三区嫩草 | 亚在线| 青青草在线免费视频 | 97久久超碰| 四虎新网站| 欧美 亚洲 另类 激情 另类 | 国产精品视频一区二区三区 |