From 8644822a342835e683d46022d50e82a40aeab802 Mon Sep 17 00:00:00 2001 From: oliverschmidt Date: Sun, 16 Dec 2007 13:08:09 +0000 Subject: [PATCH] Soe we're finally back at reducing the memory footprint be avoiding to pull in large C-library enitities. --- cpu/6502/lib/config.c | 37 ++++++++++++++++++++++--------- cpu/6502/lib/log.c | 12 ++++++---- platform/apple2enh/contiki-main.c | 12 +++------- platform/apple2enh/lib/error.c | 10 ++++----- platform/apple2enh/sys/clock.c | 6 ++--- 5 files changed, 45 insertions(+), 32 deletions(-) diff --git a/cpu/6502/lib/config.c b/cpu/6502/lib/config.c index f31b9d3b7..3399432e8 100644 --- a/cpu/6502/lib/config.c +++ b/cpu/6502/lib/config.c @@ -30,19 +30,34 @@ * * Author: Oliver Schmidt * - * $Id: config.c,v 1.2 2007/12/08 21:48:49 oliverschmidt Exp $ + * $Id: config.c,v 1.3 2007/12/16 13:10:14 oliverschmidt Exp $ */ -#include -#include #include #include +#include #include #include "contiki-net.h" +#include "sys/log.h" #include "lib/error.h" #include "net/ethernet-drv.h" +/*-----------------------------------------------------------------------------------*/ +static char * +ipaddrtoa(uip_ipaddr_t *ipaddr, char *buffer) +{ + char *ptr = buffer; + u8_t i; + + for(i = 0; i < 4; ++i) { + *ptr = '.'; + utoa(ipaddr->u8[i], ++ptr, 10); + ptr += strlen(ptr); + } + + return buffer + 1; +} /*-----------------------------------------------------------------------------------*/ struct ethernet_config * config_read(char *filename) @@ -58,25 +73,25 @@ config_read(char *filename) file = open(filename, O_RDONLY); if(file < 0) { - fprintf(stderr, "%s: %s\n", filename, strerror(errno)); + log_message(filename, ": File not found"); error_exit(); } if(read(file, &config, sizeof(config)) < sizeof(config) - sizeof(config.ethernetcfg.name)) { - fprintf(stderr, "%s: %s\n", filename, "No Config File"); + log_message(filename, ": No config file"); error_exit(); } close(file); - fprintf(stderr, "IP Address: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&config.hostaddr)); - fprintf(stderr, "Subnet Mask: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&config.netmask)); - fprintf(stderr, "Def. Router: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&config.draddr)); -//fprintf(stderr, "DNS Server: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&config.resolvaddr)); + log_message("IP Address: ", ipaddrtoa(&config.hostaddr, uip_buf)); + log_message("Subnet Mask: ", ipaddrtoa(&config.netmask, uip_buf)); + log_message("Def. Router: ", ipaddrtoa(&config.draddr, uip_buf)); +//log_message("DNS Server: ", ipaddrtoa(&config.resolvaddr, uip_buf)); - fprintf(stderr, "Eth. Driver: %s at $%X\n", config.ethernetcfg.name, - config.ethernetcfg.addr); + log_message("Eth. Driver: ", config.ethernetcfg.name); + log_message("Driver Port: $", utoa(config.ethernetcfg.addr, uip_buf, 16)); uip_sethostaddr(&config.hostaddr); uip_setnetmask(&config.netmask); diff --git a/cpu/6502/lib/log.c b/cpu/6502/lib/log.c index 07b092f14..0032eb945 100644 --- a/cpu/6502/lib/log.c +++ b/cpu/6502/lib/log.c @@ -30,10 +30,11 @@ * * Author: Oliver Schmidt * - * $Id: log.c,v 1.3 2007/12/08 22:34:59 oliverschmidt Exp $ + * $Id: log.c,v 1.4 2007/12/16 13:11:01 oliverschmidt Exp $ */ -#include +#include +#include #include "net/uip.h" #include "sys/log.h" @@ -43,7 +44,8 @@ void uip_log(char *message) { - fprintf(stderr, "%s\n", message); + write(STDERR_FILENO, message, strlen(message)); + write(STDERR_FILENO, "\n", 1); } #endif /* UIP_LOGGING */ /*-----------------------------------------------------------------------------------*/ @@ -51,7 +53,9 @@ uip_log(char *message) void log_message(const char *part1, const char *part2) { - fprintf(stderr, "%s%s\n", part1, part2); + write(STDERR_FILENO, part1, strlen(part1)); + write(STDERR_FILENO, part2, strlen(part2)); + write(STDERR_FILENO, "\n", 1); } #endif /* LOG_CONF_ENABLED */ /*-----------------------------------------------------------------------------------*/ diff --git a/platform/apple2enh/contiki-main.c b/platform/apple2enh/contiki-main.c index 12e41243a..18c1bb2db 100644 --- a/platform/apple2enh/contiki-main.c +++ b/platform/apple2enh/contiki-main.c @@ -30,12 +30,11 @@ * * Author: Oliver Schmidt * - * $Id: contiki-main.c,v 1.11 2007/11/27 21:50:19 oliverschmidt Exp $ + * $Id: contiki-main.c,v 1.12 2007/12/16 13:08:09 oliverschmidt Exp $ */ -#include - #include "contiki-net.h" +#include "sys/log.h" #include "lib/config.h" #include "net/ethernet-drv.h" @@ -72,29 +71,24 @@ main(void) uip_ipaddr_t addr; uip_ipaddr(&addr, 192,168,0,128); - fprintf(stderr, "IP Address: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&addr)); uip_sethostaddr(&addr); uip_ipaddr(&addr, 255,255,255,0); - fprintf(stderr, "Subnet Mask: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&addr)); uip_setnetmask(&addr); uip_ipaddr(&addr, 192,168,0,1); - fprintf(stderr, "Def. Router: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&addr)); uip_setdraddr(&addr); uip_ipaddr(&addr, 192,168,0,1); - fprintf(stderr, "DNS Server: %d.%d.%d.%d\n", uip_ipaddr_to_quad(&addr)); resolv_conf(&addr); - fprintf(stderr, "Eth. Driver: %s at $%X\n", config.name, config.addr); ethernet_config = &config; } #endif process_start((struct process *)ðernet_process, (char *)ethernet_config); - fprintf(stderr, "Contiki up and running ...\n"); + log_message("Contiki up and running ...", ""); while(1) { diff --git a/platform/apple2enh/lib/error.c b/platform/apple2enh/lib/error.c index 23483218e..40a251680 100644 --- a/platform/apple2enh/lib/error.c +++ b/platform/apple2enh/lib/error.c @@ -30,21 +30,21 @@ * * Author: Oliver Schmidt * - * $Id: error.c,v 1.1 2007/12/08 22:16:57 oliverschmidt Exp $ + * $Id: error.c,v 1.2 2007/12/16 13:12:49 oliverschmidt Exp $ */ -#include -#include #include +#include "sys/log.h" + #include "lib/error.h" /*-----------------------------------------------------------------------------------*/ void error_exit(void) { - fprintf(stderr, "Press any key to continue ...\n"); - cgetc(); + log_message("Press any key to continue ...", ""); + ctk_arch_getkey(); exit(EXIT_FAILURE); } /*-----------------------------------------------------------------------------------*/ diff --git a/platform/apple2enh/sys/clock.c b/platform/apple2enh/sys/clock.c index cb6b9cb32..8aa809ee6 100644 --- a/platform/apple2enh/sys/clock.c +++ b/platform/apple2enh/sys/clock.c @@ -30,13 +30,13 @@ * * Author: Oliver Schmidt * - * $Id: clock.c,v 1.1 2007/12/15 11:04:11 oliverschmidt Exp $ + * $Id: clock.c,v 1.2 2007/12/16 13:11:46 oliverschmidt Exp $ */ -#include #include #include "contiki.h" +#include "sys/log.h" /* The enhanced Apple//e doesn't have a hardware clock whatsoever. Therefore the * cc65 C-library for this target doesn't include an implementation of clock(). @@ -53,7 +53,7 @@ clock_init(void) if(*(signed char *)0xC036 < 0) { /* 5 / 14 = 1.0MHz / 2.8MHz */ tick = 5; - fprintf(stderr, "Assuming 2.8 MHz ...\n"); + log_message("Assuming 2.8 MHz ...", ""); } } }