首先必須了解,在將ucos-II移植到ARM920T時,使用了如下結構的任務棧:
程序清單:基于ARM920T的OSCtxSw實現分析
注意:ARM需手動保存pc和psw
OSCtxSw
; Special optimised code below:
;1、根據任務棧結構,分別壓棧,保存舊任務的現場
stmfd sp!,{lr}; push pc (lr should be pushed in place of PC)
stmfd sp!,{r0-r12,lr}; push lr & register file
mrs r4,cpsr
stmfd sp!,{r4}; push current psr
mrs r4,spsr
stmfd sp!,{r4}; push current spsr
; 2、OSPrioCur = OSPrioHighRdy
ldr r4,=OSPrioCur
ldr r5,=OSPrioHighRdy
ldrb r6,[r5]
strb r6,[r4]
; 3、Get current task TCB address:r5=OSTCBCur
ldr r4,=OSTCBCur; r4 = &OSTCBCur
ldr r5,[r4]
;4、OSTCBCur->OSTCBStkPtr = SP;
str sp,[r5]; store sp in preempted tasks's TCB
bl OSTaskSwHook; call Task Switch Hook
; 5、Get highest priority task TCB address:r6=OSTCBHighRdy
ldr r6,=OSTCBHighRdy
ldr r6,[r6]
;6、SP = OSTCBHighRdy ->OSTCBStkPtr;
ldr sp,[r6]; get new task's stack pointer
; 7、OSTCBCur = OSTCBHighRdy
str r6,[r4]; set new current task TCB address
;8、根據任務棧結構,分別出棧,恢復新任務的現場
ldmfd sp!,{r4}; pop new task's spsr
msr SPSR_cxsf,r4
ldmfd sp!,{r4}; pop new task's psr
msr CPSR_cxsf,r4
ldmfd sp!,{r0-r12,lr,pc}; pop new task's r0-r12,lr & pc
上一篇:暢學多功能ARM7實驗箱LED流水燈資源詳解
下一篇:淺談ARM處理器基礎知識
推薦閱讀
史海拾趣
在電子行業的早期,Eurohm Resistors公司就以其獨特的技術創新能力嶄露頭角。公司創始人敏銳地察覺到了半導體技術在電子行業中的重要地位,于是投入大量資源研發高精度、高穩定性的電阻器。通過不斷的技術迭代和創新,Eurohm Resistors成功推出了一系列性能卓越的電阻器產品,贏得了市場的廣泛認可。
進入21世紀,隨著LED技術的快速發展,ERG看到了固態照明市場的巨大潛力。2008年,公司決定成立一個新的部門——ERG Lighting,專注于為固態照明市場設計、制造和分銷LED驅動器和其他照明配件。這一舉措極大地拓展了公司的業務范圍,并使其在市場上占據了有利地位。ERG Lighting的成立,不僅為公司帶來了新的增長點,還進一步鞏固了其在電源轉換產品領域的領先地位。
為了提升產品質量和滿足客戶需求,EBK Kruger開始建立嚴格的質量管理體系。公司引進了國際先進的生產設備和檢測設備,并對員工進行了系統的質量培訓。通過不懈的努力,EBK Kruger的產品質量得到了顯著提升,贏得了客戶的廣泛贊譽。同時,公司還獲得了多項國際質量認證,進一步提升了品牌形象。
在電子行業中,電池管理系統(BMS)的可靠性和耐用性一直是制造商關注的焦點。Electrolube公司憑借其在材料科學領域的深厚積累,成功推出了一款名為UVCL的新型UV固化涂層。這款涂層以其獨特的特性迅速在市場中脫穎而出。
UVCL涂層采用先進的UV固化技術,能夠在幾秒鐘內完成固化過程,大大提高了生產效率。同時,它還具有高效的濕氣引發的二次固化機制,確保即使在陰影區域也能實現完全固化。這一特性對于BMS等復雜電子電路的保護至關重要。
為了將UVCL涂層推向市場,Electrolube公司的研發團隊與客戶緊密合作,克服了客戶內部沒有UV固化設施的難題。他們與信譽良好的供應商合作,提供了完整的解決方案,并成功為客戶提供了原型樣品單元進行現場測試。測試結果顯示,UVCL涂層能夠為電子電路提供最高水平的保護,且操作過程簡單、應用速度快。
UVCL涂層的成功推出不僅提升了Electrolube公司在電子材料領域的地位,也為公司贏得了眾多客戶的信賴和好評。
近年來,電子行業面臨著技術更新換代快、市場競爭激烈等挑戰。Arco Electronics公司敏銳地捕捉到了這些變化,及時調整了公司的戰略方向。公司加大了對新興技術的研發投入,如物聯網、人工智能等領域,以保持技術上的領先地位。同時,公司還通過優化生產流程、提高產品質量等方式來降低成本,增強市場競爭力。
我的搖搖棒精簡設計,采用8個IO口來驅動32顆燈,效果很好。 有興趣的朋友到我空間一游哈!地址:http://hi.baidu.com/fcping/要制作資料的在我空間留下Email 我會發給他!好就贊一個,不好也批一下,給點意見,謝謝! 下面有原理圖和效果圖:… 查看全部問答∨ |
|
我在s7 300下組態一個網絡,CPU是3152DP.PROFIBUS網上掛了一個ET200M模塊。我保存編譯的時候提示由于組態不一致而無法創建系統數據。我想問一下我是不是沒有給ET200M組態。ET200下沒有放任何模塊。如果不是哪什么原因了????… 查看全部問答∨ |
|
我在FORM上自己用ONPAINT函數繪制了一個背景圖片,圖片上有“關閉”“打開”之類的字樣,我想把我的BUTTON做成透明的,直接顯示背景圖片上的字,LABEL上的字也直接顯示在背景圖片上,我試過了this.label1.BackColor =Color.Transparent; 之類的方法 ...… 查看全部問答∨ |
|
德州儀器(TI)的第一顆達芬奇(DaVinci)芯片(處理器)DM6446 已經問世快三年了。繼DM644x 之后,TI 又陸續推出了DM643x,DM35x,DM6467,OMAP353x等一系列ARM+DSP 或ARM+視頻協處理器的多媒體處理器平臺。很多有很強DSP開發經驗或ARM 開發經驗 ...… 查看全部問答∨ |
|
將ccs3項目導入ccs5后,build產生如下錯誤: **** Build of configuration Debug for project CODEC ****C:\\ti\\ccsv5\\utils\\bin\\gmake -k all gmake: Nothing to be done for `all\'.**** Build Finished **** 請教,這是什么 ...… 查看全部問答∨ |