heise online · c't · iX · Technology Review · Telepolis · mobil · Security · Netze · heise open · heise resale · Autos · c't-TV · Jobs · Kiosk
Zum Inhalt
c't

c't Projekte - c't-Bot und c't-Sim - Mailinglisten

c't-Bot und c't-Sim


[Voriger (Datum)] [Nächster (Datum)] [Voriger (Thread)] [Nächster (Thread)]
[Nach Datum][Nach Thread]

Re: [ct-bot] eeprom@pc

Absender: Achim Pankalla
Datum: Sa, 30.06.2007 18:13:55
In-reply-to: <46866046.7040108@xxxxxx>
References: <BCF016D5ED5AC34FBB655D109519ABCF083EBE@xxxxxxxxxxxxxxxxxxxx> <45ED3B46.4030400@xxxxxx> <45EF385C.3080609@xxxxxx> <A2ED0A68-A8F1-438A-B1E3-18033ED489E3@xxxxxxxxxxxxxxx> <45F135B9.5030203@xxxxxx> <45F13A91.6090904@xxxxxxxx> <D053B7F5-6BDD-4052-B45F-28FCF0EF45F8@xxxxxxxxxxxxxxx> <45F2B74F.8090706@xxxxxx> <38A4BFD9-CA32-436A-9A1E-B4E6E0652A5D@xxxxxxxxxxxxxxx> <463E0782.1050406@xxxxxx> <0FBD95CF-DA3B-461B-B12B-9FDCD84984D2@xxxxxxxxxxxxxxx> <463F3E0A.7020605@xxxxxx> <8D5B90F4-74FD-45D4-B5B8-DDCAC0B81932@xxxxxxxxxxxxxxx> <464092F7.30605@xxxxxx> <465DB1F9.5030404@xxxxxx> <CF925D4D-FD5A-4581-8480-1C5D35EFEDC9@xxxxxxxxxxxxxxx> <4663027F.4040301@xxxxxx> <F71477F0-03AD-4F06-87E3-AC5DA5BFD1B2@xxxxxxxxxxxxxxx> <466D6849.1020109@xxxxxx> <46756694.9010906@xxxxxx> <6566D2F2-ADE4-4656-86C0-6533B3462B64@xxxxxxxxxxxxxxx> <46866046.7040108@xxxxxx>


hallo,
anbei eine fehlerkorrektur der automatischen initialisierung der eeprom.bin, wenn sie noch nicht vorhanden ist. die eeprom-datei ist nicht korrekt, wenn der mcu-modus aktiv ist! in der nächsten version werden die zugriff auf das eeprom auch schneller sein. ich werde lesezugriffe dann aus ein array im ram bedienen und schreibzugriffe ins ram und die datei schreiben. das sollte das ganze erheblich beschleunigen. ;-)

mit freundliche grüssen
   achim pankalla
Index: E:/eclipse/ct-bot develop/ct-Bot/pc/eeprom-emu_pc.c
===================================================================
--- E:/eclipse/ct-bot develop/ct-Bot/pc/eeprom-emu_pc.c	(revision 1169)
+++ E:/eclipse/ct-bot develop/ct-Bot/pc/eeprom-emu_pc.c	(working copy)
@@ -38,7 +38,7 @@
 #include "tcp.h"
 #include "timer.h"
 
-//#define DEBUG_EEPROM		// Schalter um LOG-Ausgaben anzumachen
+#define DEBUG_EEPROM		// Schalter um LOG-Ausgaben anzumachen
 
 #ifndef DEBUG_EEPROM
 	#undef LOG_INFO
@@ -135,15 +135,18 @@
 			LOG_INFO("->Kann EEPROM-Datei nicht erstellen");
 			return(1);
 		}
-		
-		/* EEPROM mit .eeprom-Section des .elf-Files initialisieren */
-		uint8_t * ram_dump = (uint8_t *)(&_eeprom_start2__ + (&_eeprom_start2__ - &_eeprom_start1__));
-		fwrite(ram_dump, EE_SIZE, 1, fpw);
+		if(!addrconv){
+			/* EEPROM mit .eeprom-Section des .elf-Files initialisieren, wenn PC Modus */
+			uint8_t * ram_dump = (uint8_t *)(&_eeprom_start2__ + (&_eeprom_start2__ - &_eeprom_start1__));
+			fwrite(ram_dump, EE_SIZE, 1, fpw);
+		}
+		else{
+			/* alternativ: leeres EEPROM erstellen und init setzen bei MCU Modus*/	
+			for(i = 0; i < EE_SIZE; i++)
+				fwrite("\377", 1, 1, fpw);
+			eeprom_init = 1;
+		}
 
-//		/* alternativ: leeres EEPROM erstellen */	
-//		for(i = 0; i < EE_SIZE; i++)
-//			fwrite("\377", 1, 1, fpw);
-
 		fclose(fpw);
 		LOG_INFO("->Leere EEPROM-Datei erstellt");
  	}


Copyright © 2007 Heise Zeitschriften Verlag Kritik, Anregungen bitte an c't-WWW Datenschutzhinweis   Impressum