📄 ucos_app.lst
字号:
\ 0000004C 01002DE9 PUSH {R0}
\ 00000050 0230A0E3 MOV R3,#+2
\ 00000054 60209FE5 LDR R2,??AppTaskStart_0+0x8 ;; AppTaskLEDStk + 2044
\ 00000058 0010A0E3 MOV R1,#+0
\ 0000005C 5C009FE5 LDR R0,??AppTaskStart_0+0xC ;; AppTaskLed
\ 00000060 ........ _BLF OSTaskCreateExt,??OSTaskCreateExt??rA
\ 00000064 14D08DE2 ADD SP,SP,#+20 ;; stack cleaning
125
126
127 /************************************ 本任务实体,必须写成一个无穷循环 **********************************/
128 while (DEF_TRUE)
129 {
130 Ser_Printf("This is a uC/OS-II test, Task 1 .\r\n");
\ ??AppTaskStart_1:
\ 00000068 54009FE5 LDR R0,??AppTaskStart_0+0x10 ;; `?<Constant "This is a uC/OS-II te...">`
\ 0000006C ........ _BLF Ser_Printf,??Ser_Printf??rA
131 delay0 = 1000;
\ 00000070 FA0FA0E3 MOV R0,#+1000
\ 00000074 0050B0E1 MOVS R5,R0
132 OSTimeDlyHMSM(0, 0, delay0 / 1000, delay0 % 1000);
\ 00000078 0500B0E1 MOVS R0,R5
\ 0000007C FA1FA0E3 MOV R1,#+1000
\ 00000080 ........ _BLF ??divu32_a,??rA??divu32_a
\ 00000084 0030B0E1 MOVS R3,R0
\ 00000088 0338A0E1 MOV R3,R3, LSL #+16
\ 0000008C 2338B0E1 MOVS R3,R3, LSR #+16
\ 00000090 0500B0E1 MOVS R0,R5
\ 00000094 FA1FA0E3 MOV R1,#+1000
\ 00000098 ........ _BLF ??divu32_a,??rA??divu32_a
\ 0000009C 0120B0E1 MOVS R2,R1
\ 000000A0 FF2012E2 ANDS R2,R2,#0xFF ;; Zero extend
\ 000000A4 0010A0E3 MOV R1,#+0
\ 000000A8 0000A0E3 MOV R0,#+0
\ 000000AC ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rA
\ 000000B0 ECFFFFEA B ??AppTaskStart_1
\ ??AppTaskStart_0:
\ 000000B4 ........ DC32 AppTerminalRx
\ 000000B8 ........ DC32 AppTaskLEDStk
\ 000000BC ........ DC32 AppTaskLEDStk + 2044
\ 000000C0 ........ DC32 AppTaskLed
\ 000000C4 ........ DC32 `?<Constant "This is a uC/OS-II te...">`
133 }
134 }
135
136 /*
137 *********************************************************************************************************
138 * LED TASK
139 *
140 * Description : 单纯的LED和串口提示
141 *
142 * Arguments : p_arg is the argument passed to 'AppStartKbd()' by 'OSTaskCreate()'.
143 *
144 * Returns : none
145 *********************************************************************************************************
146 */
\ In segment CODE, align 4, keep-with-next
147 static void AppTaskLed (void *p_arg)
148 {
\ AppTaskLed:
\ 00000000 70402DE9 PUSH {R4-R6,LR}
\ 00000004 0040B0E1 MOVS R4,R0
149 (void)p_arg;
150 CPU_INT08U i;
151 CPU_INT32U delay0;
152
153 delay0 = 100;
\ 00000008 6400A0E3 MOV R0,#+100
\ 0000000C 0060B0E1 MOVS R6,R0
154
155 while(1)
156 {
157 Ser_Printf("This is a uC/OS-II test, Task 2 .\r\n");
\ ??AppTaskLed_0:
\ 00000010 B0009FE5 LDR R0,??AppTaskLed_1 ;; `?<Constant "This is a uC/OS-II te...">_1`
\ 00000014 ........ _BLF Ser_Printf,??Ser_Printf??rA
158
159 for (i = 1; i <= 4; i++)
\ 00000018 0100A0E3 MOV R0,#+1
\ 0000001C 0050B0E1 MOVS R5,R0
\ ??AppTaskLed_2:
\ 00000020 FF5015E2 ANDS R5,R5,#0xFF ;; Zero extend
\ 00000024 050055E3 CMP R5,#+5
\ 00000028 2300002A BCS ??AppTaskLed_3
160 {
161 LedOn(i);
\ 0000002C 0500B0E1 MOVS R0,R5
\ 00000030 FF0010E2 ANDS R0,R0,#0xFF ;; Zero extend
\ 00000034 ........ _BLF LedOn,??LedOn??rA
162 OSTimeDlyHMSM(0, 0, delay0 / 1000, delay0 % 1000);
\ 00000038 0600B0E1 MOVS R0,R6
\ 0000003C FA1FA0E3 MOV R1,#+1000
\ 00000040 ........ _BLF ??divu32_a,??rA??divu32_a
\ 00000044 0030B0E1 MOVS R3,R0
\ 00000048 0338A0E1 MOV R3,R3, LSL #+16
\ 0000004C 2338B0E1 MOVS R3,R3, LSR #+16
\ 00000050 0600B0E1 MOVS R0,R6
\ 00000054 FA1FA0E3 MOV R1,#+1000
\ 00000058 ........ _BLF ??divu32_a,??rA??divu32_a
\ 0000005C 0120B0E1 MOVS R2,R1
\ 00000060 FF2012E2 ANDS R2,R2,#0xFF ;; Zero extend
\ 00000064 0010A0E3 MOV R1,#+0
\ 00000068 0000A0E3 MOV R0,#+0
\ 0000006C ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rA
163 LedOff(i);
\ 00000070 0500B0E1 MOVS R0,R5
\ 00000074 FF0010E2 ANDS R0,R0,#0xFF ;; Zero extend
\ 00000078 ........ _BLF LedOff,??LedOff??rA
164 OSTimeDlyHMSM(0, 0, delay0 / 1000, delay0 % 1000);
\ 0000007C 0600B0E1 MOVS R0,R6
\ 00000080 FA1FA0E3 MOV R1,#+1000
\ 00000084 ........ _BLF ??divu32_a,??rA??divu32_a
\ 00000088 0030B0E1 MOVS R3,R0
\ 0000008C 0338A0E1 MOV R3,R3, LSL #+16
\ 00000090 2338B0E1 MOVS R3,R3, LSR #+16
\ 00000094 0600B0E1 MOVS R0,R6
\ 00000098 FA1FA0E3 MOV R1,#+1000
\ 0000009C ........ _BLF ??divu32_a,??rA??divu32_a
\ 000000A0 0120B0E1 MOVS R2,R1
\ 000000A4 FF2012E2 ANDS R2,R2,#0xFF ;; Zero extend
\ 000000A8 0010A0E3 MOV R1,#+0
\ 000000AC 0000A0E3 MOV R0,#+0
\ 000000B0 ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rA
165 }
\ 000000B4 015095E2 ADDS R5,R5,#+1
\ 000000B8 D8FFFFEA B ??AppTaskLed_2
166
167 OSTimeDly(OS_TICKS_PER_SEC / 10);
\ ??AppTaskLed_3:
\ 000000BC 6400A0E3 MOV R0,#+100
\ 000000C0 ........ _BLF OSTimeDly,??OSTimeDly??rA
\ 000000C4 D1FFFFEA B ??AppTaskLed_0
\ ??AppTaskLed_1:
\ 000000C8 ........ DC32 `?<Constant "This is a uC/OS-II te...">_1`
168 }
169 }
170
171 /*
172 *********************************************************************************************************
173 * uC/OS-VIew 终端窗口回显
174 *
175 * Description : 这是uC/OS-View的回显函数。如果有需要就自己写。
176 *
177 * Arguments : rx_data是接收到的数据
178 *
179 * Returns : none
180 *********************************************************************************************************
181 */
182
183 #if OS_VIEW_MODULE > 0
\ In segment CODE, align 4, keep-with-next
184 static void AppTerminalRx (CPU_INT08U rx_data)
185 {
186 }
\ AppTerminalRx:
\ 00000000 0EF0A0E1 MOV PC,LR ;; return
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "\\r\\nuC/OS-II now start ...">`:
\ 00000000 0D0A75432F4F DC8 "\015\012uC/OS-II now start running ... \015\012"
\ 532D4949206E
\ 6F7720737461
\ 72742072756E
\ 6E696E67202E
\ 2E2E200D0A00
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "Start Task">`:
\ 00000000 537461727420 DC8 "Start Task"
\ 5461736B00
\ 0000000B 00 DC8 0
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "This is a uC/OS-II te...">`:
\ 00000000 546869732069 DC8 "This is a uC/OS-II test, Task 1 .\015\012"
\ 732061207543
\ 2F4F532D4949
\ 20746573742C
\ 205461736B20
\ 31202E0D0A00
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "This is a uC/OS-II te...">_1`:
\ 00000000 546869732069 DC8 "This is a uC/OS-II test, Task 2 .\015\012"
\ 732061207543
\ 2F4F532D4949
\ 20746573742C
\ 205461736B20
\ 32202E0D0A00
187 #endif
Maximum stack usage in bytes:
Function CSTACK
-------- ------
AppTaskLed 16
AppTaskStart 32
AppTerminalRx 0
main 28
Segment part sizes:
Function/Label Bytes
-------------- -----
AppTaskStartStk 2048
AppTaskLEDStk 2048
main 160
AppTaskStart 200
AppTaskLed 204
AppTerminalRx 4
?<Constant "\r\nuC/OS-II now start ...">
36
?<Constant "Start Task"> 12
?<Constant "This is a uC/OS-II te...">
36
?<Constant "This is a uC/OS-II te...">_1
36
Others 240
796 bytes in segment CODE
120 bytes in segment DATA_C
4 096 bytes in segment DATA_Z
12 bytes in segment INITTAB
568 bytes of CODE memory (+ 240 bytes shared)
120 bytes of CONST memory
4 096 bytes of DATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -