Chapter 5 Detailed Applications - 88 -
233 JSR.W __init_alh
234 .ENDIF
235
236 .IF CYCLIC_HANDLER
237 .GLB __init_cyh
238 JSR.W __init_cyh
239 .ENDIF
240
241 .IF __NUM_MPF ;*A1*
242 ; Fixed Memory Pool
243 .GLB __init_mpf
244 JSR.W __init_mpf
245 .ENDIF
246
247 .IF __NUM_MPL ;*A1*
248 ; Variable Memory Pool
249 .GLB __init_mpl
250 JSR.W __init_mpl
251 .ENDIF
252
253 ; For PD308
254 __LAST_INITIAL
255
256 __END_INIT:
257
258 ; +-----------------------------------------------------+
259 ; | Start initial active task |
260 ; +-----------------------------------------------------+
261 __START_TASK
262
263 .GLB __rdyq_search
264 JMP.W __rdyq_search
265
266 ; +---------------------------------------------+
267 ; | Define Dummy |
268 ; +---------------------------------------------+
269 .GLB __SYS_DMY_INH
270 __SYS_DMY_INH:
271 REIT
272
273 .IF CUSTOM_SYS_END
274 ; +---------------------------------------------+
275 ; | Syscall exit rouitne to customize
276 ; +---------------------------------------------+
277 .GLB __sys_end
278 __sys_end:
279 ; Customize here.
280 REIT
281 .ENDIF
282
283 ; +---------------------------------------------+
284 ; | exit() function |
285 ; +---------------------------------------------+
286 .GLB _exit,$exit
287 _exit:
288 $exit:
289 JMP _exit
290
291 .IF USE_TIMER
292 ; +---------------------------------------------+
293 ; | System clock interrupt handler |
294 ; +---------------------------------------------+
295 .GLB __SYS_STMR_INH
296 .ALIGN
297 __SYS_STMR_INH:
298 ; process issue system call
299 ; For PD308
300 __ISSUE_SYSCALL
301
302 ; System timer interrupt handler
303 _STMR_hdr
304
305 ret_int
306 .ENDIF
Figure 5.14 C Language Startup Program (crt0mr.a30)