📄 os_mutex.txt
字号:
0005e0 e1c400b8 STRH r0,[r4,#8]
0005e4 e1d400b8 LDRH r0,[r4,#8]
0005e8 e59f158c LDR r1,|L1.2940|
0005ec e5911000 LDR r1,[r1,#0] ; OSTCBCur
0005f0 e5d1102e LDRB r1,[r1,#0x2e]
0005f4 e1800001 ORR r0,r0,r1
0005f8 e1c400b8 STRH r0,[r4,#8]
0005fc e59f0578 LDR r0,|L1.2940|
000600 e5900000 LDR r0,[r0,#0] ; OSTCBCur
000604 e5840004 STR r0,[r4,#4]
000608 e59f056c LDR r0,|L1.2940|
00060c e5900000 LDR r0,[r0,#0] ; OSTCBCur
000610 e5d0002e LDRB r0,[r0,#0x2e]
000614 e1500007 CMP r0,r7
000618 ca000004 BGT |L1.1584|
00061c e59d0000 LDR r0,[sp,#0]
000620 ebfffffe BL OS_CPU_SR_Restore
000624 e3a00078 MOV r0,#0x78
000628 e5c60000 STRB r0,[r6,#0]
00062c ea000003 B |L1.1600|
|L1.1584|
000630 e59d0000 LDR r0,[sp,#0]
000634 ebfffffe BL OS_CPU_SR_Restore
000638 e3a00000 MOV r0,#0
00063c e5c60000 STRB r0,[r6,#0]
|L1.1600|
000640 eaffffc1 B |L1.1356|
|L1.1604|
000644 e1d400b8 LDRH r0,[r4,#8]
000648 e20080ff AND r8,r0,#0xff
00064c e5940004 LDR r0,[r4,#4]
000650 e58d0004 STR r0,[sp,#4]
000654 e59d0004 LDR r0,[sp,#4]
000658 e5d0002e LDRB r0,[r0,#0x2e]
00065c e1500007 CMP r0,r7
000660 da00007e BLE |L1.2144|
000664 e59f0510 LDR r0,|L1.2940|
000668 e5900000 LDR r0,[r0,#0] ; OSTCBCur
00066c e5d0002e LDRB r0,[r0,#0x2e]
000670 e1500008 CMP r0,r8
000674 aa000079 BGE |L1.2144|
000678 e59d0004 LDR r0,[sp,#4]
00067c e5d0a030 LDRB r10,[r0,#0x30]
000680 e59f0500 LDR r0,|L1.2952|
000684 e7d0000a LDRB r0,[r0,r10]
000688 e59d1004 LDR r1,[sp,#4]
00068c e5d11031 LDRB r1,[r1,#0x31]
000690 e1100001 TST r0,r1
000694 0a000014 BEQ |L1.1772|
000698 e59f04e8 LDR r0,|L1.2952|
00069c e7d0000a LDRB r0,[r0,r10]
0006a0 e59d1004 LDR r1,[sp,#4]
0006a4 e5d11031 LDRB r1,[r1,#0x31]
0006a8 e1c00001 BIC r0,r0,r1
0006ac e59f14d4 LDR r1,|L1.2952|
0006b0 e7c1000a STRB r0,[r1,r10]
0006b4 e2810000 ADD r0,r1,#0
0006b8 e7d0000a LDRB r0,[r0,r10]
0006bc e3500000 CMP r0,#0
0006c0 1a000006 BNE |L1.1760|
0006c4 e59d0004 LDR r0,[sp,#4]
0006c8 e5d00032 LDRB r0,[r0,#0x32]
0006cc e59f14b8 LDR r1,|L1.2956|
0006d0 e5d11000 LDRB r1,[r1,#0] ; OSRdyGrp
0006d4 e1c10000 BIC r0,r1,r0
0006d8 e59f14ac LDR r1,|L1.2956|
0006dc e5c10000 STRB r0,[r1,#0] ; OSRdyGrp
|L1.1760|
0006e0 e3a00001 MOV r0,#1
0006e4 e58d0008 STR r0,[sp,#8]
0006e8 ea000016 B |L1.1864|
|L1.1772|
0006ec e59d0004 LDR r0,[sp,#4]
0006f0 e590901c LDR r9,[r0,#0x1c]
0006f4 e3590000 CMP r9,#0
0006f8 0a000010 BEQ |L1.1856|
0006fc e59d0004 LDR r0,[sp,#4]
000700 e5d00030 LDRB r0,[r0,#0x30]
000704 e289100b ADD r1,r9,#0xb
000708 e7d10000 LDRB r0,[r1,r0]
00070c e59d1004 LDR r1,[sp,#4]
000710 e5d11031 LDRB r1,[r1,#0x31]
000714 e1d00001 BICS r0,r0,r1
000718 e59d1004 LDR r1,[sp,#4]
00071c e5d11030 LDRB r1,[r1,#0x30]
000720 e289200b ADD r2,r9,#0xb
000724 e7c20001 STRB r0,[r2,r1]
000728 1a000004 BNE |L1.1856|
00072c e5d9000a LDRB r0,[r9,#0xa]
000730 e59d1004 LDR r1,[sp,#4]
000734 e5d11032 LDRB r1,[r1,#0x32]
000738 e1c00001 BIC r0,r0,r1
00073c e5c9000a STRB r0,[r9,#0xa]
|L1.1856|
000740 e3a00000 MOV r0,#0
000744 e58d0008 STR r0,[sp,#8]
|L1.1864|
000748 e59d0004 LDR r0,[sp,#4]
00074c e5c0702e STRB r7,[r0,#0x2e]
000750 e59d0004 LDR r0,[sp,#4]
000754 e5d0002e LDRB r0,[r0,#0x2e]
000758 e1a001c0 ASR r0,r0,#3
00075c e59d1004 LDR r1,[sp,#4]
000760 e5c10030 STRB r0,[r1,#0x30]
000764 e59d0004 LDR r0,[sp,#4]
000768 e5d0002e LDRB r0,[r0,#0x2e]
00076c e2000007 AND r0,r0,#7
000770 e59d1004 LDR r1,[sp,#4]
000774 e5c1002f STRB r0,[r1,#0x2f]
000778 e59d0004 LDR r0,[sp,#4]
00077c e5d00030 LDRB r0,[r0,#0x30]
000780 e3a01001 MOV r1,#1
000784 e1a00011 LSL r0,r1,r0
000788 e59d1004 LDR r1,[sp,#4]
00078c e5c10032 STRB r0,[r1,#0x32]
000790 e59d0004 LDR r0,[sp,#4]
000794 e5d0002f LDRB r0,[r0,#0x2f]
000798 e3a01001 MOV r1,#1
00079c e1a00011 LSL r0,r1,r0
0007a0 e20010ff AND r1,r0,#0xff
0007a4 e59d0004 LDR r0,[sp,#4]
0007a8 e5c01031 STRB r1,[r0,#0x31]
0007ac e59d0008 LDR r0,[sp,#8]
0007b0 e3500001 CMP r0,#1
0007b4 1a000012 BNE |L1.2052|
0007b8 e59d0004 LDR r0,[sp,#4]
0007bc e5d00032 LDRB r0,[r0,#0x32]
0007c0 e59f13c4 LDR r1,|L1.2956|
0007c4 e5d11000 LDRB r1,[r1,#0] ; OSRdyGrp
0007c8 e1800001 ORR r0,r0,r1
0007cc e59f13b8 LDR r1,|L1.2956|
0007d0 e5c10000 STRB r0,[r1,#0] ; OSRdyGrp
0007d4 e59d0004 LDR r0,[sp,#4]
0007d8 e5d00030 LDRB r0,[r0,#0x30]
0007dc e59f13a4 LDR r1,|L1.2952|
0007e0 e7d10000 LDRB r0,[r1,r0]
0007e4 e59d1004 LDR r1,[sp,#4]
0007e8 e5d11031 LDRB r1,[r1,#0x31]
0007ec e1800001 ORR r0,r0,r1
0007f0 e59d1004 LDR r1,[sp,#4]
0007f4 e5d11030 LDRB r1,[r1,#0x30]
0007f8 e59f2388 LDR r2,|L1.2952|
0007fc e7c20001 STRB r0,[r2,r1]
000800 ea000013 B |L1.2132|
|L1.2052|
000804 e59d0004 LDR r0,[sp,#4]
000808 e590901c LDR r9,[r0,#0x1c]
00080c e3590000 CMP r9,#0
000810 0a00000f BEQ |L1.2132|
000814 e5d9000a LDRB r0,[r9,#0xa]
000818 e59d1004 LDR r1,[sp,#4]
00081c e5d11032 LDRB r1,[r1,#0x32]
000820 e1800001 ORR r0,r0,r1
000824 e5c9000a STRB r0,[r9,#0xa]
000828 e59d0004 LDR r0,[sp,#4]
00082c e5d00030 LDRB r0,[r0,#0x30]
000830 e289100b ADD r1,r9,#0xb
000834 e7d11000 LDRB r1,[r1,r0]
000838 e59d0004 LDR r0,[sp,#4]
00083c e5d00031 LDRB r0,[r0,#0x31]
000840 e1800001 ORR r0,r0,r1
000844 e59d1004 LDR r1,[sp,#4]
000848 e5d11030 LDRB r1,[r1,#0x30]
00084c e289200b ADD r2,r9,#0xb
000850 e7c20001 STRB r0,[r2,r1]
|L1.2132|
000854 e59f1324 LDR r1,|L1.2944|
000858 e59d0004 LDR r0,[sp,#4]
00085c e7810107 STR r0,[r1,r7,LSL #2]
|L1.2144|
000860 e59f0314 LDR r0,|L1.2940|
000864 e5900000 LDR r0,[r0,#0] ; OSTCBCur
000868 e5d0002c LDRB r0,[r0,#0x2c]
00086c e3800010 ORR r0,r0,#0x10
000870 e59f1304 LDR r1,|L1.2940|
000874 e5911000 LDR r1,[r1,#0] ; OSTCBCur
000878 e5c1002c STRB r0,[r1,#0x2c]
00087c e3a00000 MOV r0,#0
000880 e59f12f4 LDR r1,|L1.2940|
000884 e5911000 LDR r1,[r1,#0] ; OSTCBCur
000888 e5c1002d STRB r0,[r1,#0x2d]
00088c e59f02e8 LDR r0,|L1.2940|
000890 e5900000 LDR r0,[r0,#0] ; OSTCBCur
000894 e1c052ba STRH r5,[r0,#0x2a]
000898 e1a00004 MOV r0,r4
00089c ebfffffe BL OS_EventTaskWait
0008a0 e59d0000 LDR r0,[sp,#0]
0008a4 ebfffffe BL OS_CPU_SR_Restore
0008a8 ebfffffe BL OS_Sched
0008ac ebfffffe BL OS_CPU_SR_Save
0008b0 e58d0000 STR r0,[sp,#0]
0008b4 e59f02c0 LDR r0,|L1.2940|
0008b8 e5900000 LDR r0,[r0,#0] ; OSTCBCur
0008bc e5d0002d LDRB r0,[r0,#0x2d]
0008c0 e3500000 CMP r0,#0
0008c4 0a000016 BEQ |L1.2340|
0008c8 e59f02ac LDR r0,|L1.2940|
0008cc e5900000 LDR r0,[r0,#0] ; OSTCBCur
0008d0 e5d0b02d LDRB r11,[r0,#0x2d]
0008d4 e1a00004 MOV r0,r4
0008d8 ebfffffe BL OS_EventTOAbort
0008dc e59d0000 LDR r0,[sp,#0]
0008e0 ebfffffe BL OS_CPU_SR_Restore
0008e4 e35b0001 CMP r11,#1
0008e8 0a000002 BEQ |L1.2296|
0008ec e35b0002 CMP r11,#2
0008f0 0a000005 BEQ |L1.2316|
0008f4 ea000001 B |L1.2304|
|L1.2296|
0008f8 e1a00000 MOV r0,r0
0008fc e1a00000 MOV r0,r0
|L1.2304|
000900 e3a0000a MOV r0,#0xa
000904 e5c60000 STRB r0,[r6,#0]
000908 ea000003 B |L1.2332|
|L1.2316|
00090c e1a00000 MOV r0,r0
000910 e3a0000e MOV r0,#0xe
000914 e5c60000 STRB r0,[r6,#0]
000918 e1a00000 MOV r0,r0
|L1.2332|
00091c e1a00000 MOV r0,r0
000920 eaffff09 B |L1.1356|
|L1.2340|
000924 e3a00000 MOV r0,#0
000928 e59f124c LDR r1,|L1.2940|
00092c e5911000 LDR r1,[r1,#0] ; OSTCBCur
000930 e581001c STR r0,[r1,#0x1c]
000934 e59d0000 LDR r0,[sp,#0]
000938 ebfffffe BL OS_CPU_SR_Restore
00093c e3a00000 MOV r0,#0
000940 e5c60000 STRB r0,[r6,#0]
000944 eaffff00 B |L1.1356|
ENDP
OSMutexPost PROC
;;;546 INT8U OSMutexPost (OS_EVENT *pevent)
;;;547 {
000948 e92d41f0 PUSH {r4-r8,lr}
00094c e1a04000 MOV r4,r0
;;;548 INT8U pip; /* Priority inheritance priority */
;;;549 INT8U prio;
;;;550 #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
;;;551 OS_CPU_SR cpu_sr = 0;
000950 e3a07000 MOV r7,#0
;;;552 #endif
;;;553
;;;554
;;;555
;;;556 if (OSIntNesting > 0) { /* See if called from ISR ... */
000954 e59f021c LDR r0,|L1.2936|
000958 e5d00000 LDRB r0,[r0,#0] ; OSIntNesting
00095c e3500000 CMP r0,#0
000960 da000002 BLE |L1.2416|
;;;557 return (OS_ERR_POST_ISR); /* ... can't POST mutex from an ISR */
000964 e3a00005 MOV r0,#5
|L1.2408|
000968 e8bd41f0 POP {r4-r8,lr}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -