Daten aus Speicher auslesen

Anfänger braucht einfache Nachhilfe

Pedro Veloceros
 
Avatar
 
Subject:

Daten aus Speicher auslesen

 · 
Posted: 25.11.2010 - 22:34  ·  #1
Hallo !

Als bekannt unerfahrener µC-Einsteiger möchte ich jetzt Daten, die während des Programmablaufs aus einem ADCPort ausgelesen werden, nach dem Programmende auslesen und anderweitig analysieren. Für die AD-Daten stelle ich mir einen Array von ca. 1 KB vor. Das Auslesen geht, soviel ich verstanden habe, mit dem Prommer unter dem Menüpunkt Device > Read back Flash.

Jetzt meine Fragen: wie weiß ich, unter welcher Adresse im Flash mein Array abgelegt ist? Wie kann ich diese Adresse beeinflussen?

Vielen Dank vorab für Eure Hilfe
Pedro

P.S.
Code
Device = Tiny24
miparo
Administrator
Avatar
Gender:
Location: Germany
Age: 58
Posts: 959
Registered: 09 / 2007
Subject:

Re: Daten aus Speicher auslesen

 · 
Posted: 26.11.2010 - 00:05  ·  #2
Hallo Pedro,
das wäre ja zu einfach, so wie Du das vor hast.

Du könntest es im EEprom speichern aber da hast Du nur 128 bytes. Ebenso nur 128 Byte SRAM.
Also müsstest Du ein externes FRAM dran hängen und dieses später , per RS232, wieder auslesen.

Aber dafür ist Dein Käfer zu klein.

Gruß
miparo
Thomas
Benutzer
Avatar
Gender:
Location: Gera
Age: 61
Posts: 123
Registered: 04 / 2003
Subject:

Re: Daten aus Speicher auslesen

 · 
Posted: 26.11.2010 - 10:03  ·  #3
Hallo Pedro,

im Programm angelegte Variablen liegen im RAM oder im EEPROM des Controllers.
Den Flash kann man nur über die so genannte "Selbstprogrammierung" vom Programm aus verändern. Da der Tiny24 keinen Bootblock besitzt, wird der AVRCo FlashWrite-Treiber möglicherweise nicht funktionieren. Man kann das Schreiben des Flash auch "zu Fuss" erledigen, allerdings sind dann gute AVR-Assembler-Kentnisse unumgänglich. Außerdem könnte es ziemlich eng werden. Mit 1k Speicher reserviert für Daten bleiben nur noch 1k für das Programm, ich denke, dass wird sehr knapp. Eine bessere Lösung ist sicherlich ein I²C-EEPROM oder ein SPI-DataFlash für die Zwischenlagerung der Daten. Auslesen könnte man diese allerdings auch nur über eine Schnittstelle unter Zuhilfenahme des Controllers oder über ein spezielles Programmiergerät.

MfG
Thomas
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Daten aus Speicher auslesen

 · 
Posted: 26.11.2010 - 15:18  ·  #4
Hallo Pedro,

oder gleich einen "echten" Controller/CPU nehmen :'(
Mickymäuse eignen sich meistens nicht für komplexere Aufgaben.
Kommts hier auf einen euro an?

rolf
Gunter
Administrator
Avatar
Gender:
Location: Frankfurt Main / Germany
Posts: 1697
Registered: 02 / 2003
Subject:

Re: Daten aus Speicher auslesen

 · 
Posted: 26.11.2010 - 15:25  ·  #5
wobei schon ein Mega88 zu den "echten" gehört und es auch dafür
eine kostenlose AVRco Version gibt.
Damit kann man schon sehr gut testen, ob der AVRco die Erwartungen
erfüllt.

Gunter
Pedro Veloceros
 
Avatar
 
Subject:

Re: Daten aus Speicher auslesen

 · 
Posted: 27.11.2010 - 10:44  ·  #6
Vielen Dank für Eure Antworten. Ich ziehe draus folgende Schlüsse:

1. Die Nutzung des Flash beim Tiny24 ist zu schwierig für Unerfahrene. Schade, denn 1 KB freier Flash bietet immerhin Platz für 1000 Messdaten.
2. Der Umstieg auf einen größeren Controller würde mehr Platz für Daten schaffen, der Speicher-Zugriff wäre aber auch hier für den Unerfahrenen eine schier unüberwindliche Hürde. Auch wieder schade.
3. Der EEPROM lässt sich sehr einfach verwenden und bietet immerhin noch Platz für 100 Daten. Diesen Weg werde ich jetzt einschlagen.

@Rolf: für mich persönlich sind schon die Fähigkeiten eines unechten Controllers wie des Tiny24 immer wieder ganz erstaunlich und vielfältig. Ich bin überzeugt, dass das für meine Aufgabe völlig ausreicht. Das ist für mich weniger eine Frage der Euro als des schrittweisen Lernens. Du musst Dir mich in dieser Hinsicht vorstellen wie ein Kleinkind, das gerade laufen lernt. Da ist ein Fußmarsch über die ötztaler Alpen noch nicht drin.

Danke an alle
Pedro
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Daten aus Speicher auslesen

 · 
Posted: 27.11.2010 - 17:26  ·  #7
Hallo Pedro,

es ist richtig, auch der kleinste Tiny hat seine Daseinsberechtigung. Aber in dem Moment wo es sich um irgendeine Art von "Datenverarbeitung" handelt stösst man dabei sehr schnell an die Grenzen. Auch ein Tiny mit externem SPI/I2C Speicher (EEprom/Flash/FRAM) würde es hier tun. Dabei stellt sich aber meistens trotzdem das Problem "wie kriege ich die gesammelten Daten in den PC". Da bietet sich die ser. Schnittstelle (UART) an.
Also dann lieber gleich einen grösseren Chip der all das on Board hat.
btw.
Der TINY24 ist natürlich ein echter, ausgewachsener Controller der halt ein paar Einschränkungen hat die ihn für diesen Job unbrauchbar macht.

Die Auswahl des richtigen Controllers ist auch für den erfahrenen Profi nicht immer einfach. Wenn es sich nicht um eine zig-tausend Auflage handelt, dann nimmt man meistens einfach einen grossen Controller der vielleicht 1..2euro mehr kostet, der dann aber bei zukünftigen Erweiterungen keine Grenzen setzt.

rolf
Gunter
Administrator
Avatar
Gender:
Location: Frankfurt Main / Germany
Posts: 1697
Registered: 02 / 2003
Subject:

Re: Daten aus Speicher auslesen

 · 
Posted: 29.11.2010 - 01:31  ·  #8
Hi Pedro,

"weg von Tiny" ist auch mein Tip!
Mit dem Tiny24 hast Du ja schon einen "großen Tiny".
Wenn noch möglich, "verbeiss" Dich nicht in diese Tiny Serie und fang
besser mit einem Mega8 oder Mega88 an!
Dann steht Dir nach oben einiges offen (Mega16/32/64/128/...).
Da ist dann der Aufstieg wesenlich einfacher als der Wechsel von Tiny zu Mega.

Die Megas haben auch einen Bootblock!
Ob damit der AVRco FlashWrite Treiber für Anfänger in den Griff zu bekommen
wäre, kann ich allerdings nicht sagen. Ist zumindest auch nicht so trivial.

Gruß
Gunter
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   130   144 · Page-Gen-Time: 0.038421s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI