EDA365电子论坛网
标题:
UCOS-II移植ARM的简记(中)
[打印本页]
作者:
pulbieup
时间:
2019-8-28 11:24
标题:
UCOS-II移植ARM的简记(中)
本帖最后由 pulbieup 于 2019-8-28 14:27 编辑
4 U+ W; Q5 A6 {/ f* R
8 R& v3 M7 Y1 p
2、3分别对应关中断和开中断
+ |4 E% j& F' k. _9 D
7 H0 {# _/ U, i, X. L& b, n4 y. t
关中断:MRS R0, SPSR //在软件中断的时候直接对程序状态保存寄存器SPSR操作也就是对CPSR的操作
& j9 \2 M+ |$ N; q/ G0 X( [9 W0 o9 N
ORR R0, R0, #NoInt //在汇编语言中对寄存器的对应位置位用ORR,清零用BIC
% q/ E8 p, G, y4 b8 P8 {
MSR SPSR_c, R0 //SPSR_c表示的是只改变SPSR的控制段的8位代码,其他三段_f,_s,_x中标志位在_f段,其他为保留位
6 r$ f) w2 W/ Y! b! T3 y6 W
2 z% }, Q6 M$ l& y+ U
开中断:MRS R0, SPSR //在开中断中基本与上面相同,只是ORR改成BIC清零
; U# C& i; [5 ]2 |
BIC R0, R0, #NoInt
. d/ M1 ^5 F/ j0 G0 R6 s& `! q- a
MSR SPSR_c, R
* X) X, e- S5 [; u/ S- ]4 p* F
# U, D/ U. h- x$ Z
由于需要实现中断嵌套,所以只有当关中断的计数器减为0的时候才能够开中断,而且每次关中断的时候该计数器都应该加1。另外,插入汇编语言时用_asm指令。
% \1 L( p6 `5 B
- T( ]1 B$ n) R. e G- F
' |0 t, L L/ L/ C# r: L
# k$ H! Z" g* r, U( H0 t6 W
8 r0 j% t( L- {, h" c- u" C
作者:
fanichicl
时间:
2019-8-28 18:10
研究研究,谢谢分享。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2