電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>DSP>CPU上下文切換的詳細資料講解

CPU上下文切換的詳細資料講解

2019-08-16 | pdf | 0.19 MB | 次下載 | 1積分

資料介紹

  一 定義

  當UCOS-III轉(zhuǎn)向執(zhí)行另一項新任務(wù)的時候,他保存了當前任務(wù)的CPU寄存器到堆棧,并從新任務(wù)的堆棧CPU寄存器載入CPU,這個過程叫做上下文切換

  上下文切換需要一些開支,CPU的寄存器越多,開支越大。上下文切換的時間基本取決于有多少個CPU寄存器需要被存儲和載入。上下文切換的代碼是移植UCOS -II 時編寫的,該部分代碼要適用于處理器,這些代碼被放在C和匯編文件中: OS_CPU.H,OS_CPU_C.C,OS_CPU_A.ASM。移植部分在下面會詳細介紹,根據(jù)不同的CPU架構(gòu),移植的時候需要注意很多不部分細節(jié)。我們先來看一下常見CPU的結(jié)構(gòu):包含16個整數(shù)寄存器(R0~R15)和一個中斷堆棧寄存器和狀態(tài)寄存器。每個寄存器都是32位的,16個整數(shù)寄存器都是可以存儲數(shù)據(jù)或者地址,指令指針寄存器是R15,兩個堆棧指針是R14和R14‘,其實R14是指向任務(wù)的堆棧的指針TSP,R14’是指向ISR的堆棧的指針I(yè)SP。當CPU接收到一個中斷的時候自動切換到ISR堆棧(也就是說CPU有獨立用于處理中斷的堆棧)在uC/OS-III 中,任務(wù)切換時的堆棧設(shè)置類似于中斷發(fā)生時的那樣,所有的CPU 寄存器都被保存。我們假定任務(wù)堆棧中的信息將要被載入到CPU 中,TSP 指向任務(wù)堆棧中最后一個被保存的寄存器。程序指針寄存器和狀態(tài)寄存器是最先被保存在任務(wù)堆棧中。事實上,當中斷發(fā)生時這些是被CPU 自動執(zhí)行的。其它的寄存器通過軟件被壓入任務(wù)堆棧, TSP 不會被保存到堆棧,但會被保存到任務(wù)的TCB。ISP 指向當前中斷堆棧的頂部。當中斷服務(wù)程序被執(zhí)行時,處理器把 R14“作為堆棧指針用于指向函數(shù)和局部參數(shù)。有兩種上下文切換的方式:一個是任務(wù)級的,一個是中斷級的,任務(wù)級切換時通過OSCtxSW()實現(xiàn)的,實際上它是被 OS_TASK_SW宏調(diào)用的中斷級切換是通過調(diào)用OSIntCtxSw()實現(xiàn)。它是用匯編語言寫的,保存于OS_CPU_A.ASM。

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1DC電源插座圖紙
  2. 0.67 MB   |  2次下載  |  免費
  3. 2AN158 GD32VW553 Wi-Fi開發(fā)指南
  4. 1.51MB   |  2次下載  |  免費
  5. 3AN148 GD32VW553射頻硬件開發(fā)指南
  6. 2.07MB   |  1次下載  |  免費
  7. 4AN111-LTC3219用戶指南
  8. 84.32KB   |  次下載  |  免費
  9. 5AN153-用于電源系統(tǒng)管理的Linduino
  10. 1.38MB   |  次下載  |  免費
  11. 6AN-283: Σ-Δ型ADC和DAC[中文版]
  12. 677.86KB   |  次下載  |  免費
  13. 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
  14. 402.24 KB  |  次下載  |  免費
  15. 8AN-1308: 電流檢測放大器共模階躍響應(yīng)
  16. 545.42KB   |  次下載  |  免費

本月

  1. 1ADI高性能電源管理解決方案
  2. 2.43 MB   |  450次下載  |  免費
  3. 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
  4. 5.67 MB   |  138次下載  |  1 積分
  5. 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
  6. 0.10 MB   |  130次下載  |  免費
  7. 4使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
  8. 2.96 MB   |  44次下載  |  免費
  9. 53314A函數(shù)發(fā)生器維修手冊
  10. 16.30 MB   |  31次下載  |  免費
  11. 6美的電磁爐維修手冊大全
  12. 1.56 MB   |  24次下載  |  5 積分
  13. 7如何正確測試電源的紋波
  14. 0.36 MB   |  17次下載  |  免費
  15. 8感應(yīng)筆電路圖
  16. 0.06 MB   |  10次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935121次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
  4. 1.48MB  |  420062次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233088次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191367次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183335次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81581次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73810次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65988次下載  |  10 積分