www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT91SAM7S256 EEPROM vs. SRAM / Flash-Loader / Startup


Autor: Peter Pippinger (uncle-sam7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Newsgroup,

nachdem ich ja jetzt schon positive Erfahrungen (SDCard, HD44780, 
SID...) mit dem AT91SAM7S256 und C gesammelt habe, bleiben doch noch ein 
paar Fragen zu den Grundlagen offen, nachdem ich jetzt mit Assembler 
weitermachen werde.

Der Flash-Speicher liegt ja bei 0x200000. Was muss denn da alles 
(minimal) reingepackt werden, so dass ein Programm ausgeführt wird, 
nachdem der uC (bzw. das Dev-Board) angeschaltet wird?

Wenn ich ein minimales LED-Blinken (Endlosschleife ohne IRQs) ins EEPROM 
laden möchte, reicht da nicht einfach
- Stackpointer
- Watchdog ausschalten & "fastmode" an
- PINs konfigurieren und los?

Sind die Flash-Loader nur bei C-Programmen mit dabei um irgendwelche 
programmtechnischen Dinge ins SRAM zu laden?
Habe hier z.B. unter yagarto "low_level_init.o" und "startup.o". Sind 
das solche Flash-Loader?

Viele Grüße,
Peter

Autor: peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... kennt vielleicht jemand ein Tool wie
http://home.pacbell.net/michal_k/6502.html
für ARM7 ?

Autor: Stephan W. (sir_wedeck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
du brauchst auf jeden Fall die Init für die PLL, sonst läuft dein MC auf 
32 kHz.

>reicht da nicht einfach
>- Stackpointer
>- Watchdog ausschalten & "fastmode" an
>- PINs konfigurieren und los?

eigentlich sollte das plus die PLL ausreichen.
Aber was hindert dich dran die org. Startsequenzen zu nehmen?
Da wo der Sprung nach Main ist schreibst du einfach dein Label rein.

Wenn du die anderen Dinger raus nimmst, gibs später Probleme wenn du 
dann doch einen IRQ benötigst.

Stephan

Autor: Peter Pippinger (uncle-sam7)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, Stephan für Deinen Beitrag. Dachte schon, dass nur ich 
meine Posts im Forum sehen kann :-)

Stephan W. schrieb:
> eigentlich sollte das plus die PLL ausreichen.
> Aber was hindert dich dran die org. Startsequenzen zu nehmen?

naja, eigentlich nichts. Ich würde nur ganz genau wissen wollen, was im 
startupcode passiert, und ob was vom SRAM "abgezwickt" wird.

Ich bin vom Typ her halt immer eher so, dass zuerstmal nur minimal was 
laufen soll, und dann nach bedarf "nachrüsten".

> Da wo der Sprung nach Main ist schreibst du einfach dein Label rein.

Werde das glaube ich mal mit der IAR-Workbench testen. Soweit ich mich 
erinnern kann, konnte man da auch step-by-step das Programm 
durcharbeiten und die Register entsprechend ansehen...

> Wenn du die anderen Dinger raus nimmst, gibs später Probleme wenn du
> dann doch einen IRQ benötigst.

Für den SID-Player werde ich definitiv keinen IRQ nehmen.

Gruß Peter

Autor: Stephan W. (sir_wedeck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
>Dachte schon, dass nur ich meine Posts im Forum sehen kann :-)
Das glaube ich manchmal auch, aber im Moment sind bestimmt viele im 
Winterurlaub und fahre Ski oder Snowboard. will ich auch!!! :'-(

>Ich würde nur ganz genau wissen wollen, was im
>startupcode passiert, und ob was vom SRAM "abgezwickt" wird.
Also normaler weise wird für die entsprechenden, ich nenne das mal, 
"SystemModies", ein Stack kreiert und so mit SRAM abgezwackt.

Wenn du nur die minimal Version machst, brauchst du diese Modies 
bestimmt auch ( wenn auch nur Teilweise).
Oder du lässt diese wirklich in einer Endless Loop enden.

>Für den SID-Player werde ich definitiv keinen IRQ nehmen.
Was ist mit DMA-Transfer für die SPI oder den Watchdog für das Programm?

Stephan

Autor: Peter Pippinger (uncle-sam7)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
peter schrieb:
> ... kennt vielleicht jemand ein Tool wie
> http://home.pacbell.net/michal_k/6502.html
> für ARM7 ?

Wollte der Vollständigkeit halber erwähnen, dass ich das gefunden habe, 
was ich gesucht habe: Dir IAR Workbench bringt einen "Simulator" gleich 
mit. Register & Co. lassen sich damit betrachten.

Gruß,
Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.