<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > μCOS-II移植到ARM處理器上的幾個(gè)要點(diǎn)

          μCOS-II移植到ARM處理器上的幾個(gè)要點(diǎn)

          作者: 時(shí)間:2018-09-14 來(lái)源:網(wǎng)絡(luò) 收藏

          本文引用地址:http://www.ex-cimer.com/article/201809/389173.htm

          LDR r5, [r4]

          STR sp, [r5] ; 保存棧指針在占先任務(wù)的TCB 上

          ; 取得高優(yōu)先級(jí)任務(wù)的TCB 地址

          LDR r6, addr_OSTCBHighRdy

          LDR r6, [r6]

          LDR sp, [r6] ;得到新任務(wù)的堆棧指針

          ; OSTCBCur = OSTCBHighRdy

          STR r6, [r4] ; 設(shè)置當(dāng)前新任務(wù)的TCB 地址set new current task TCB

          address

          LDMFD sp!, {r4}

          MSR SPSR_cxsf, r4

          LDMFD sp!, {r4}

          MSR CPSR_cxsf, r4

          LDMFD sp!, {r0-r12, lr, pc}

          (3)OSIntCtxSw();中斷級(jí)的任務(wù)切換函數(shù)

          LDMIA sp!,{a1-v1, lr}

          SUBS pc, lr, #4

          SUB lr, lr, #4

          MOV r12, lr

          MRS lr, SPSR

          AND lr, lr, #0xFFFFFFE0

          ORR lr, lr, #0xD3

          MSR CPSR_cxsf, lr

          (4)OSTickISR();中斷服務(wù)函數(shù)

          STMDB sp!,{r0-r11,lr}

          ;interrupt disable(not nessary)

          mrs r0, CPSR

          orr r0, r0, #0x80 ; 設(shè)置中斷禁止標(biāo)

          msr CPSR_cxsf, r0 ;中斷結(jié)束

          ; rI_ISPC= BIT_TIMER0;

          LDR r0, =I_ISPC

          LDR r1, =BIT_TIMER0

          STR r1, [r0]

          BL IrqStart

          BL OSTimeTick

          BL IrqFinish

          LDR r0, =need_to_swap_context

          LDR r2, [r0]

          CMP r2, #1

          LDREQ pc, =_CON_SW

          完成了上述工作以后,μCOS-II 就可以正常運(yùn)行在ARM 處理器上了。


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: μCOS-II 移植 ARM處理器

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();