; generated by ARM C/C++ Compiler, RVCT4.0 [Build 728]
; commandline ArmCC [--debug -c --asm --interleave -o.\obj\ucos_ii.o --depend=.\obj\ucos_ii.d --cpu=Cortex-M3 --apcs=interwork -O0 -IE:\Keil\ARM\INC -IE:\Keil\ARM\INC\ST\STM32F10x --omf_browse=.\obj\ucos_ii.crf ..\os\uCOS_II.C]
THUMB
AREA ||.text||, CODE, READONLY, ALIGN=2
OS_Sched PROC
;;;868
;;;869 void OS_Sched (void)
000000 b510 PUSH {r4,lr}
;;;870 {
;;;871 #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
;;;872 OS_CPU_SR cpu_sr;
;;;873 #endif
;;;874 INT8U y;
;;;875
;;;876
;;;877 OS_ENTER_CRITICAL();
000002 f7fffffe BL OS_ENTER_CRITICAL
;;;878 if ((OSIntNesting == 0) && (OSLockNesting == 0)) { /* Sched. only if all ISRs done & not locked */
000006 48fa LDR r0,|L1.1008|
000008 7800 LDRB r0,[r0,#0] ; OSIntNesting
00000a bb10 CBNZ r0,|L1.82|
00000c 48f9 LDR r0,|L1.1012|
00000e 7800 LDRB r0,[r0,#0] ; OSLockNesting
000010 b9f8 CBNZ r0,|L1.82|
;;;879 y = OSUnMapTbl[OSRdyGrp]; /* Get pointer to HPT ready to run */
000012 48f9 LDR r0,|L1.1016|
000014 49f9 LDR r1,|L1.1020|
000016 7809 LDRB r1,[r1,#0] ; OSRdyGrp
000018 5c44 LDRB r4,[r0,r1]
;;;880 OSPrioHighRdy = (INT8U)((y << 3) + OSUnMapTbl[OSRdyTbl[y]]);
00001a 48f9 LDR r0,|L1.1024|
00001c 5d00 LDRB r0,[r0,r4]
00001e 49f6 LDR r1,|L1.1016|
000020 5c08 LDRB r0,[r1,r0]
000022 eb0000c4 ADD r0,r0,r4,LSL #3
000026 49f7 LDR r1,|L1.1028|
000028 7008 STRB r0,[r1,#0]
;;;881 if (OSPrioHighRdy != OSPrioCur) { /* No Ctx Sw if current task is highest rdy */
00002a 4608 MOV r0,r1
00002c 7800 LDRB r0,[r0,#0] ; OSPrioHighRdy
00002e 49f6 LDR r1,|L1.1032|
000030 7809 LDRB r1,[r1,#0] ; OSPrioCur
000032 4288 CMP r0,r1
000034 d00d BEQ |L1.82|
;;;882 OSTCBHighRdy = OSTCBPrioTbl[OSPrioHighRdy];
000036 48f5 LDR r0,|L1.1036|
000038 49f2 LDR r1,|L1.1028|
00003a 7809 LDRB r1,[r1,#0] ; OSPrioHighRdy
00003c f8500021 LDR r0,[r0,r1,LSL #2]
000040 49f3 LDR r1,|L1.1040|
000042 6008 STR r0,[r1,#0] ; OSTCBHighRdy
;;;883 OSCtxSwCtr++; /* Increment context switch counter */
000044 48f3 LDR r0,|L1.1044|
000046 6800 LDR r0,[r0,#0] ; OSCtxSwCtr
000048 1c40 ADDS r0,r0,#1
00004a 49f2 LDR r1,|L1.1044|
00004c 6008 STR r0,[r1,#0] ; OSCtxSwCtr
;;;884 OS_TASK_SW(); /* Perform a context switch */
00004e f7fffffe BL OSCtxSw
|L1.82|
;;;885 }
;;;886 }
;;;887 OS_EXIT_CRITICAL();
000052 f7fffffe BL OS_EXIT_CRITICAL
;;;888 }
000056 bd10 POP {r4,pc}
;;;889 /*$PAGE*/
ENDP
OSTimeDly PROC
;;;34
;;;35 void OSTimeDly (INT16U ticks)
000058 b510 PUSH {r4,lr}
;;;36 {
00005a 4604 MOV r4,r0
;;;37 #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
;;;38 OS_CPU_SR cpu_sr;
;;;39 #endif
;;;40
;;;41
;;;42 if (ticks > 0) { /* 0 means no delay! */
00005c 2c00 CMP r4,#0
00005e dd23 BLE |L1.168|
;;;43 OS_ENTER_CRITICAL();
000060 f7fffffe BL OS_ENTER_CRITICAL
;;;44 if ((OSRdyTbl[OSTCBCur->OSTCBY] &= ~OSTCBCur->OSTCBBitX) == 0) { /* Delay current task */
000064 48ec LDR r0,|L1.1048|
000066 6800 LDR r0,[r0,#0] ; OSTCBCur
000068 f890002f LDRB r0,[r0,#0x2f]
00006c 49e4 LDR r1,|L1.1024|
00006e 5c08 LDRB r0,[r1,r0]
000070 49e9 LDR r1,|L1.1048|
000072 6809 LDR r1,[r1,#0] ; OSTCBCur
000074 f8911030 LDRB r1,[r1,#0x30]
000078 4388 BICS r0,r0,r1
00007a 49e7 LDR r1,|L1.1048|
00007c 6809 LDR r1,[r1,#0] ; OSTCBCur
00007e f891102f LDRB r1,[r1,#0x2f]
000082 4adf LDR r2,|L1.1024|
000084 5450 STRB r0,[r2,r1]
000086 d108 BNE |L1.154|
;;;45 OSRdyGrp &= ~OSTCBCur->OSTCBBitY;
000088 48e3 LDR r0,|L1.1048|
00008a 6800 LDR r0,[r0,#0] ; OSTCBCur
00008c f8901031 LDRB r1,[r0,#0x31]
000090 48da LDR r0,|L1.1020|
000092 7800 LDRB r0,[r0,#0] ; OSRdyGrp
000094 4388 BICS r0,r0,r1
000096 49d9 LDR r1,|L1.1020|
000098 7008 STRB r0,[r1,#0]
|L1.154|
;;;46 }
;;;47 OSTCBCur->OSTCBDly = ticks; /* Load ticks in TCB */
00009a 48df LDR r0,|L1.1048|
00009c 6800 LDR r0,[r0,#0] ; OSTCBCur
00009e 8544 STRH r4,[r0,#0x2a]
;;;48 OS_EXIT_CRITICAL();
0000a0 f7fffffe BL OS_EXIT_CRITICAL
;;;49 OS_Sched(); /* Find next task to run! */
0000a4 f7fffffe BL OS_Sched
|L1.168|
;;;50 }
;;;51 }
0000a8 bd10 POP {r4,pc}
;;;52 /*$PAGE*/
ENDP
OS_TaskStat PROC
;;;953 #if OS_TASK_STAT_EN > 0
;;;954 void OS_TaskStat (void *pdata)
0000aa e92d41f0 PUSH {r4-r8,lr}
;;;955 {
;;;956 #if OS_CRITICAL_METHOD == 3 /* Allocate storage for CPU status register */
;;;957 OS_CPU_SR cpu_sr;
;;;958 #endif
;;;959 INT32U run;
;;;960 INT32U max;
;;;961 INT8S usage;
;;;962
;;;963
;;;964 pdata = pdata; /* Prevent compiler warning for not using 'pdata' */
0000ae bf00 NOP
;;;965 while (OSStatRdy == FALSE) {
0000b0 e003 B |L1.186|
|L1.178|
;;;966 OSTimeDly(2 * OS_TICKS_PER_SEC); /* Wait until statistic task is ready */
0000b2 f44f70c8 MOV r0,#0x190
0000b6 f7fffffe BL OSTimeDly
|L1.186|
0000ba 48d8 LDR r0,|L1.1052|
0000bc 7800 LDRB r0,[r0,#0] ;965 ; OSStatRdy
0000be 2800 CMP r0,#0 ;965
0000c0 d0f7 BEQ |L1.178|
;;;967 }
;;;968 max = OSIdleCtrMax / 100L;
0000c2 48d7 LDR r0,|L1.1056|
0000c4 6800 LDR r0,[r0,#0] ; OSIdleCtrMax
0000c6 2164 MOVS r1,#0x64
0000c8 fbb0f6f1 UDIV r6,r0,r1
;;;969 for (;;) {
0000cc bf00 NOP
|L1.206|
;;;970 OS_ENTER_CRITICAL();
0000ce
没有合适的资源?快使用搜索试试~ 我知道了~
RTOS_MDK uCOS-II for STM32(LCD5110)
共386个文件
o:44个
d:43个
txt:42个
需积分: 10 7 下载量 145 浏览量
2011-08-18
09:21:15
上传
评论
收藏 3.23MB RAR 举报
温馨提示
RTOS_MDK uCOS-II for STM32(LCD5110)
资源推荐
资源详情
资源评论
收起资源包目录
RTOS_MDK uCOS-II for STM32(LCD5110) (386个子文件)
stm32f10x_systick.__i 350B
stm32f10x_dbgmcu.__i 346B
stm32f10x_usart.__i 342B
stm32f10x_flash.__i 342B
stm32f10x_wwdg.__i 338B
stm32f10x_gpio.__i 338B
stm32f10x_fsmc.__i 338B
stm32f10x_exti.__i 338B
stm32f10x_nvic.__i 338B
stm32f10x_sdio.__i 338B
stm32f10x_iwdg.__i 338B
stm32f10x_spi.__i 334B
stm32f10x_bkp.__i 334B
stm32f10x_crc.__i 334B
stm32f10x_dac.__i 334B
stm32f10x_can.__i 334B
stm32f10x_adc.__i 334B
stm32f10x_rtc.__i 334B
stm32f10x_pwr.__i 334B
stm32f10x_tim.__i 334B
stm32f10x_lib.__i 334B
stm32f10x_i2c.__i 334B
stm32f10x_rcc.__i 334B
stm32f10x_dma.__i 334B
stm32f10x_it.__i 322B
lcd5110_lib.__i 321B
os_cpu_c.__i 310B
cpu_init.__i 309B
os_mutex.__i 305B
os_mbox.__i 301B
os_time.__i 301B
os_task.__i 301B
os_core.__i 301B
os_flag.__i 301B
os_mem.__i 297B
os_sem.__i 297B
os_q.__i 289B
stm32f10x_tim1.__i 252B
ucos_ii.__i 215B
stm32f10x_systick._ip 252B
stm32f10x_dbgmcu._ip 250B
stm32f10x_usart._ip 248B
stm32f10x_flash._ip 248B
stm32f10x_gpio._ip 246B
stm32f10x_exti._ip 246B
stm32f10x_fsmc._ip 246B
stm32f10x_iwdg._ip 246B
stm32f10x_sdio._ip 246B
stm32f10x_wwdg._ip 246B
stm32f10x_nvic._ip 246B
stm32f10x_spi._ip 244B
stm32f10x_bkp._ip 244B
stm32f10x_crc._ip 244B
stm32f10x_adc._ip 244B
stm32f10x_dma._ip 244B
stm32f10x_rcc._ip 244B
stm32f10x_tim._ip 244B
stm32f10x_lib._ip 244B
stm32f10x_pwr._ip 244B
stm32f10x_rtc._ip 244B
stm32f10x_dac._ip 244B
stm32f10x_can._ip 244B
stm32f10x_i2c._ip 244B
lcd5110_lib._ip 235B
stm32f10x_it._ip 234B
os_cpu_c._ip 230B
cpu_init._ip 229B
os_mutex._ip 225B
os_task._ip 223B
os_flag._ip 223B
os_core._ip 223B
os_time._ip 223B
os_mbox._ip 223B
os_sem._ip 221B
os_mem._ip 221B
os_q._ip 217B
stm32f10x_tim1._ip 160B
ucos_ii._ip 137B
os_cpu_a.asm 7KB
RTOS.axf 282KB
RTOS_uvopt.bak 95KB
RTOS_uvproj.bak 23KB
stm32f10x_tim.c 128KB
stm32f10x_adc.c 57KB
OS_CORE.C 49KB
stm32f10x_i2c.c 46KB
OS_FLAG.C 43KB
stm32f10x_rcc.c 43KB
stm32f10x_usart.c 42KB
stm32f10x_fsmc.c 41KB
LCD5110_lib.c 40KB
stm32f10x_sdio.c 39KB
OS_TASK.C 35KB
stm32f10x_spi.c 34KB
OS_Q.C 34KB
stm32f10x_dma.c 33KB
stm32f10x_flash.c 32KB
stm32f10x_can.c 31KB
stm32f10x_it.c 30KB
stm32f10x_nvic.c 28KB
共 386 条
- 1
- 2
- 3
- 4
资源评论
会思考的键盘
- 粉丝: 43
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功