|
 |
 |
 |
|
|
c't Projekte - c't-Bot und c't-Sim -
Mailinglisten
[Voriger (Datum)]
[Nächster (Datum)]
[Voriger (Thread)]
[Nächster (Thread)]
[Nach Datum][Nach Thread]
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");
}
|
|
|