PIC 18F Daten im RAM wohin speichern?

Gast
Wieso willst Du das alte Zeug überhaupt "retten"?

>Sprich woher weiß ich das in dem RAM teil wo ich den alten FLAHS block

Das entnimmst Du dem Map-File, dem Listing oder was auch immer Du von 
der alten Software hast. Dabei auch den Stack oder ggfs. dynamisch 
allokierte
Daten (bei einem P*C wahrscheinlich weniger relevant) nicht vergessen.

Wieso machst Du nicht einfach einen Dump des Flashinhalts auf Deinen
PC?
OP
eyeyey...muss ich doch weiter ausholen^^

ich will den FLASH im laufenden betrieb beschrieben, da der PIC den ich 
für meine Anwendung später brauch kein EEPROM hat.

Und um den FLASH zu beschreiben wird vorher der alte block im RAM 
gerettet, modifiziert und wieder zurückgeschrieben.
Daher wollte ich wissen wo ich im RAM die 64byte hinschreiben kann ohne 
was zu überschreiben

MfG
Gast
>Daher wollte ich wissen wo ich im RAM die 64byte hinschreiben kann ohne
>was zu überschreiben

Woher soll das jemand wissen? Du sagst ja nicht mal in welcher
Sprache du programmierst.
Gast
>Da ich ein USB-Device baun will programmier ich in C und Teile auch in
>Assembler.

Das bringt uns jetzt unglaublich weiter.
Wo ist das Problem ein Array im RAM zum zwischenspeichern
für deine Flash Page anzulegen? Im C Code oder im Assemblercode?
Und bei der Qualität deiner Frage solltest du C und Assembler
besser nicht mischen.
OP
Karl Heinz Buchegger schrieb:
> Dann leg halt ein Array mit 64 Bytes an und lass den Compiler/Linker
> sich darum kümmern, wo sie das im Speicher anordnen. Das ist ja
> schliesslich ihr Job, sich darum zu kümmern.

hätt ich auch selbst drauf kommen können -.-
Jetzt brauch ich aber wieder die Adresse für mein FSR0H/L.
An das untere Byte kommt man leicht. Wie ich aber an das Obere komm weiß 
ich jetzt ehrlichgesagt nicht so recht (in Assembler).

Ich könnte nach dem compilieren natürlich schaun wie die Adresse ist, 
und dann angeben aber das würde ich nur ungern machen.

@ holger
Komisch einer hats ja hinbekommen mir den richtigen Denkanstoß zu geben.

Und nein ich weiß leider nicht wie ich mit Assembler ein 64 byte langes 
Array im RAM anlegen kann. Würde ich das wissen hätte ich hier mit 
Sicherheit nicht gefragt.

Aber Trolle gibts halt überall...
N. M. schrieb:
> Karl Heinz Buchegger schrieb:
>> Dann leg halt ein Array mit 64 Bytes an und lass den Compiler/Linker
>> sich darum kümmern, wo sie das im Speicher anordnen. Das ist ja
>> schliesslich ihr Job, sich darum zu kümmern.
>
> hätt ich auch selbst drauf kommen können -.-
> Jetzt brauch ich aber wieder die Adresse für mein FSR0H/L.
> An das untere Byte kommt man leicht. Wie ich aber an das Obere komm weiß
> ich jetzt ehrlichgesagt nicht so recht (in Assembler).
>
> Ich könnte nach dem compilieren natürlich schaun wie die Adresse ist,
> und dann angeben aber das würde ich nur ungern machen.

Schon mal was vom 'Adress Of' Operator (in C: &) gehört?

> Und nein ich weiß leider nicht wie ich mit Assembler ein 64 byte langes
> Array im RAM anlegen kann. Würde ich das wissen hätte ich hier mit
> sicherheit nicht gefragt.

Ich frage mich, warum du überhaupt Assembler programmierst, wenn du die 
einfachsten Sachen nicht kannst.
Jeder Assembler hat dazu Direktiven, um Speicher im SRAM zu reservieren.


Ist das wieder so eine Sache: Ich kanns in C nicht, also vermurkse ich 
es wenigstens in Assembler?
Na dann: Prost.
OP
Für was gibts denn bitte Foren, wenn man nicht nach Hilfe fragen darf, 
weil man dann sofort als Depp abgestempelt wird der von nix ne Ahnung 
hat?

Warum ich bei meinem Projekt Assembler Programmiere? Weil ich es "muss".
Ich "muss" den FLASH meines PICs beschreiben und das Datenblatt macht 
das eben im Assembler.

Natürlich kann ich mit
test EQU 0x20
abc RES 4
Speicher reservieren.

Nur kenn ich mich leider nicht so gut aus und hab beim debuggen eben 
festgestellt, das ich die Variable mit
ORG 0xXX
Temp RES 64
anlege er mir die Variablen die z.B. in C angegeben sind überschreiben 
kann.
Aber wie ich oben schon geschrieben hab bin ich ja eh nen Depp. von 
daher.

Keine Angst. Ich werd ab jetzt alle Fragen für mich behalten.
Na dann: Prost!
Gast
> Für was gibts denn bitte Foren, wenn man nicht nach Hilfe fragen darf,
> weil man dann sofort als Depp abgestempelt wird der von nix ne Ahnung
> hat?

Sagen wir es so: Auch die Anonymität eines Forums wie diesem hier kann 
diesen Umstand manchmal nicht verschleiern.

> Warum ich bei meinem Projekt Assembler Programmiere? Weil ich es "muss".
> Ich "muss" den FLASH meines PICs beschreiben und das Datenblatt macht
> das eben im Assembler.

Genau, DU musst das. Wir nicht, also bleib mal locker sonst stehst du am 
Ende mit leeren Händen da.

> Aber wie ich oben schon geschrieben hab bin ich ja eh nen Depp. von
> daher.
> Keine Angst. Ich werd ab jetzt alle Fragen für mich behalten.
> Na dann: Prost!

Durch das Geflenne wirst du den bisherigen Eindruck nicht korrigieren 
können. Gibst du immer so schnell auf? Na dann: Prost!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.