📄 os_core.txt
字号:
0007f8 e5cb001e STRB r0,[r11,#0x1e]
;;;937 ptcb->OSTCBBitX = OSMapTbl[ptcb->OSTCBX];
0007fc e5db001e LDRB r0,[r11,#0x1e]
000800 e7d10000 LDRB r0,[r1,r0]
000804 e5cb0020 STRB r0,[r11,#0x20]
;;;938
;;;939 #if OS_EVENT_EN > 0
;;;940 ptcb->OSTCBEventPtr = (OS_EVENT *)0; /* Task is not pending on an event */
000808 e3a00000 MOV r0,#0
00080c e58b000c STR r0,[r11,#0xc]
;;;941 #endif
;;;942
;;;943 #if (OS_VERSION >= 251) && (OS_FLAG_EN > 0) && (OS_MAX_FLAGS > 0) && (OS_TASK_DEL_EN > 0)
;;;944 ptcb->OSTCBFlagNode = (OS_FLAG_NODE *)0; /* Task is not pending on an event flag */
000810 e58b0014 STR r0,[r11,#0x14]
;;;945 #endif
;;;946
;;;947 #if (OS_MBOX_EN > 0) || ((OS_Q_EN > 0) && (OS_MAX_QS > 0))
;;;948 ptcb->OSTCBMsg = (void *)0; /* No message received */
000814 e58b0010 STR r0,[r11,#0x10]
;;;949 #endif
;;;950
;;;951 #if OS_VERSION >= 204
;;;952 OSTCBInitHook(ptcb);
000818 e1a0000b MOV r0,r11
00081c ebfffffe BL OSTCBInitHook
;;;953 #endif
;;;954
;;;955 OSTaskCreateHook(ptcb); /* Call user defined hook */
000820 e1a0000b MOV r0,r11
000824 ebfffffe BL OSTaskCreateHook
;;;956
;;;957 OS_ENTER_CRITICAL();
000828 ef000002 SVC 0x2 ; formerly SWI
;;;958 OSTCBPrioTbl[prio] = ptcb;
00082c e59f00c0 LDR r0,|L1.2292|
000830 e780b104 STR r11,[r0,r4,LSL #2]
;;;959 ptcb->OSTCBNext = OSTCBList; /* Link into TCB chain */
000834 e59f00b4 LDR r0,|L1.2288|
000838 e5900000 LDR r0,[r0,#0] ; OSTCBList
00083c e58b0004 STR r0,[r11,#4]
;;;960 ptcb->OSTCBPrev = (OS_TCB *)0;
000840 e3a00000 MOV r0,#0
000844 e58b0008 STR r0,[r11,#8]
;;;961 if (OSTCBList != (OS_TCB *)0) {
000848 e59f00a0 LDR r0,|L1.2288|
00084c e5900000 LDR r0,[r0,#0] ; OSTCBList
000850 e3500000 CMP r0,#0
000854 0a000002 BEQ |L1.2148|
;;;962 OSTCBList->OSTCBPrev = ptcb;
000858 e59f0090 LDR r0,|L1.2288|
00085c e5900000 LDR r0,[r0,#0] ; OSTCBList
000860 e580b008 STR r11,[r0,#8]
;;;963 }
;;;964 OSTCBList = ptcb;
|L1.2148|
000864 e59f0084 LDR r0,|L1.2288|
000868 e580b000 STR r11,[r0,#0] ; OSTCBList
;;;965 OSRdyGrp |= ptcb->OSTCBBitY; /* Make task ready to run */
00086c e5db0021 LDRB r0,[r11,#0x21]
000870 e59f1060 LDR r1,|L1.2264|
000874 e5d11000 LDRB r1,[r1,#0] ; OSRdyGrp
000878 e1800001 ORR r0,r0,r1
00087c e59f1054 LDR r1,|L1.2264|
000880 e5c10000 STRB r0,[r1,#0] ; OSRdyGrp
;;;966 OSRdyTbl[ptcb->OSTCBY] |= ptcb->OSTCBBitX;
000884 e5db001f LDRB r0,[r11,#0x1f]
000888 e59f104c LDR r1,|L1.2268|
00088c e7d10000 LDRB r0,[r1,r0]
000890 e5db1020 LDRB r1,[r11,#0x20]
000894 e1800001 ORR r0,r0,r1
000898 e5db101f LDRB r1,[r11,#0x1f]
00089c e59f2038 LDR r2,|L1.2268|
0008a0 e7c20001 STRB r0,[r2,r1]
;;;967 OS_EXIT_CRITICAL();
0008a4 ef000003 SVC 0x3 ; formerly SWI
;;;968 return (OS_NO_ERR);
0008a8 e3a00000 MOV r0,#0
;;;969 }
;;;970 OS_EXIT_CRITICAL();
;;;971 return (OS_NO_MORE_TCB);
;;;972 }
|L1.2220|
0008ac e8bd9ff0 POP {r4-r12,pc}
|L1.2224|
0008b0 ef000003 SVC 0x3 ; formerly SWI ;970
0008b4 e3a00046 MOV r0,#0x46 ;971
0008b8 eafffffb B |L1.2220| ;971
|L1.2236|
0008bc 00000000 DCD OSIdleCtr ;971
|L1.2240|
0008c0 00000000 DCD OSTime ;971
|L1.2244|
0008c4 00000000 DCD OSIntNesting ;971
|L1.2248|
0008c8 00000000 DCD OSLockNesting ;971
|L1.2252|
0008cc 00000000 DCD OSTaskCtr ;971
|L1.2256|
0008d0 00000000 DCD OSRunning ;971
|L1.2260|
0008d4 00000000 DCD OSCtxSwCtr ;971
|L1.2264|
0008d8 00000000 DCD OSRdyGrp ;971
|L1.2268|
0008dc 00000000 DCD OSRdyTbl ;971
|L1.2272|
0008e0 00000000 DCD OSPrioCur ;971
|L1.2276|
0008e4 00000000 DCD OSPrioHighRdy ;971
|L1.2280|
0008e8 00000000 DCD OSTCBHighRdy ;971
|L1.2284|
0008ec 00000000 DCD OSTCBCur ;971
|L1.2288|
0008f0 00000000 DCD OSTCBList ;971
|L1.2292|
0008f4 00000000 DCD OSTCBPrioTbl ;971
|L1.2296|
0008f8 00000000 DCD OSTCBTbl ;971
|L1.2300|
0008fc 00000000 DCD OSTCBFreeList ;971
|L1.2304|
000900 00000000 DCD OSEventTbl ;971
|L1.2308|
000904 00000000 DCD OSEventFreeList ;971
|L1.2312|
000908 000007fc DCD OSTaskIdleStk + 2044 ;971
|L1.2316|
00090c 00000000 DCD OSUnMapTbl ;971
|L1.2320|
000910 00000000 DCD OSIntExitY ;971
|L1.2324|
000914 00000000 DCD OSMapTbl ;971
ENDP
AREA ||.data||, DATA, ALIGN=2
OSCtxSwCtr
DCD 0x00000000
OSEventFreeList
DCD 0x00000000
OSFlagFreeList
DCD 0x00000000
OSIntNesting
DCB 0x00
OSIntExitY
DCB 0x00
OSLockNesting
DCB 0x00
OSPrioCur
DCB 0x00
OSPrioHighRdy
DCB 0x00
OSRdyGrp
DCB 0x00
OSRdyTbl
DCB 0x00,0x00
OSRunning
DCB 0x00
OSTaskCtr
DCB 0x00
DCB 0x00,0x00
OSIdleCtr
DCD 0x00000000
OSTCBCur
DCD 0x00000000
OSTCBFreeList
DCD 0x00000000
OSTCBHighRdy
DCD 0x00000000
OSTCBList
DCD 0x00000000
OSMemFreeList
DCD 0x00000000
OSQFreeList
DCD 0x00000000
OSTime
DCD 0x00000000
AREA ||.constdata.1||, DATA, READONLY, ALIGN=0
OSMapTbl
DCB 0x01,0x02,0x04,0x08
DCB 0x10,0x20,0x40,0x80
OSUnMapTbl
DCB 0x00,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x04,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x05,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x04,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x06,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x04,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x05,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x04,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x07,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x04,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x05,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x04,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x06,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x04,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x05,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x04,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
DCB 0x03,0x00,0x01,0x00
DCB 0x02,0x00,0x01,0x00
AREA ||.bss.5||, NOINIT, ALIGN=
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -