📄 probe_rs232_os.lst
字号:
147 err = OSTaskCreateExt( ProbeRS232_OS_Task,
148 (void *)0,
149 &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1], /* Set Top-Of-Stack. */
150 PROBE_RS232_TASK_PRIO,
151 PROBE_RS232_TASK_PRIO,
152 &ProbeRS232_OS_TaskStk[0], /* Set Bottom-Of-Stack. */
153 PROBE_RS232_TASK_STK_SIZE,
154 (void *)0, /* No TCB extension. */
155 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 0820 MOVS R0,#+8
\ 00000026 01B4 PUSH {R0}
\ 00000028 0346 MOV R3,R0
\ 0000002A 14F58062 ADDS R2,R4,#+1024
\ 0000002E 0021 MOVS R1,#+0
\ 00000030 0648 LDR.N R0,??ProbeRS232_OS_Init_0+0x4 ;; ProbeRS232_OS_Task
\ 00000032 ........ _BLF OSTaskCreateExt,??OSTaskCreateExt??rT
\ 00000036 8DF81400 STRB R0,[SP, #+20]
156 #else
157 err = OSTaskCreateExt( ProbeRS232_OS_Task,
158 (void *)0,
159 &ProbeRS232_OS_TaskStk[0], /* Set Top-Of-Stack. */
160 PROBE_RS232_TASK_PRIO,
161 PROBE_RS232_TASK_PRIO,
162 &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1], /* Set Bottom-Of-Stack. */
163 PROBE_RS232_TASK_STK_SIZE,
164 (void *)0, /* No TCB extension. */
165 OS_TASK_OPT_STK_CHK | OS_TASK_OPT_STK_CLR); /* Enable stack checking + clear stack. */
166 #endif
167 #else
168 #if (OS_STK_GROWTH == 1)
169 err = OSTaskCreate( ProbeRS232_OS_Task,
170 (void *)0,
171 &ProbeRS232_OS_TaskStk[PROBE_RS232_TASK_STK_SIZE - 1],
172 PROBE_RS232_TASK_PRIO);
173 #else
174 err = OSTaskCreate( ProbeRS232_OS_Task,
175 (void *)0,
176 &ProbeRS232_OS_TaskStk[0],
177 PROBE_RS232_TASK_PRIO);
178 #endif
179 #endif
180
181 #if (OS_TASK_NAME_SIZE > 13)
182 OSTaskNameSet(PROBE_RS232_TASK_PRIO, (CPU_INT08U *)"Probe RS-232", &err);
\ 0000003A 05AA ADD R2,SP,#+20
\ 0000003C 2900 MOVS R1,R5
\ 0000003E 0820 MOVS R0,#+8
\ 00000040 ........ _BLF OSTaskNameSet,??OSTaskNameSet??rT
183 #endif
184 }
\ 00000044 06B0 ADD SP,SP,#+24
\ 00000046 30BD POP {R4,R5,PC} ;; return
\ ??ProbeRS232_OS_Init_0:
\ 00000048 ........ DC32 `?<Constant "Probe RS-232">`
\ 0000004C ........ DC32 ProbeRS232_OS_Task
185 #endif
186
187
188 /*
189 *********************************************************************************************************
190 * ProbeRS232_OS_Pend()
191 *
192 * Description : Wait for a packet to be received.
193 *
194 * Argument(s) : none.
195 *
196 * Return(s) : none.
197 *
198 * Caller(s) : ProbeRS232_Task().
199 *
200 * Note(s) : none.
201 *********************************************************************************************************
202 */
203
204 #if (PROBE_RS232_PARSE_TASK == DEF_ENABLED)
\ In segment CODE, align 4, keep-with-next
205 void ProbeRS232_OS_Pend (void)
206 {
\ ProbeRS232_OS_Pend:
\ 00000000 01B5 PUSH {R0,LR}
207 #if (OS_SEM_EN > 0)
208 CPU_INT08U err;
209
210
211 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
212 #endif
213 }
\ 0000000E 01BD POP {R0,PC} ;; return
214 #endif
215
216
217 /*
218 *********************************************************************************************************
219 * ProbeRS232_OS_Post()
220 *
221 * Description : Notify a pending task that a packet has been receieved.
222 *
223 * Argument(s) : none.
224 *
225 * Return(s) : none.
226 *
227 * Caller(s) : ProbeRS232_RxPkt().
228 *
229 * Note(s) : none.
230 *********************************************************************************************************
231 */
232
233 #if (PROBE_RS232_PARSE_TASK == DEF_ENABLED)
\ In segment CODE, align 4, keep-with-next
234 void ProbeRS232_OS_Post (void)
235 {
\ ProbeRS232_OS_Post:
\ 00000000 00B5 PUSH {LR}
236 #if (OS_SEM_EN > 0)
237 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
238 #endif
239 }
\ 0000000A 00BD POP {PC} ;; return
240 #endif
241
242
243 /*
244 *********************************************************************************************************
245 *********************************************************************************************************
246 ** LOCAL FUNCTIONS
247 *********************************************************************************************************
248 *********************************************************************************************************
249 */
250
251 /*
252 *********************************************************************************************************
253 * ProbeRS232_OS_Task()
254 *
255 * Description : Task which waits for packets to be received, formalates responses, and begins transmission.
256 *
257 * Argument(s) : p_arg Argument passed to ProbeRS232_OS_Task() by 'OSTaskCreate()'.
258 *
259 * Return(s) : none.
260 *
261 * Caller(s) : This is a task.
262 *
263 * Note(s) : none.
264 *********************************************************************************************************
265 */
266
267 #if (PROBE_RS232_PARSE_TASK == DEF_ENABLED)
\ In segment CODE, align 4, keep-with-next
268 static void ProbeRS232_OS_Task (void *p_arg)
269 {
\ ProbeRS232_OS_Task:
\ 00000000 00B5 PUSH {LR}
270 ProbeRS232_Task(p_arg);
\ 00000002 ........ _BLF ProbeRS232_Task,??ProbeRS232_Task??rT
271 }
\ 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
272 #endif
273
274 #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 80
ProbeRS232_OS_Pend 16
ProbeRS232_OS_Post 12
ProbeRS232_OS_Task 8
??DataTable2 4
?<Constant "Probe RS-232"> 16
Others 76
184 bytes in segment CODE
16 bytes in segment DATA_C
1 028 bytes in segment DATA_Z
12 bytes in segment INITTAB
120 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 + -