📄 app.lst
字号:
128 static void App_DispScr_SignOn (void);
129 static void App_DispScr_TaskNames(void);
130
131 #if ((APP_PROBE_COM_EN == DEF_ENABLED) || \
132 (APP_OS_PROBE_EN == DEF_ENABLED))
133 static void App_InitProbe (void);
134 #endif
135
136 #if (APP_OS_PROBE_EN == DEF_ENABLED)
137 static void App_ProbeCallback (void);
138 #endif
139
140
141 static void App_FormatDec (CPU_INT08U *pstr,
142 CPU_INT32U value,
143 CPU_INT08U digits);
144
145
146 /*
147 *********************************************************************************************************
148 * main()
149 *
150 * Description : This is the standard entry point for C code. It is assumed that your code will call
151 * main() once you have performed all necessary initialization.
152 *
153 * Argument(s) : none.
154 *
155 * Return(s) : none.
156 *********************************************************************************************************
157 */
158
\ In segment CODE, align 4, keep-with-next
159 int main (void)
160 {
\ main:
\ 00000000 01B5 PUSH {R0,LR}
161 CPU_INT08U os_err;
162
163
164 BSP_IntDisAll(); /* Disable all ints until we are ready to accept them. */
\ 00000002 ........ _BLF BSP_IntDisAll,??BSP_IntDisAll??rT
165
166 OSInit(); /* Initialize "uC/OS-II, The Real-Time Kernel". */
\ 00000006 ........ _BLF OSInit,??OSInit??rT
167
168 os_err = OSTaskCreateExt((void (*)(void *)) App_TaskStart, /* Create the start task. */
169 (void * ) 0,
170 (OS_STK * )&App_TaskStartStk[APP_TASK_START_STK_SIZE - 1],
171 (INT8U ) APP_TASK_START_PRIO,
172 (INT16U ) APP_TASK_START_PRIO,
173 (OS_STK * )&App_TaskStartStk[0],
174 (INT32U ) APP_TASK_START_STK_SIZE,
175 (void * )0,
176 (INT16U )(OS_TASK_OPT_STK_CLR | OS_TASK_OPT_STK_CHK));
\ 0000000A 0D48 LDR.N R0,??main_0 ;; App_TaskStartStk
\ 0000000C 0323 MOVS R3,#+3
\ 0000000E 0022 MOVS R2,#+0
\ 00000010 5FF40071 MOVS R1,#+512
\ 00000014 0FB4 PUSH {R0-R3}
\ 00000016 1946 MOV R1,R3
\ 00000018 02B4 PUSH {R1}
\ 0000001A 00F2FC72 ADDW R2,R0,#+2044
\ 0000001E 0021 MOVS R1,#+0
\ 00000020 0848 LDR.N R0,??main_0+0x4 ;; App_TaskStart
\ 00000022 ........ _BLF OSTaskCreateExt,??OSTaskCreateExt??rT
\ 00000026 8DF81400 STRB R0,[SP, #+20]
177
178 #if (OS_TASK_NAME_SIZE >= 11)
179 OSTaskNameSet(APP_TASK_START_PRIO, (CPU_INT08U *)"Start Task", &os_err);
\ 0000002A 05AA ADD R2,SP,#+20
\ 0000002C 0649 LDR.N R1,??main_0+0x8 ;; `?<Constant "Start Task">`
\ 0000002E 0320 MOVS R0,#+3
\ 00000030 ........ _BLF OSTaskNameSet,??OSTaskNameSet??rT
180 #endif
181
182 OSStart(); /* Start multitasking (i.e. give control to uC/OS-II). */
\ 00000034 ........ _BLF OSStart,??OSStart??rT
183
184 return (0);
\ 00000038 0020 MOVS R0,#+0
\ 0000003A 06B0 ADD SP,SP,#+24
\ 0000003C 00BD POP {PC} ;; return
\ 0000003E 00BF Nop
\ ??main_0:
\ 00000040 ........ DC32 App_TaskStartStk
\ 00000044 ........ DC32 App_TaskStart
\ 00000048 ........ DC32 `?<Constant "Start Task">`
185 }
186
187
188 /*
189 *********************************************************************************************************
190 * App_TaskStart()
191 *
192 * Description : The startup task. The uC/OS-II ticker should only be initialize once multitasking starts.
193 *
194 * Argument(s) : p_arg Argument passed to 'App_TaskStart()' by 'OSTaskCreate()'.
195 *
196 * Return(s) : none.
197 *
198 * Caller(s) : This is a task.
199 *
200 * Note(s) : none.
201 *********************************************************************************************************
202 */
203
\ In segment CODE, align 4, keep-with-next
204 static void App_TaskStart (void *p_arg)
205 {
\ App_TaskStart:
\ 00000000 70B5 PUSH {R4-R6,LR}
206 CPU_INT32U i;
207 CPU_INT32U j;
208
209
210 (void)p_arg;
211
212 BSP_Init(); /* Initialize BSP functions. */
\ 00000002 ........ _BLF BSP_Init,??BSP_Init??rT
213 OS_CPU_SysTickInit(); /* Initialize the SysTick. */
\ 00000006 ........ _BLF OS_CPU_SysTickInit,??OS_CPU_SysTickInit??rT
214
215 #if (OS_TASK_STAT_EN > 0)
216 OSStatInit(); /* Determine CPU capacity. */
\ 0000000A ........ _BLF OSStatInit,??OSStatInit??rT
217 #endif
218
219 #if ((APP_PROBE_COM_EN == DEF_ENABLED) || \
220 (APP_OS_PROBE_EN == DEF_ENABLED))
221 App_InitProbe();
\ 0000000E ........ BL App_InitProbe
222 #endif
223
224 App_EventCreate(); /* Create application events. */
\ 00000012 ........ BL App_EventCreate
225 App_TaskCreate(); /* Create application tasks. */
\ 00000016 ........ BL App_TaskCreate
\ 0000001A 0024 MOVS R4,#+0
226
227 while (DEF_TRUE) { /* Task body, always written as an infinite loop. */
228 for (j = 0; j < 4; j++) {
\ ??App_TaskStart_0:
\ 0000001C 2500 MOVS R5,R4
\ 0000001E 17E0 B.N ??App_TaskStart_1
229 for (i = 1; i <= 4; i++) {
230 BSP_LED_On(i);
231 OSTimeDlyHMSM(0, 0, 0, 50);
232 BSP_LED_Off(i);
233 OSTimeDlyHMSM(0, 0, 0, 50);
234 }
235
236 for (i = 3; i >= 2; i--) {
237 BSP_LED_On(i);
\ ??App_TaskStart_2:
\ 00000020 3000 MOVS R0,R6
\ 00000022 C0B2 UXTB R0,R0
\ 00000024 ........ _BLF BSP_LED_On,??BSP_LED_On??rT
238 OSTimeDlyHMSM(0, 0, 0, 50);
\ 00000028 3223 MOVS R3,#+50
\ 0000002A 2246 MOV R2,R4
\ 0000002C 1146 MOV R1,R2
\ 0000002E 0846 MOV R0,R1
\ 00000030 ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
239 BSP_LED_Off(i);
\ 00000034 3000 MOVS R0,R6
\ 00000036 C0B2 UXTB R0,R0
\ 00000038 ........ _BLF BSP_LED_Off,??BSP_LED_Off??rT
240 OSTimeDlyHMSM(0, 0, 0, 50);
\ 0000003C 3223 MOVS R3,#+50
\ 0000003E 2246 MOV R2,R4
\ 00000040 1146 MOV R1,R2
\ 00000042 0846 MOV R0,R1
\ 00000044 ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
241 }
\ 00000048 761E SUBS R6,R6,#+1
\ ??App_TaskStart_3:
\ 0000004A 022E CMP R6,#+2
\ 0000004C E8D2 BCS.N ??App_TaskStart_2
\ 0000004E 6D1C ADDS R5,R5,#+1
\ ??App_TaskStart_1:
\ 00000050 042D CMP R5,#+4
\ 00000052 1AD2 BCS.N ??App_TaskStart_4
\ 00000054 0126 MOVS R6,#+1
\ 00000056 14E0 B.N ??App_TaskStart_5
\ ??App_TaskStart_6:
\ 00000058 3000 MOVS R0,R6
\ 0000005A C0B2 UXTB R0,R0
\ 0000005C ........ _BLF BSP_LED_On,??BSP_LED_On??rT
\ 00000060 3223 MOVS R3,#+50
\ 00000062 2246 MOV R2,R4
\ 00000064 1146 MOV R1,R2
\ 00000066 0846 MOV R0,R1
\ 00000068 ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
\ 0000006C 3000 MOVS R0,R6
\ 0000006E C0B2 UXTB R0,R0
\ 00000070 ........ _BLF BSP_LED_Off,??BSP_LED_Off??rT
\ 00000074 3223 MOVS R3,#+50
\ 00000076 2246 MOV R2,R4
\ 00000078 1146 MOV R1,R2
\ 0000007A 0846 MOV R0,R1
\ 0000007C ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
\ 00000080 761C ADDS R6,R6,#+1
\ ??App_TaskStart_5:
\ 00000082 052E CMP R6,#+5
\ 00000084 E8D3 BCC.N ??App_TaskStart_6
\ 00000086 0326 MOVS R6,#+3
\ 00000088 DFE7 B.N ??App_TaskStart_3
242 }
243
244 for (i = 0; i < 4; i++) {
\ ??App_TaskStart_4:
\ 0000008A 2600 MOVS R6,R4
\ ??App_TaskStart_7:
\ 0000008C 042E CMP R6,#+4
\ 0000008E C5D2 BCS.N ??App_TaskStart_0
245 BSP_LED_On(0);
\ 00000090 2046 MOV R0,R4
\ 00000092 ........ _BLF BSP_LED_On,??BSP_LED_On??rT
246 OSTimeDlyHMSM(0, 0, 0, 200);
\ 00000096 C823 MOVS R3,#+200
\ 00000098 2246 MOV R2,R4
\ 0000009A 1146 MOV R1,R2
\ 0000009C 0846 MOV R0,R1
\ 0000009E ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
247 BSP_LED_Off(0);
\ 000000A2 2046 MOV R0,R4
\ 000000A4 ........ _BLF BSP_LED_Off,??BSP_LED_Off??rT
248 OSTimeDlyHMSM(0, 0, 0, 200);
\ 000000A8 C823 MOVS R3,#+200
\ 000000AA 2246 MOV R2,R4
\ 000000AC 1146 MOV R1,R2
\ 000000AE 0846 MOV R0,R1
\ 000000B0 ........ _BLF OSTimeDlyHMSM,??OSTimeDlyHMSM??rT
249 }
\ 000000B4 761C ADDS R6,R6,#+1
\ 000000B6 E9E7 B.N ??App_TaskStart_7
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -