diff --git a/include/bwio.h b/include/bwio.h index 8319f8659f6065943a006831e717a49d7f84799b..f435f040a864ce2c90cbf056bfc0ab65c2e1601b 100644 --- a/include/bwio.h +++ b/include/bwio.h @@ -1,5 +1,8 @@ +#ifndef __BWIO_H__ +#define __BWIO_H__ /* * bwio.h + * Copied from Bill Cowan /u/wbcowan/cs452/io/include/bwio.h */ typedef char *va_list; @@ -37,3 +40,4 @@ int bwputr( int channel, unsigned int reg ); void bwputw( int channel, int n, char fc, char *bf ); void bwprintf( int channel, char *format, ... ); +#endif diff --git a/include/cmd.h b/include/cmd.h new file mode 100644 index 0000000000000000000000000000000000000000..089a981cb5b34895191caf82e9df5fde156ab3a4 --- /dev/null +++ b/include/cmd.h @@ -0,0 +1,6 @@ +#ifndef __CMD_H__ +#define __CMD_H__ + +#define CMD_HALT 0 +int ListenCommand(); +#endif diff --git a/include/mycanvas.h b/include/mycanvas.h index 3fd60cfdc7915c00859f91b3a9dad0d1bc384c49..fd609fcf82bbec2b2613203a50ac817f1bdf8edd 100644 --- a/include/mycanvas.h +++ b/include/mycanvas.h @@ -1,6 +1,24 @@ #ifndef __CANVAS_H__ #define __CANVAS_H__ +#include <bwio.h> +#include <myclock.h> +/* + * The Cursor Addressing Macro is provided by + * courseweb.stthomas.edu/tpsturm/private/notes/qm300/ANSI.html + */ -void DrawClock(int* ClockCount); +#define ESC_CANVAS 27 +#define CLEAR_SCREEN bwprintf(COM2, "%c[2J", ESC_CANVAS) + +#define MOVE_UP(Num) bwprintf(COM2, "%c[%dA", ESC_CANVAS) +#define MOVE_DOWN(Num) bwprintf(COM2, "%c[%dB", ESC_CANVAS) +#define MOVE_LEFT(Num) bwprintf(COM2, "%c[%dD", ESC_CANVAS,Num) +#define MOVE_RIGHT(Num) bwprintf(COM2, "%c[%dC", ESC_CANVAS,Num) +#define CURSOR_POS(Row, Col) bwprintf(COM2, "%c[%d;%dH",ESC_CANVAS, Row, Col) + +void DrawLine_H(const char Element, const int Length); +void DrawLine_V(const char Element, const int Length); +void DrawPanel(); +void DrawClock(Clock* MyClock); #endif diff --git a/include/mycanvas.h~ b/include/mycanvas.h~ deleted file mode 100644 index 956253e0fdf362447af970826105bb637980a5f3..0000000000000000000000000000000000000000 --- a/include/mycanvas.h~ +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef __CANVAS_H__ -#define __CANVAS_H__ - -void DrawClock(); - -#endif diff --git a/include/myclock.h b/include/myclock.h index ce312c32e62daacc65279ef1f361f7f38219ee93..35d3a9a14374833e6465aa7d6aea9550eefbf1fc 100644 --- a/include/myclock.h +++ b/include/myclock.h @@ -3,8 +3,16 @@ #define CLOCK_LOAD_VALUE 50800 +typedef struct +{ + unsigned int ClockCount; + unsigned int LastTimerValue; + char bChanged; +} Clock; + + // initialize the global time to 0 -void InitClockCount(int *ClockCount, int* LastTimerValue); +void InitClockCount(Clock* MyClock); // update the time count from start of the program -void UpdateClock(int* ClockCount, int* LastTimerValue); +void UpdateClock(Clock* MyClock); #endif diff --git a/include/myclock.h~ b/include/myclock.h~ deleted file mode 100644 index 81ba61ed1efa71f391b4e7bef3ee31b4098061fa..0000000000000000000000000000000000000000 --- a/include/myclock.h~ +++ /dev/null @@ -1,11 +0,0 @@ -#ifndef __MY_CLOCK_H__ -#define __MY_CLOCK_H__ - -#define CLOCK_LOAD_VALUE 50800 - -volatile static unsigned int ClockCount; -// initialize the global time to 0 -void InitClockCount(int *ClockCount, int* LastTimerValue); -// update the time count from start of the program -void UpdateClock(int* ClockCount, int* LastTimerValue); -#endif diff --git a/src/Makefile b/src/Makefile index f20846a487da456fcbedbf93508f32b5fa835b41..38247bfea852eec5b72beca7ebec86213022717c 100644 --- a/src/Makefile +++ b/src/Makefile @@ -19,7 +19,7 @@ ARFLAGS = rcs LDFLAGS = -init main -Map first.map -N -T orex.ld -L/u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2 -L../lib -all: startup.elf #first.elf +all: startup.elf clocktest.elf startup.s: startup.c $(XCC) -S $(CFLAGS) startup.c @@ -28,8 +28,27 @@ startup.o: startup.s $(AS) $(ASFLAGS) -o startup.o startup.s startup.elf: startup.o - $(LD) $(LDFLAGS) -o $@ startup.o -lmycanvas -lmyclock -lbwio -lgcc + $(LD) $(LDFLAGS) -o $@ startup.o -lmycanvas -lmyclock -lcmd -lbwio -lgcc + +clocktest.s: clocktest.c + $(XCC) -S $(CFLAGS) clocktest.c + +clocktest.o: clocktest.s + $(AS) $(ASFLAGS) -o clocktest.o clocktest.s + +clocktest.elf: clocktest.o + $(LD) $(LDFLAGS) -o $@ clocktest.o -lbwio -lgcc + + +getc.s: getc.c + $(XCC) -S $(CFLAGS) getc.c + +getc.o: getc.s + $(AS) $(ASFLAGS) -o getc.o getc.s + +getc.elf: getc.o + $(LD) $(LDFLAGS) -o $@ getc.o -lbwio -lgcc clean: - -rm -f first.elf *.s *.o startup.map *.a *~ + -rm -f *.elf *.s *.o startup.map *.a *~ diff --git a/src/clocktest.c b/src/clocktest.c new file mode 100644 index 0000000000000000000000000000000000000000..6cf1c36887813b4b6fd9b055bd57c8566f854a23 --- /dev/null +++ b/src/clocktest.c @@ -0,0 +1,19 @@ +#include <bwio.h> +#include <ts7200.h> + +int main(){ + bwsetfifo(COM2,OFF); + bwsetspeed(COM2, 115200); + volatile unsigned int Count; + unsigned int * load= (unsigned int *) (TIMER3_BASE + LDR_OFFSET); + unsigned int * control= (unsigned int *) (TIMER3_BASE + CRTL_OFFSET); + unsigned int * read = (unsigned int *) (TIMER3_BASE + VAL_OFFSET); + *load = 508000; + *control = ENABLE_MASK | (MODE_MASK | CLKSEL_MASK); + while(1){ + Count = *read; + //bwprintf(COM2,"LOAD: %d\n\r", *load); + bwprintf(COM2,"VAL: %d\n\r", Count); + } + return 0; +} diff --git a/src/first.map b/src/first.map index 3ea6cb0ac14eec8c3247e9c9e0bca4d5f0a2c6d5..90c606acfa84f38dded0457cbbf9e99b081e28f7 100644 --- a/src/first.map +++ b/src/first.map @@ -1,10 +1,6 @@ Archive member included because of file (symbol) -../lib/libmycanvas.a(mycanvas.o) - startup.o (DrawClock) -../lib/libmyclock.a(myclock.o) - startup.o (InitClockCount) -../lib/libbwio.a(bwio.o) startup.o (bwsetfifo) +../lib/libbwio.a(bwio.o) clocktest.o (bwsetfifo) /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_udivsi3.o) ../lib/libbwio.a(bwio.o) (__udivsi3) /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_umodsi3.o) @@ -32,66 +28,53 @@ bss 0x0000000000000000 0x0 *(.bss) 0x0000000000000000 _BssEnd = . -text 0x0000000000000000 0x133c +text 0x0000000000000000 0xef0 *(.text) - .text 0x0000000000000000 0x17c startup.o - 0x000000000000010c main - 0x0000000000000000 initialize - 0x00000000000000b0 runloop - .text 0x000000000000017c 0x174 ../lib/libmycanvas.a(mycanvas.o) - 0x000000000000017c DrawClock - .text 0x00000000000002f0 0x140 ../lib/libmyclock.a(myclock.o) - 0x00000000000002f0 InitClockCount - 0x0000000000000394 UpdateClock - .text 0x0000000000000430 0xc54 ../lib/libbwio.a(bwio.o) - 0x00000000000007a8 bwputr - 0x0000000000000d14 bwi2a - 0x0000000000000430 bwsetfifo - 0x0000000000000604 bwputc - 0x0000000000000a64 bwa2d - 0x00000000000004f8 bwsetspeed - 0x00000000000006c8 c2x - 0x0000000000000b0c bwa2i - 0x00000000000009ac bwgetc - 0x0000000000000bd0 bwui2a - 0x0000000000000d78 bwformat - 0x00000000000008a4 bwputw - 0x000000000000104c bwprintf - 0x0000000000000728 bwputx - 0x0000000000000828 bwputstr - .text 0x0000000000001084 0x110 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_udivsi3.o) - 0x0000000000001084 __udivsi3 - 0x000000000000117c __aeabi_uidivmod - .text 0x0000000000001194 0xcc /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_umodsi3.o) - 0x0000000000001194 __umodsi3 - .text 0x0000000000001260 0x4 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_dvmd_tls.o) - 0x0000000000001260 __aeabi_ldiv0 - 0x0000000000001260 __div0 - 0x0000000000001260 __aeabi_idiv0 + .text 0x0000000000000000 0xa4 clocktest.o + 0x0000000000000000 main + .text 0x00000000000000a4 0xc54 ../lib/libbwio.a(bwio.o) + 0x000000000000041c bwputr + 0x0000000000000988 bwi2a + 0x00000000000000a4 bwsetfifo + 0x0000000000000278 bwputc + 0x00000000000006d8 bwa2d + 0x000000000000016c bwsetspeed + 0x000000000000033c c2x + 0x0000000000000780 bwa2i + 0x0000000000000620 bwgetc + 0x0000000000000844 bwui2a + 0x00000000000009ec bwformat + 0x0000000000000518 bwputw + 0x0000000000000cc0 bwprintf + 0x000000000000039c bwputx + 0x000000000000049c bwputstr + .text 0x0000000000000cf8 0x110 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_udivsi3.o) + 0x0000000000000cf8 __udivsi3 + 0x0000000000000df0 __aeabi_uidivmod + .text 0x0000000000000e08 0xcc /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_umodsi3.o) + 0x0000000000000e08 __umodsi3 + .text 0x0000000000000ed4 0x4 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_dvmd_tls.o) + 0x0000000000000ed4 __aeabi_ldiv0 + 0x0000000000000ed4 __div0 + 0x0000000000000ed4 __aeabi_idiv0 *(.got) *(.got.plt) - .got.plt 0x0000000000001264 0xc startup.o - 0x0000000000001264 _GLOBAL_OFFSET_TABLE_ + .got.plt 0x0000000000000ed8 0xc clocktest.o + 0x0000000000000ed8 _GLOBAL_OFFSET_TABLE_ *(.rodata) - .rodata 0x0000000000001270 0x10 startup.o - .rodata 0x0000000000001280 0x58 ../lib/libmycanvas.a(mycanvas.o) - .rodata 0x00000000000012d8 0x64 ../lib/libmyclock.a(myclock.o) + .rodata 0x0000000000000ee4 0xc clocktest.o *(.glue_7) *(.glue_7t) .rel.dyn -LOAD startup.o -LOAD ../lib/libmycanvas.a -LOAD ../lib/libmyclock.a +LOAD clocktest.o LOAD ../lib/libbwio.a LOAD /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a -OUTPUT(startup.elf elf32-littlearm) +OUTPUT(clocktest.elf elf32-littlearm) -.comment 0x0000000000000000 0x48 - .comment 0x0000000000000000 0x12 startup.o - .comment 0x0000000000000012 0x12 ../lib/libmycanvas.a(mycanvas.o) - .comment 0x0000000000000024 0x12 ../lib/libmyclock.a(myclock.o) - .comment 0x0000000000000036 0x12 ../lib/libbwio.a(bwio.o) +.comment 0x0000000000000000 0x24 + .comment 0x0000000000000000 0x12 clocktest.o + .comment 0x0000000000000012 0x12 ../lib/libbwio.a(bwio.o) .debug_line 0x0000000000000000 0x14f .debug_line 0x0000000000000000 0x86 /u/wbcowan/gnuarm-4.0.2/lib/gcc/arm-elf/4.0.2/libgcc.a(_udivsi3.o) diff --git a/src/getc.c b/src/getc.c new file mode 100644 index 0000000000000000000000000000000000000000..a5956203cc0174fac6495c5e212e1abdfe0e3d98 --- /dev/null +++ b/src/getc.c @@ -0,0 +1,14 @@ +#include <bwio.h> +#include <mycanvas.h> +int main() +{ + bwsetfifo(COM2, OFF); + bwsetspeed(COM2, 115200); + int i = 0; + char display; + for(;i<10;i++){ + display=bwgetc(COM2); + bwputc(COM2, display); + MOVE_RIGHT(1); + } +} diff --git a/src/libsrc/Makefile b/src/libsrc/Makefile index a932d94b058242f772d7453b11383fa563e9c274..774204df11bc7cf8514bdca9e2df8a61a0d5187b 100644 --- a/src/libsrc/Makefile +++ b/src/libsrc/Makefile @@ -1,4 +1,3 @@ -# # Makefile for busy-wait IO tests # XCC = /u/wbcowan/gnuarm-4.0.2/arm-elf/bin/gcc @@ -16,11 +15,14 @@ ASFLAGS = -mcpu=arm920t -mapcs-32 ARFLAGS = rcs -all: bwio.a +all: bwio.a bwio.s: bwio.c $(XCC) -S $(CFLAGS) bwio.c +cmd.s: cmd.c + $(XCC) -S $(CFLAGS) cmd.c + mycanvas.s: mycanvas.c $(XCC) -S $(CFLAGS) mycanvas.c @@ -31,6 +33,9 @@ myclock.s: myclock.c bwio.o: bwio.s $(AS) $(ASFLAGS) -o bwio.o bwio.s +cmd.o: cmd.s + $(AS) $(ASFLAGS) -o cmd.o cmd.s + mycanvas.o: mycanvas.s $(AS) $(ASFLAGS) -o mycanvas.o mycanvas.s @@ -40,14 +45,18 @@ myclock.o: myclock.s bwio.a: bwio.o $(AR) $(ARFLAGS) $@ bwio.o +cmd.a: cmd.o + $(AR) $(ARFLAGS) $@ cmd.o + mycanvas.a: mycanvas.o $(AR) $(ARFLAGS) $@ mycanvas.o myclock.a: myclock.o $(AR) $(ARFLAGS) $@ myclock.o -install: bwio.a mycanvas.a myclock.a +install: bwio.a mycanvas.a myclock.a cmd.a mv bwio.a ../../lib/libbwio.a + mv cmd.a ../../lib/libcmd.a mv mycanvas.a ../../lib/libmycanvas.a mv myclock.a ../../lib/libmyclock.a diff --git a/src/libsrc/cmd.c b/src/libsrc/cmd.c new file mode 100644 index 0000000000000000000000000000000000000000..22ade437a17aca15134b805b910699e7aff9bc6d --- /dev/null +++ b/src/libsrc/cmd.c @@ -0,0 +1,15 @@ +#include <bwio.h> +#include <cmd.h> +#include <mycanvas.h> + +int ListenCommand() +{ + CURSOR_POS(20,1); + char FirstChar = bwgetc(COM2); + switch(FirstChar){ + case 'q': + return CMD_HALT; + default: + break; + } +} diff --git a/src/libsrc/mycanvas.c b/src/libsrc/mycanvas.c index 1f92bd4abd4dcb18b61518cfd0b506bb362e206f..dda800da913a35ebede50ca3e7767c2c93f9011a 100644 --- a/src/libsrc/mycanvas.c +++ b/src/libsrc/mycanvas.c @@ -1,14 +1,52 @@ -#include <bwio.h> #include <mycanvas.h> -#include <myclock.h> -void DrawClock(int* ClockCount) +void DrawLine_H(const char Element, const int Length) { - bwprintf(COM2,"DrawClock, ClockCount %d\n\r", *ClockCount); - unsigned int TenthSecond = (*ClockCount) % 10; - bwprintf(COM2,"DrawClock, Tenth %d\n\r", TenthSecond); - unsigned int Second = ((*ClockCount - TenthSecond) % 600)/10; - bwprintf(COM2,"DrawClock, Second %d\n\r", Second); - unsigned int Minute = (*ClockCount)/600; - bwprintf(COM2,"%d:%d:%d\n\r",Minute,Second,TenthSecond); + int i = 0; + for(; i<Length; i++){ + bwputc(COM2,Element); + } +} + +void DrawLine_V(const char Element, const int Length) +{ + int i = 0; + for(; i<Length; i++){ + bwputc(COM2,Element); + MOVE_LEFT(1); + MOVE_DOWN(1); + } +} + +void DrawClock(Clock *MyClock){ + if(MyClock->bChanged !=0){ + unsigned int Count = MyClock->ClockCount; + unsigned int Tenth = Count % 10; + unsigned int Seconds = (Count % 100 )/ 10; + unsigned int Tens = (Count % 600) /100; + unsigned int Minute = Count/600; + CURSOR_POS(10, 66); + bwprintf(COM2,"%d:%d%d:%d\n\r",Minute,Tens,Seconds,Tenth); + } +} + +void DrawPanel() +{ + CURSOR_POS(1,1); + //DrawLine_H('#',80); + CURSOR_POS(2,60); + DrawLine_V('|', 20); + CURSOR_POS(32,1); + //DrawLine_H('#', 79); + CURSOR_POS(2,80); + DrawLine_V('#', 25); + CURSOR_POS(2,1); + DrawLine_V('#', 25); + CURSOR_POS(23,3); + DrawLine_V('>', 3); + CURSOR_POS(23,4); + DrawLine_V('>', 3); + CURSOR_POS(26,1); + //DrawLine_H('#', 79); + } diff --git a/src/libsrc/myclock.c b/src/libsrc/myclock.c index b76cdeb842fcf7f1d656c222d5d83c3a85eebcd6..47bdf582ddaa45c133f61b4262ed0dc8c22297b7 100644 --- a/src/libsrc/myclock.c +++ b/src/libsrc/myclock.c @@ -1,29 +1,30 @@ -#include <bwio.h> #include <myclock.h> #include <ts7200.h> - -void InitClockCount(int* ClockCount, int* LastTimerValue) +void InitClockCount(Clock *MyClock) { - *ClockCount = 0; - *LastTimerValue = CLOCK_LOAD_VALUE; - int* Clock3LoadRegister = (int *) TIMER3_BASE; - int* Clock3ControlRegister = (int *) TIMER3_BASE + CRTL_OFFSET; - // int ClearMode = MODE_MASK | CLKSEL_MASK; - // clear clock - // *Clock3ControlRegister = ClearMode; + MyClock->ClockCount = 0; + MyClock->LastTimerValue = CLOCK_LOAD_VALUE; + unsigned int* Clock3LoadRegister = (unsigned int *) (TIMER3_BASE + LDR_OFFSET); + unsigned int* Clock3ControlRegister = (unsigned int *) (TIMER3_BASE + CRTL_OFFSET); + unsigned int ClockConfig = MODE_MASK | CLKSEL_MASK; // set interval *Clock3LoadRegister = CLOCK_LOAD_VALUE; // enable clock - *Clock3ControlRegister = ENABLE_MASK; - bwprintf(COM2,"InitClock, ClockCount %d, LastTimerValue: %d\n\r",*ClockCount, *LastTimerValue); + *Clock3ControlRegister = ENABLE_MASK | ClockConfig; } -void UpdateClock(int* ClockCount, int* LastTimerValue) +void UpdateClock(Clock *MyClock) { - int* TimerValueRegister = (int *) TIMER3_BASE + VAL_OFFSET; - int CurrentTimerValue = *TimerValueRegister; - bwprintf(COM2, "UpdateClock, LastTimerVlaue: %d, ClockCount:%d\n\r",*LastTimerValue,*ClockCount); - if(CurrentTimerValue >= *LastTimerValue) ClockCount++; - *LastTimerValue = CurrentTimerValue; + unsigned int* TimerValueRegister = (unsigned int *) (TIMER3_BASE + VAL_OFFSET); + unsigned int CurrentTimerValue = *TimerValueRegister; + + if(CurrentTimerValue > MyClock->LastTimerValue){ + MyClock->ClockCount = MyClock->ClockCount + 1; + MyClock->bChanged = 1; + } else { + MyClock->bChanged = 0; + } + + MyClock->LastTimerValue = CurrentTimerValue; } diff --git a/src/libsrc/test b/src/libsrc/test new file mode 100755 index 0000000000000000000000000000000000000000..aaa0251e30ba4f7c5d80991c798999c6c55dc6b5 Binary files /dev/null and b/src/libsrc/test differ diff --git a/src/libsrc/test.c b/src/libsrc/test.c new file mode 100644 index 0000000000000000000000000000000000000000..6374727c77281c395534d049ad5ee71ad9172dfc --- /dev/null +++ b/src/libsrc/test.c @@ -0,0 +1,52 @@ +#include <stdio.h> + +#define ESC 27 +#define CSI_LEFT printf("%c[1D",27) +#define CLEAR_SCREEN printf("%c[2J",27) +#define pos(row,col) printf("%c[%d;%dH",ESC,row,col) + +void DrawLine(char elem, int len) +{ + for(int i = 0; i<len; i++){ + printf("%c",elem); + } +} + +void DrawLine_V(char elem, int len) +{ + for(int i = 0; i<len; i++){ + printf("%c",elem); + printf("%c[1B",ESC); + CSI_LEFT; + } +} + + +int main() +{ + CLEAR_SCREEN; + pos(1,1); + DrawLine('#',80); + pos(2,60); + DrawLine_V('|', 30); + pos(32,1); + DrawLine('#', 79); + pos(2,80); + DrawLine_V('#', 35); + pos(2,1); + DrawLine_V('#', 35); + pos(33,3); + DrawLine_V('>', 3); + pos(33,4); + DrawLine_V('>', 3); + pos(36,1); + DrawLine('#', 79); + printf("\n"); + + + while(1){ + pos(10, 66); + printf("00:00:0"); + } + return 0; +} diff --git a/src/startup.c b/src/startup.c index aa4220682bc908c1a2cbbcbc73abe0d37448fa28..313ba4268bf55470b2206befba4b5d921ceca9a1 100644 --- a/src/startup.c +++ b/src/startup.c @@ -1,30 +1,33 @@ #include <bwio.h> +#include <cmd.h> #include <error.h> #include <mycanvas.h> #include <myclock.h> -int initialize(int* ClockCount, int* LastTimerValue) +int initialize(Clock* MyClock) { if(bwsetfifo(COM2, OFF)) return ERR_INIT_IO; if(bwsetspeed(COM1, 2400)) return ERR_INIT_IO; if(bwsetspeed(COM2, 115200)) return ERR_INIT_IO; - InitClockCount(ClockCount, LastTimerValue); + InitClockCount(MyClock); return 0; } -int runloop(int* ClockCount, int* LastTimerValue) +int runloop(Clock* MyClock) { while(1){ - UpdateClock(ClockCount, LastTimerValue); - bwprintf(COM2, "ClockCount %d\n\r", *ClockCount); - DrawClock(ClockCount); + UpdateClock(MyClock); + DrawClock(MyClock); + if(ListenCommand() == CMD_HALT) break; } return 0; } int main(){ - unsigned int ClockCount, LastTimerValue; - unsigned int InitCode = initialize(&ClockCount, &LastTimerValue); + volatile Clock MyClock = {0,0,0}; + unsigned int InitCode = initialize(&MyClock); if(InitCode) return InitCode; - return runloop(&ClockCount, &LastTimerValue); + CLEAR_SCREEN; + // DrawPanel(); + return runloop(&MyClock); } diff --git a/src/upload b/src/upload index 5ff7c25dc8a83eaafad3d6e0a2bafe7544ffde19..0563148bc872a316c366e66b78465bf815741898 100755 --- a/src/upload +++ b/src/upload @@ -1,3 +1,3 @@ #! /bin/bash -mv $1 /u/cs452/tftp/ARM/b26feng/ +cp $1 /u/cs452/tftp/ARM/b26feng/