|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
關(guān)于UCOS-II的幾點疑惑,請大家指教 |
| 作者:from25 欄目:ARM技術(shù) |
以下的問題都是在寫OSIntCtxSw時碰到的疑問 1.UCOS-II的任務(wù)是不是在SVC模式下執(zhí)行的?為什么? 。眨茫希樱桑傻哪牟糠殖绦蚴窃谟脩魬B(tài)執(zhí)行的? 2.如果任務(wù)是在SVC模式下執(zhí)行的,那是不是就不能用SWI呢? 3.任務(wù)在SVC模式下執(zhí)行時,發(fā)生中斷,ARM硬件還保存CPSR_svc和PC(svc)嗎?返回時也恢復(fù)嗎 |
| 2樓: | >>參與討論 |
| 作者: toobad 于 2006/8/7 11:55:00 發(fā)布:
UCOS-II的任務(wù)是不是在SVC模式下執(zhí)行的? UCOS-II的任務(wù)應(yīng)該在 user 模式下面運行啊,為什么運行在svc模式? |
|
| 3樓: | >>參與討論 |
| 作者: icyacht 于 2006/8/7 13:09:00 發(fā)布:
管理模式應(yīng)該被用作SWO異常處理 周立功提供的移值代碼是這樣的。關(guān)于最后一個問題,管理模式本身就是一種異常模式,不知道發(fā)生中斷后會怎樣 ?后面高手解釋下。。。 |
|
| 4樓: | >>參與討論 |
| 作者: icyacht 于 2006/8/7 13:10:00 發(fā)布:
修改筆誤 ,是SWI,SORRY |
|
| 5樓: | >>參與討論 |
| 作者: from25 于 2006/8/7 13:45:00 發(fā)布:
那堆棧初始怎么初始為SVC *--stk = (SVC32MODE|0x0); /* cpsr IRQ, FIQ disable*/ *--stk = (SVC32MODE|0x0); /* spsr IRQ, FIQ disable */ 堆棧初始為SVC模式,所以執(zhí)行任務(wù)時不是在SVC模式下嗎?什么時候變成用戶模式了呢? |
|
| 6樓: | >>參與討論 |
| 作者: rockos 于 2006/8/7 14:41:00 發(fā)布:
方便而已, 別無所圖 方便而已, 別無所圖。 SYS/USER模式下沒有SPSR寄存器,為了使任務(wù)切換安全完成,需要用到這個SPSR(ARM沒有從堆棧中彈出CPSR的指令)。如果采用USER模式下的話需要一次系統(tǒng)陷入(swi指令轉(zhuǎn)移到SYS模式,再切換到其它模式,不一定是SVC模式),然后才能進行任務(wù)切換。 SVC模式剛好有這個寄存器,該模式也不代表任何異步事件,并且也避免了系統(tǒng)陷入,所以就用它了。 還有沒有其它原因?哪位大牛站出來補充一下 * - 本貼最后修改時間:2006-8-7 14:53:29 修改者:rockos |
|
| 7樓: | >>參與討論 |
| 作者: from25 于 2006/8/7 16:31:00 發(fā)布:
謝謝樓上! 我可以理解成任務(wù)的切換和運行都是在SVC模式下進行嗎? 那是不是UCOS啟動前就應(yīng)該先把模式改到SVC模式嗎? (因為我寫的啟動代碼都是先切換的用戶模式,然后再B Main,這樣的啟動代碼是不是就不能用了?) * - 本貼最后修改時間:2006-8-7 16:36:53 修改者:from25 |
|
| 8樓: | >>參與討論 |
| 作者: rockos 于 2006/8/7 16:37:00 發(fā)布:
可以的 ucos就是這樣做的。 |
|
| 9樓: | >>參與討論 |
| 作者: from25 于 2006/8/8 8:07:00 發(fā)布:
我頂! 感覺還是有些地方不明白,比如能不能不保存SPSR而用在用戶模式下;還有后面兩問也有疑問; 還有強制轉(zhuǎn)換模式從中斷到SVC時,LR_svc會給PC替換掉嗎,SPSR_svc會給CPSR_irq替換嗎? * - 本貼最后修改時間:2006-8-8 8:29:01 修改者:from25 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |