📄 probe_rs232_os.lst
字号:
141 #endif
142
143 #if (OS_TASK_CREATE_EXT_EN > 0)
144 #if (OS_STK_GROWTH == 1)
145 (void)OSTaskCreateExt(ProbeRS232_OS_Task,
146 (void *)0, /* No arguments passed to OSView_Task() */
147 &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],/* Set Top-Of-Stack */
148 PROBE_RS232_TASK_PRIO, /* Lowest priority level */
149 PROBE_RS232_TASK_PRIO,
150 &ProbeRS232_OS_TaskStk[0], /* Set Bottom-Of-Stack */
151 PROBE_RS232_TASK_STK_SIZE,
152 (void *)0, /* No TCB extension */
153 OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); /* Enable stack checking + clear stack */
\ 00000016 0323 MOVS R3,#+3
\ 00000018 0022 MOVS R2,#+0
\ 0000001A 5FF48071 MOVS R1,#+256
\ 0000001E 2000 MOVS R0,R4
\ 00000020 001D ADDS R0,R0,#+4
\ 00000022 0FB4 PUSH {R0-R3}
\ 00000024 0720 MOVS R0,#+7
\ 00000026 01B4 PUSH {R0}
\ 00000028 0346 MOV R3,R0
\ 0000002A 14F58062 ADDS R2,R4,#+1024
\ 0000002E 0021 MOVS R1,#+0
\ 00000030 0548 LDR.N R0,??ProbeRS232_OS_Init_0+0x4 ;; ProbeRS232_OS_Task
\ 00000032 ........ _BLF OSTaskCreateExt,??OSTaskCreateExt??rT
154 #else
155 (void)OSTaskCreateExt(ProbeRS232_OS_Task,
156 (void *)0, /* No arguments passed to OSView_Task() */
157 &ProbeRS232_OS_TaskStk[0], /* Set Top-Of-Stack */
158 PROBE_RS232_TASK_PRIO, /* Lowest priority level */
159 PROBE_RS232_TASK_PRIO,
160 &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],/* Set Bottom-Of-Stack */
161 PROBE_RS232_TASK_STK_SIZE,
162 (void *)0, /* No TCB extension */
163 OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); /* Enable stack checking + clear stack */
164 #endif
165 #else
166 #if (OS_STK_GROWTH == 1)
167 (void)OSTaskCreate(ProbeRS232_OS_Task,
168 (void *)0,
169 &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],
170 PROBE_RS232_TASK_PRIO);
171 #else
172 (void)OSTaskCreate(ProbeRS232_OS_Task,
173 (void *)0,
174 &ProbeRS232_OS_TaskStk[0],
175 PROBE_RS232_TASK_PRIO);
176 #endif
177 #endif
178
179 #if (OS_TASK_NAME_SIZE > 16)
180 OSTaskNameSet(PROBE_RS232_TASK_PRIO, (CPU_INT08U *)"uC/Probe RS-232", &err);
181 #else
182 #if (OS_TASK_NAME_SIZE > 13)
183 OSTaskNameSet(PROBE_RS232_TASK_PRIO, (CPU_INT08U *)"Probe RS-232", &err);
\ 00000036 05AA ADD R2,SP,#+20
\ 00000038 2900 MOVS R1,R5
\ 0000003A 0720 MOVS R0,#+7
\ 0000003C ........ _BLF OSTaskNameSet,??OSTaskNameSet??rT
184 #endif
185 #endif
186 }
\ 00000040 06B0 ADD SP,SP,#+24
\ 00000042 30BD POP {R4,R5,PC} ;; return
\ ??ProbeRS232_OS_Init_0:
\ 00000044 ........ DC32 `?<Constant "Probe RS-232">`
\ 00000048 ........ DC32 ProbeRS232_OS_Task
187 #endif
188
189
190 /*
191 *********************************************************************************************************
192 * Wait for a Packet
193 *
194 * Description: This function causes the calling task to wait for a packet to be received.
195 *
196 * Argument(s): None
197 *
198 * Returns : None
199 *********************************************************************************************************
200 */
201
202 #if (PROBE_RS232_PARSE_TASK > 0)
\ In segment CODE, align 4, keep-with-next
203 void ProbeRS232_OS_Pend (void)
204 {
\ ProbeRS232_OS_Pend:
\ 00000000 01B5 PUSH {R0,LR}
205 #if (OS_SEM_EN > 0)
206 CPU_INT08U err;
207
208
209 OSSemPend(ProbeRS232_OS_Sem, 0, &err); /* Wait for a packet to be received */
\ 00000002 6A46 MOV R2,SP
\ 00000004 0021 MOVS R1,#+0
\ 00000006 .... LDR.N R0,??DataTable2 ;; ProbeRS232_OS_Sem
\ 00000008 0068 LDR R0,[R0, #+0]
\ 0000000A ........ _BLF OSSemPend,??OSSemPend??rT
210 #endif
211 }
\ 0000000E 01BD POP {R0,PC} ;; return
212 #endif
213
214
215 /*
216 *********************************************************************************************************
217 * Notify Packet Reception
218 *
219 * Description: This function notifies a pending task that a packet has been receieved.
220 *
221 * Argument(s): None
222 *
223 * Returns : None
224 *********************************************************************************************************
225 */
226
227 #if (PROBE_RS232_PARSE_TASK > 0) && (OS_SEM_EN > 0)
\ In segment CODE, align 4, keep-with-next
228 void ProbeRS232_OS_Post (void)
229 {
\ ProbeRS232_OS_Post:
\ 00000000 00B5 PUSH {LR}
230 #if (OS_SEM_EN > 0)
231 OSSemPost(ProbeRS232_OS_Sem); /* A packet has been received */
\ 00000002 .... LDR.N R0,??DataTable2 ;; ProbeRS232_OS_Sem
\ 00000004 0068 LDR R0,[R0, #+0]
\ 00000006 ........ _BLF OSSemPost,??OSSemPost??rT
232 #endif
233 }
\ 0000000A 00BD POP {PC} ;; return
234 #endif
235
236
237 /*
238 *********************************************************************************************************
239 *********************************************************************************************************
240 ** LOCAL FUNCTIONS
241 *********************************************************************************************************
242 *********************************************************************************************************
243 */
244
245 /*
246 *********************************************************************************************************
247 * uC/OS-II Task
248 *
249 * Description: This task waits for packets to be received, formalates responses, and begins transmission.
250 *
251 * Argument(s): p_arg is the argument passed to ProbeRS232_OS_Task() by 'OSTaskCreate()'.
252 *
253 * Returns : None
254 *********************************************************************************************************
255 */
256
257 #if (PROBE_RS232_PARSE_TASK > 0)
\ In segment CODE, align 4, keep-with-next
258 static void ProbeRS232_OS_Task (void *p_arg)
259 {
\ ProbeRS232_OS_Task:
\ 00000000 00B5 PUSH {LR}
260 ProbeRS232_Task(p_arg);
\ 00000002 ........ _BLF ProbeRS232_Task,??ProbeRS232_Task??rT
261 }
\ 00000006 00BD POP {PC} ;; return
\ In segment CODE, align 4, keep-with-next
\ ??DataTable2:
\ 00000000 ........ DC32 ProbeRS232_OS_Sem
\ In segment DATA_C, align 4, align-sorted
\ `?<Constant "Probe RS-232">`:
\ 00000000 50726F626520 DC8 "Probe RS-232"
\ 52532D323332
\ 00
\ 0000000D 000000 DC8 0, 0, 0
262 #endif
Maximum stack usage in bytes:
Function CSTACK
-------- ------
ProbeRS232_OS_Init 36
ProbeRS232_OS_Pend 8
ProbeRS232_OS_Post 4
ProbeRS232_OS_Task 4
Segment part sizes:
Function/Label Bytes
-------------- -----
ProbeRS232_OS_Sem 1028
ProbeRS232_OS_Init 76
ProbeRS232_OS_Pend 16
ProbeRS232_OS_Post 12
ProbeRS232_OS_Task 8
??DataTable2 4
?<Constant "Probe RS-232"> 16
Others 76
180 bytes in segment CODE
16 bytes in segment DATA_C
1 028 bytes in segment DATA_Z
12 bytes in segment INITTAB
116 bytes of CODE memory (+ 76 bytes shared)
16 bytes of CONST memory
1 028 bytes of DATA memory
Errors: none
Warnings: none
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -