.module sysInit.c .area text ; id -> -2,x 0000 _sysInit:: 0000 34 pshx 0001 B775 tfr s,x 0003 1B96 leas -10,sp 0005 ; // sysInit.c 0005 ; 0005 ; #include <912d60.h> 0005 ; #include 0005 ; #include "kernel.h" 0005 ; 0005 ; 0005 ; 0005 ; // TASK PROTOTYPES 0005 ; int task1(void); 0005 ; int task2(void); 0005 ; 0005 ; 0005 ; 0005 ; 0005 ; int sysInit(void) { 0005 ; 0005 ; // LOCAL VARIABLES 0005 ; int id; 0005 ; 0005 ; 0005 ; /* must create all the tasks without interrupt, because this task 0005 ; will die when it finishes. */ 0005 ; //INTR_OFF(); 0005 ; 0005 ; 0005 ; // set up the serial port 0005 ; //setbaud(BAUD38K); // actually running at 19K baud due to xtal speed 0005 ; 0005 ; // any additional user setup goes here 0005 ; //---------------------------------------- 0005 ; //| | 0005 ; //---------------------------------------- 0005 ; 0005 ; 0005 ; 0005 ; // create task1 0005 ; if (create_task("dummy", &task1, 18, IDLE, 0) < 0) 0005 CC0000 ldd #0 0008 6C86 std 6,sp 000A CC0000 ldd #0 000D 6C84 std 4,sp 000F CC0012 ldd #18 0012 6C82 std 2,sp 0014 CC0000 ldd #_task1 0017 6C80 std 0,sp 0019 CC00A0 ldd #L6 001C 160000 jsr _create_task 001F 8C0000 cpd #0 0022 2C06 bge L4 0024 ; puts("task1 failure"); 0024 CC0092 ldd #L7 0027 160000 jsr _puts 002A L4: 002A ; 002A ; 002A ; // create task2 002A ; if (create_task("timer", &task2, 0, STOPPED, 255) < 0) 002A CC00FF ldd #255 002D 6C86 std 6,sp 002F CC0004 ldd #4 0032 6C84 std 4,sp 0034 CC0000 ldd #0 0037 6C82 std 2,sp 0039 CC0000 ldd #_task2 003C 6C80 std 0,sp 003E CC008C ldd #L10 0041 160000 jsr _create_task 0044 8C0000 cpd #0 0047 2C06 bge L8 0049 ; puts("task2 failure"); 0049 CC007E ldd #L11 004C 160000 jsr _puts 004F L8: 004F ; 004F ; 004F ; // create the COM2 mutex 004F ; if (create_mutex(COM2, "COM2") < 0) 004F CC0079 ldd #L14 0052 6C80 std 0,sp 0054 CC0004 ldd #4 0057 160000 jsr _create_mutex 005A 8C0000 cpd #0 005D 2C06 bge L12 005F ; puts("COM1 failure"); 005F CC006C ldd #L15 0062 160000 jsr _puts 0065 L12: 0065 ; 0065 ; 0065 ; return 0; 0065 CC0000 ldd #0 0068 L3: 0068 B757 tfr x,s 006A 30 pulx 006B .dbline 0 ; func end 006B 3D rts 006C L15: 006C 434F4D31206661696C75726500 .byte 'C,'O,'M,49,32,'f,'a,'i,'l,'u,'r,'e,0 0079 L14: 0079 434F4D3200 .byte 'C,'O,'M,50,0 007E L11: 007E 7461736B32206661696C75726500 .byte 't,'a,'s,'k,50,32,'f,'a,'i,'l,'u,'r,'e,0 008C L10: 008C 74696D657200 .byte 't,'i,'m,'e,'r,0 0092 L7: 0092 7461736B31206661696C75726500 .byte 't,'a,'s,'k,49,32,'f,'a,'i,'l,'u,'r,'e,0 00A0 L6: 00A0 64756D6D7900 .byte 'd,'u,'m,'m,'y,0