Hallo zusammen,
ich habe die Aufgabe ein bestehendes Programm eines Atmega32 auf einen
PIC16F877 umzuschreiben. Leider habe ich zur Zeit noch keine große
Ahnung/Erfahrung bei der Programmierung von Mikrokontrollern.
Mein Problem ist, dass ich ein Display ansteuern muss und hierfür
vordefinierte Grafiken im Hex Format vorliegen habe. Die einzelnen
Zahlen ,Buchstaben und Symbole wurden aus einzelnen Bitmaps in Hex
Format umgewandelt und in Arrays abgelegt. Wenn ich die ganzen Daten nun
als konstante Arrays (für jedes Symbol ein Array) anlegen will ist mein
Speicher ziemlich schnell voll.
Wenn ich das richtig verstanden habe wurden diese Daten bei dem Atmega32
mit dem Schlüsselwort "PROGMEM" im Flash Speicher abgelegt.
z.B.
Ich suche seit gestern nach einer Möglichkeit das mit dem PIC16F877 auch
so in der Art zu machen, konnte aber leider noch nichts finden.
Ich hoffe einer von euch kann mir einen Tipp geben wie ich das Problem
lösen kann.
Ich verwende MPLAB IDE v8.10 von Microchip und den picc lite Kompiler
von Hi-tech (Vorgabe vom Betrieb).
Danke schon mal im Vorhinein.
Gruß
Christian
Christian wrote:
> ich habe die Aufgabe ein bestehendes Programm eines Atmega32 auf einen> PIC16F877 umzuschreiben.
Das geht aber nur, wenn in dem ATmega32 noch massig Ressourcen frei
sind:
ATmega32: 16k*16 Flash, 2k SRAM
PIC16F877: 8k*14 Flash, 368 Byte SRAM
Der PIC dürfte aber eher mehr brauchen durch das ständige Page
Umschalten.
>
1
>//arrow down picture 40x20
2
>constPROGMEMunsignedchararrow_down[]={
3
>
Das klingt sehr danach, das der Flash schon gut voll ist.
Bei 14 Bit im PIC-Flash kriegt man auch nur ein Byte pro Word
gespeichert oder man muß umständlich Bitschiften.
Das wird also ein ziemliches Gemäre werden (keine Interruptvektoren
usw.).
Wer denkt sich denn bloß sowas aus.
Viel leichter gehts umgekehrt (PIC -> AVR).
Peter
Christian wrote:
> Danke, aber das alleinige Austauschen des Schlüsselwortes war es leider> nicht.> Zumindes meckert der Kompiler darüber...
Was sagt denn das Map-File, wie voll der ATmega32 überhaupt ist?
Vorher brauchst Du garnicht erst anfangen.
Du mußt ja erstmal wissen, ob Du überhaupt eine kleine Chance hast.
Peter