hello.c00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00050 #include <sys/ports.h>
00051
00052 static void put_char (unsigned char c);
00053 static void flush (void);
00054 static void serial_print (const char* msg);
00055 void _start (void);
00056
00057 void
00058 _start()
00059 {
00060 asm ("lds #_stack");
00061 serial_print ("Hi!\n");
00062 while (1)
00063 {
00064 serial_print ("Hello world!\n");
00065 }
00066 }
00067
00068 static void
00069 flush ()
00070 {
00071 while (!(_io_ports[M6811_SCSR] & M6811_TDRE))
00072 continue;
00073 }
00074
00075 static void
00076 put_char (unsigned char c)
00077 {
00078 flush ();
00079 _io_ports[M6811_SCDR] = c;
00080 _io_ports[M6811_SCCR2] |= M6811_TE;
00081 }
00082
00083 static void
00084 serial_print (const char* msg)
00085 {
00086 while (*msg)
00087 put_char (*msg++);
00088 }
|