diff options
author | Bert Lange <b.lange@fzd.de> | 2010-12-02 16:48:29 +0100 |
---|---|---|
committer | Bert Lange <b.lange@fzd.de> | 2010-12-02 16:48:29 +0100 |
commit | 0d8f6ba02506c51cef38533e093452ffe5156502 (patch) | |
tree | b26bbbffdac712b8983bb40325166f4c0899bc0b /s3estarter | |
parent | 17449ef9bccb5f71662c42260ea9990d5afaca52 (diff) | |
download | zpu-0d8f6ba02506c51cef38533e093452ffe5156502.zip zpu-0d8f6ba02506c51cef38533e093452ffe5156502.tar.gz |
change: put putchar (and debug_putchar) to better place
change: puthex without 0x
Diffstat (limited to 's3estarter')
-rw-r--r-- | s3estarter/software/include/common.h | 6 | ||||
-rw-r--r-- | s3estarter/software/include/peripherie.h | 4 | ||||
-rw-r--r-- | s3estarter/software/libhal/common.c | 11 | ||||
-rw-r--r-- | s3estarter/software/libhal/hw.c | 12 |
4 files changed, 23 insertions, 10 deletions
diff --git a/s3estarter/software/include/common.h b/s3estarter/software/include/common.h index 5e8e9d7..d2871bf 100644 --- a/s3estarter/software/include/common.h +++ b/s3estarter/software/include/common.h @@ -1,16 +1,14 @@ #ifndef COMMON_H #define COMMON_H -// function pointer for putchar -extern char (* putchar_fp) (); - //////////////////////////////////////// // specific stuff +char putchar( char c); void putstr(const char *s); void putbin(unsigned char dataType, unsigned long data); void puthex(unsigned char dataType, unsigned long data); void itoa( int z, char* Buffer ); -void putint(uint32_t data); +void putint(unsigned long data); #endif // COMMON_H diff --git a/s3estarter/software/include/peripherie.h b/s3estarter/software/include/peripherie.h index e9a4cd5..3e3a163 100644 --- a/s3estarter/software/include/peripherie.h +++ b/s3estarter/software/include/peripherie.h @@ -227,8 +227,12 @@ typedef struct { } dcm_ctrl_t; +char debug_putchar( char c); +// function pointer for putchar +extern char (* putchar_fp) ( char); + //////////////////// // hardware units diff --git a/s3estarter/software/libhal/common.c b/s3estarter/software/libhal/common.c index 7e3f4de..f3257d9 100644 --- a/s3estarter/software/libhal/common.c +++ b/s3estarter/software/libhal/common.c @@ -1,10 +1,11 @@ -char (* putchar_fp) (char c); +#include "peripherie.h" //////////////////////////////////////// // common stuff + char putchar( char c) { return putchar_fp( c); @@ -39,7 +40,7 @@ void puthex( unsigned char dataType, unsigned long data) unsigned char count = 8; // number of chars unsigned char i; unsigned char temp; - char dataString[] = "0x "; + char dataString[] = " "; // dataType = bit width if (dataType == 8) count = 2; @@ -48,12 +49,12 @@ void puthex( unsigned char dataType, unsigned long data) for(i=count; i>0; i--) { temp = data % 16; - if (temp<10) dataString [i+1] = temp + 0x30; - else dataString [i+1] = (temp - 10) + 0x41; + if (temp<10) dataString [i-1] = temp + 0x30; + else dataString [i-1] = (temp - 10) + 0x41; data = data/16; } - dataString[count+2] = '\0'; + dataString[count] = '\0'; putstr( dataString); } diff --git a/s3estarter/software/libhal/hw.c b/s3estarter/software/libhal/hw.c index 2d4e1c4..cb454b8 100644 --- a/s3estarter/software/libhal/hw.c +++ b/s3estarter/software/libhal/hw.c @@ -5,7 +5,17 @@ gptimer_t *timer0 = (gptimer_t *) 0x80000200; apbvga_t *vga0 = (apbvga_t *) 0x80000600; grgpio_t *gpio0 = (grgpio_t *) 0x80000800; greth_t *ether0 = (greth_t *) 0x80000c00; -volatile uint32_t *debug_con0 = (char *) 0x80000d00; +volatile uint32_t *debug_con0 = (uint32_t *) 0x80000d00; dcm_ctrl_t *dcm_ctrl0 = (dcm_ctrl_t *) 0x80000e00; ddrspa_t *ddr0 = (ddrspa_t *) 0xfff00000; + +char debug_putchar( char c) +{ + *debug_con0 = (uint32_t) c; + return 0; +} + +char (* putchar_fp) (char);// = debug_putchar; + + |