- Akku Tests und Balkonkraftwerk Speicher         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 16 von 16

Thema: Wohin mit grosen const-Tabellen?

  1. #11
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    29.01.2004
    Beiträge
    2.441
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Bloß wie kriege ich die Tabelle ins ERPOM? Zu Programmlaufzeit schreiben ist ja nicht so kompliziert, aber dann benötige ich die Tabelle ja auch wieder im Flash, und das ist ja nicht Sinn der Sache...
    In Bascom gibt es eine Funktion "Write Buffer to Eeprom". Bin mir nicht 100%, aber doch ziemlich sicher, dass ich die in Ponyprog und Yaap auch gesehen habe.

    Wenn deine Software zum Programmieren des µC das nicht kann, müsstest du deine Daten eigentlich auch mit einem anderen Programm direkt in den EEPROM schreiben können.

  2. #12
    Neuer Benutzer Öfters hier
    Registriert seit
    05.07.2004
    Beiträge
    26
    Zitat Zitat von linux_80
    gedanken zur EEprom version:
    geschrieben werden muss die Tabelle ja nur einmal, entweder am Programmanfang einmal eine function aufrufen die das macht, oder evtl. sogar von einem anderen, denn die Daten bleiben ja drin.
    Stimmt. Bloß wenn ich die Tabelle von dem Programm selber in EEPROM schreiben lasse, hab ich die Daten ja wieder im Flash
    Wie erzeuge ich eine Datei mit meiner Tabelle, die dann von Ponyprog etc. ins EEPROM geschieben wird?
    Zitat Zitat von linux_80
    Zum auslesen benötigst Du jetzt auch einen Index um an einen bestimmten Wert zu kommen, diesen nachher einfach verwenden um die Speicheradresse des EEprom zu berechnen.
    Das ist klar.
    Zitat Zitat von linux_80
    weiter zu bedenken ist, das es 512 Bytes im EEprom gibt, (die Du jetzt garnicht nutzt),
    das SRam hat 1KB das dann 1/4 belegt wäre,
    also würde ich hier versuchen das EEProm zu verwenden, jenachdem was das Programm sonst machen muss.
    So sehe ich das auch. Im Moment liegt mein EEPROM brach und die Tabelle verstopft meinen Flash und SRAM.

    Kann mit jemand sagen, wie ich eine Datei mit meiner Tabelle erzeuge, die dann von Ponyprog etc. ins EEPROM geschieben wird?

    Gruss,
    Philip

  3. #13
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    03.01.2004
    Ort
    Pottenstein
    Alter
    45
    Beiträge
    269
    Kann mit jemand sagen, wie ich eine Datei mit meiner Tabelle erzeuge, die dann von Ponyprog etc. ins EEPROM geschieben wird?
    Moin!

    Die Daten im EEPROM sind eigentlich nicht gross formatiert, es ist nur eine Ansammlung von Bytes. Wenn ein Wert aus mehreren Bytes besteht, muss das die Auslese-Funktion beruecksichtigen und entsprechend mehrere Bytes auslesen, um z.B. ein INT zu bekommen. Dazu gibt's aber fertige Bibliotheken, die z.B. eine Funktion "eprom_read_word" oder so aehnlich haben.

    Du kannst die Bytes ganz schlicht mit dem Editor in eine Datei schreiben, als .eep (kommt auf's System an) speichern und mit deiner Programmiersoftware in den Chip schiessen. Bei AVR-Studio gibt's dafuer einen schoen grossen Button, bei PonyProg findet sich bestimmt auch sowas aehnliches. Vielleicht isses hilfreich, erstmal ein Testprogramm fuer den AVR zu schreiben, das eine Reihe von Werten ins EEPROM schreibt. Wenn das im AVR gelaufen ist, kannst du das EEPROM-File per PonyProg oder AVR-Studio auslesen und gucken, wie es aussieht...
    Nils

  4. #14
    Neuer Benutzer Öfters hier
    Registriert seit
    05.07.2004
    Beiträge
    26
    So, ich habe jetzt mit einem anderen Programm die Tabelle ins EEPROM geschrieben, lade dann das richtige Programm rein, welches das EEPROM ausliest - funktioniert wohl erstmal, aber ich konnte es noch nicht komplett testen.

    Um mein EEPROM-Write Programm überflüssig zu machen, muss ich also eine .EEP-Datei erstellen. Ist das eine ganz normale Binär- oder HEX-Datei? Stehen da einfach nur meine Werte Byte für Byte drinnen, oder gibt es noch Header etc.?
    Welchen Editor benötoge ich dazu, oder kann ich mein EEPROM in eine Datei auslesen? Die Infos stehen da ja schon drin, was mit ordentlich Tipparbeit ersparen würde =D>
    Gruß,
    Philip

  5. #15
    Neuer Benutzer Öfters hier
    Registriert seit
    30.05.2005
    Ort
    Stolberg
    Alter
    44
    Beiträge
    6
    [..] Signature failed to load!

  6. #16
    Neuer Benutzer Öfters hier
    Registriert seit
    05.07.2004
    Beiträge
    26
    Zitat Zitat von OldBug
    Das ist genau das was ich suchte! Jetzt wird die Tabelle einfach so deklariert, das sie gleich in EEPROM geladen wird.
    Code:
    #include <avr/eeprom.h>
    
    const unsigned char adresse[] __attribute__ ((section (".eeprom"))) = {,,,};
    Damit ist mein Problem gelößt! Vielen Dank!
    Gruß,
    Philip

Seite 2 von 2 ErsteErste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad