Kreatives Chaos Code in Atmel Studio 6 portieren

Gast #4122252
Lesenswert?
• ▲
▼
Servus,

ich habe da eine Frage und zwar habe ich erfolgreich den Bootloader Code 
von Kreative Chaos ins Atmel Studio 6.2 importiert und mit dem 
CAN-Debugger von Kreatives Chaos getestet. Dabei habe ich das original 
HEX file von Kreatives Chaos für den Debugger benutzt. Nun muss ich, da 
die Hardware etwas anders ist, die Software von Debugger etwas anpassen. 
Ich habe alles soweit hingekriegt außer die Stelle mit prog_char und 
zwar nach langer Suche im Internet habe ich so verstanden, dass man 
prog_char durch constant_char ersetzen darf. Bin mir aber nicht 100% 
sicher, dass es richtig ist.

Somit darf man den Code:
static prog_char s_help[]     = "help";

So schreiben:
static const char s_help[]     = "help";

Ist das wirklich richtig? Ich habe leider Probleme mich mit dem 
CAN-Debugger zu verbinden und den Bootloader anzusprechen. Hat da jemand 
vielleicht schon was gemacht in Atmel Stufio 6.2?

Gruss Micha
Gast #4122754
Lesenswert?
• ▲
▼
prog_char wird irgend ein Makro sein, daß das Attribute für "im FLASH 
ablegen" versteckt. Damit ist es zwar quasi auch "static const", aber 
eben doch nicht ganz das gleiche. Ich vermute mal die Software ist in C 
ohne ++, dann kann man die EmbededC Erweiterungen des GCC nutzen.
1
static const __flash char s_help[]     = "help";
sollte genau das machen, was geplant war: ein String im FLASH ablegen.
Den kann man aber nur an Funktionen übergeben, die einen "char __flash 
*" oder einen universellen "char __memx *" erwarten. Zugreifen kann man 
dann auf die Daten ohne jegliche pgm_read*-Funktionen einfach per C 
Statements.
In C++ gibt's das leider nicht.
BTW, waren die CC-Sourcen nicht immer schon für GCC? Was mußte da 
portiere werden?

Antwort schreiben

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.

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.