EDAboard.com | EDAboard.eu | EDAboard.de | EDAboard.co.uk | RTV forum PL | NewsGroups PL

ARM7 In Flash speichern

elektroda.net NewsGroups Forum Index - Electronics DE - ARM7 In Flash speichern

Roland Kuhn
Guest

Thu Feb 25, 2010 7:39 pm   



Hallo zusammen,

bin Neuling auf dem Gebiet der ARM7-Programmierung und benötige mal Hilfe von einem Freak:

Ich benutze den 2368 bzw 2378 Prozessor vom ARM, jeweils ein Evaluation-Board habe ich. Jetzt mein Problem:

Ist es möglich, außer dem eigentlichen Progarmm auch separate (nur ein paar Bytes, wie z. B. eine Kennung) zusätzlich zum Programm an eine bestimmte Speicherstelle des Flash zu schreiben, und wenn ja wie?

Stehe da auf dem Schlauch, das Handbuch des Proz. gibt da auch nicht viel her.

Bin für jeden Hinweis dankbar.

Freundlicher Gruß


Roland

Johannes Bauer
Guest

Thu Feb 25, 2010 8:31 pm   



Roland Kuhn schrieb:
Quote:
Hallo zusammen,

bin Neuling auf dem Gebiet der ARM7-Programmierung und benötige mal Hilfe von einem Freak:

Ich benutze den 2368 bzw 2378 Prozessor vom ARM, jeweils ein Evaluation-Board habe ich. Jetzt mein Problem:

ARM stellt keine Prozessoren her, lediglich IP. Ich nehme an du meinst
den LPC2368 von NXP?

Quote:
Ist es möglich, außer dem eigentlichen Progarmm auch separate (nur ein paar Bytes, wie z. B. eine Kennung) zusätzlich zum Programm an eine bestimmte Speicherstelle des Flash zu schreiben, und wenn ja wie?

Ja, du musst allerdings eine ganze Page löschen.

http://lmgtfy.com?q=LPC2368+write+flash
http://www.embeddedrelated.com/groups/lpc2000/show/24906.php

Gruß,
Johannes

--
Quote:
Wo hattest Du das Beben nochmal GENAU vorhergesagt?
Zumindest nicht öffentlich!
Ah, der neueste und bis heute genialste Streich unsere großen

Kosmologen: Die Geheim-Vorhersage.
- Karl Kaos über Rüdiger Thomas in dsa <hidbv3$om2$1_at_speranza.aioe.org>

Rolf Mennekes
Guest

Fri Feb 26, 2010 1:19 am   



Am 25.02.2010 18:39, schrieb Roland Kuhn:
Quote:
Hallo zusammen,

bin Neuling auf dem Gebiet der ARM7-Programmierung und benötige mal Hilfe von einem Freak:

Ich benutze den 2368 bzw 2378 Prozessor vom ARM, jeweils ein Evaluation-Board habe ich. Jetzt mein Problem:

Ist es möglich, außer dem eigentlichen Progarmm auch separate (nur ein paar Bytes, wie z. B. eine Kennung) zusätzlich zum Programm an eine bestimmte Speicherstelle des Flash zu schreiben, und wenn ja wie?

Stehe da auf dem Schlauch, das Handbuch des Proz. gibt da auch nicht viel her.

Bin für jeden Hinweis dankbar.

Freundlicher Gruß


Roland
Wie Johannes Bauer bereits geschrieben hat, stellt ARM keine uC her.

Schaue bei dem Hersteller des uC nach Librarys. Damit geht das dann
relativ einfach.

Rolf

Matthias Weingart
Guest

Fri Feb 26, 2010 10:19 am   



Johannes Bauer <dfnsonfsduifb_at_gmx.de>:

Quote:
Ist es m”glich, auáer dem eigentlichen Progarmm auch separate (nur ein
paar Bytes, wie z. B. eine Kennung) zus„tzlich zum Programm an eine
bestimmte Speicherstelle des Flash zu schreiben, und wenn ja wie?

Ja, du musst allerdings eine ganze Page l”schen.

Wenn man nachträglich noch etwas eintragen möchte, geht es auch so, dass man
die Zellen im Flash auf 1 lässt (0xffff) und die dann bei Bedarf auf Null
schreibt, ohne vorher zu löschen. Allerdings darf man in einen bestimmten
Flashblock (je nach Modell) zwischen Löschvorgängen auch nicht beliebig oft
schreiben, selbst wenn andere Bits unbeeinflusst bleiben. (mal ins Datenblatt
schauen nach "cumulative program time" o.ä.)

M.

Stefan Reuther
Guest

Fri Feb 26, 2010 7:41 pm   



Roland Kuhn wrote:
Quote:
bin Neuling auf dem Gebiet der ARM7-Programmierung und benötige
mal Hilfe von einem Freak:

Ich benutze den 2368 bzw 2378 Prozessor vom ARM, jeweils ein
Evaluation-Board habe ich. Jetzt mein Problem:

Ist es möglich, außer dem eigentlichen Progarmm auch separate
(nur ein paar Bytes, wie z. B. eine Kennung) zusätzlich zum
Programm an eine bestimmte Speicherstelle des Flash zu schreiben,
und wenn ja wie?

Wenn die Kennung im gleichen Moment in den Flash soll wie das Programm,
kannst du ja einfach das Programm jeweils entsprechend modifizieren.
Natürlich nicht, indem du den Quelltext modifizierst und neubaust,
sondern indem du in dem Programmimage rumschreibst. Wie das am
kleversten geht, hängt jetzt von deiner Toolchain ab.

Für unser Projekt (kein ARM-Prozessor, würde da aber auch funktionieren)
habe ich die Bootloader-Tools entwickelt, und habe da einfach eine
Funktion eingebaut, die vor dem Generieren des Flashimages im Programm
einen Variablenwert tauscht. Das heißt, im Programm steht
char ident[100] = "nix";
und der Generator macht da "gebaut von X am Y" draus. ELF hat genug
Symbolinformationen, dass das recht einfach ist.

Die nicht-ganz-so-Luxus-Version ist, rauszufinden, wo die Variable im
..hex-file steht und das vor dem Flashen darin zu ersetzen.


Stefan

Dirk Ruth
Guest

Sat Feb 27, 2010 12:42 am   



Stefan Reutherschrieb:
"
Quote:
Roland Kuhn wrote:
bin Neuling auf dem Gebiet der ARM7-Programmierung und benötige
mal Hilfe von einem Freak:

Ich benutze den 2368 bzw 2378 Prozessor vom ARM, jeweils ein
Evaluation-Board habe ich. Jetzt mein Problem:

Ist es möglich, außer dem eigentlichen Progarmm auch separate
(nur ein paar Bytes, wie z. B. eine Kennung) zusätzlich zum
Programm an eine bestimmte Speicherstelle des Flash zu schreiben,
und wenn ja wie?

Wenn die Kennung im gleichen Moment in den Flash soll wie das Programm,
kannst du ja einfach das Programm jeweils entsprechend modifizieren.
Natürlich nicht, indem du den Quelltext modifizierst und neubaust,
sondern indem du in dem Programmimage rumschreibst. Wie das am
kleversten geht, hängt jetzt von deiner Toolchain ab.

Für unser Projekt (kein ARM-Prozessor, würde da aber auch funktionieren)
habe ich die Bootloader-Tools entwickelt, und habe da einfach eine
Funktion eingebaut, die vor dem Generieren des Flashimages im Programm
einen Variablenwert tauscht. Das heißt, im Programm steht
char ident[100] = "nix";
und der Generator macht da "gebaut von X am Y" draus. ELF hat genug
Symbolinformationen, dass das recht einfach ist.

Die nicht-ganz-so-Luxus-Version ist, rauszufinden, wo die Variable im
.hex-file steht und das vor dem Flashen darin zu ersetzen.




Also jeder Compiler kann auch Variablen auf eine feste Adresse legen.
Da muss man nichts mehr suchen. Die Variable in einer separaten Datei
anlegen, compilieren und mit dem restlichen Code linken.
Sowas wie __DATE__ und __TIME__ kennt auch jeder Compiler.


Dirk

elektroda.net NewsGroups Forum Index - Electronics DE - ARM7 In Flash speichern

Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
RTV map EDAboard.com map News map EDAboard.eu map EDAboard.de map EDAboard.co.uk map Opony