Anfängerfrage: How to start with CC1110

OP #1912261
Hallo zusammen,

ich habe ein Board, auf dem ist ein CC1110 verbaut. Nach etwas suchen 
habe ich von TI den SmartRF Flash Programmer gefunden, wie ich den hex 
Code auf den Flash bekomme. Aber wie komme ich zu dem hex Code? Mit dem 
SmartRF Studio kann ich ja nur Settings als Code exportieren. Bin ich an 
C gebunden oder kann ich auch C++ schreiben? Wäre cool, wenn jemand nen 
Tip hätte. :)

Gruß, Uwe
Gast
Wo steht denn eigentlich, daß auf dem Board ein 8051 ist? Muß ich 
überlesen haben.
Das Smart RF Studio liefert soweit ich weiß Registerwerte, die von einem 
beliebigen externen Mikrocontroller oder -prozessor über SPI in den 
RF-Chip kommen.
Ein C++ Compiler sollte einen Schnipsel C verstehen.
OP
Hallo zusammen,

also danke erst mal für Eure Hilfe. Damit ich es richtig verstehe, ich 
könnte mir z.B. SDCC nehmen. Wenn ich eine Windows Umgebung habe brauch 
ich dann noch CygWin oder ähnliches. Und dann kann ich mein "ganz 
normales" C Programm nach hex Übersetzen und mit Hilfe des SmartRF Flash 
Programmer auf den Knoten schreiben? Könnt ihr mir ne 8051 
Programmierungsseite für Dummys nennen? Ist das alles, oder hab ich was 
vergessen?

Danke Euch auf jeden Fall.
Gast
Ich frage mich, ob es richtig ist, dass Du ohne grosse Kentnisse der 
Materie gerade mit einem RF- Transciever mit interner CPU anfängst.

Es gäbe auch einfachere und schnellere Möglichkeiten um ein Kabel mit 
einer Funkstrecke zu ersetzen:

http://www.kh-gps.de/btm222.htm

http://www.radiocrafts.com/

Falls Du beim CC1110 bleiben willst, findest Du auf nachfolgender HP 
einige Demo Projekte. Musst halt noch einem geeigneten Compiler Ausschau 
halten.
(Keil, IAR usw.)

http://focus.ti.com/docs/prod/folders/print/cc1110f32.html#toolssoftware
OP
Hallo,

erst einmal Danke für Eure Tipps. Also ich habe ehrlich gesagt nicht so 
die Wahl, ich muß beim CC1110 bleiben. Sowas wie TMoteSky habe ich schon 
mal programmiert, allerdings mit Hilfe von TinyOS. Da war der ganze Weg 
des erstellen und debuggen eines Programms vorbestimmt. Bei dem mir 
vorliegenden Board steht einfach nur: schau bei TI. Das fand ich weniger 
nett, um es mal sozusagen.

Gibt es Präferenzen bzgl. des Compilers? Es scheint ja hier im Forum 
Keil zu dominieren, gefolgt von IAR. Aber beide sind ja so weit ich es 
sehe kostenpflichtig. Was ist mit SDCC?

Nach cc1110 hab ich hier im Forum schon gesucht, aber soviel hab ich 
ehrlich gesagt nicht gefunden, 25 Treffer.

Danke.
Das Problem mit dem SDCC ist, daß man einige Dinge syntaktisch anders 
schreiben muß als z.B. bei Keil oder ähnlichen. Ein für Keil (sicher 
gilt ähnliches auch für IAR oder Raisonance) geschriebenes 
Beispielprojekt ist meist nur mit erheblichem Aufwand nach SDCC zu 
portieren. Mit dem USB-CDC Beispiel von Atmel habe ich es mal probiert 
und nach zwei Tagen aufgegeben.

Fazit: SDCC ist gut, wenn man alles selber machen kann. Wenn man 
fertigen Beispielcode verwenden muß, lohnt es sich, das ganze mit der 
limitierten Demo vom Keil zu versuchen - gekauft ist der für Privat 
einfach zu teuer.

Die Portierbarkeit von C-Programmen ist leider gerade beim 8051 nicht so 
toll, weil die Compiler eine Menge spezifischer Anpassungen haben, das 
macht halt jeder anders. Der 8051 wurde eben nicht für C entwickelt... 
Assembler und sogar Pascal sind da weniger problematisch.
Sebastian E. schrieb:
> Das Problem mit dem SDCC ist, daß man einige Dinge syntaktisch anders
> schreiben muß als z.B. bei Keil oder ähnlichen. Ein für Keil (sicher
> gilt ähnliches auch für IAR oder Raisonance) geschriebenes
> Beispielprojekt ist meist nur mit erheblichem Aufwand nach SDCC zu
> portieren.

Hast Du mal ein Beispiel.
Soweit ich weiß, kann der SDCC keine Bitvariablen, der Rest sollte aber 
leicht portierbar sein.
Bitvariablen müßte man sich aber mit nem Macro basteln können, wird dann 
vielleicht nicht so effizient umgesetzt.
Beim AVR-GCC habe ich mir so ein Macro (SBIT) gebastelt, geht ganz gut.

Wenn der SDCC keine generic Pointer (24Bit) kann, dann kann eine 
Anpassung allerdings aufwendiger werden.


> Die Portierbarkeit von C-Programmen ist leider gerade beim 8051 nicht so
> toll, weil die Compiler eine Menge spezifischer Anpassungen haben, das
> macht halt jeder anders.

Soviele sind das garnicht.
Eigentlich nur Bitvariablen, Interrupthandler-Syntax, 
Inline-Assembler-Syntax.
Ich hab schon mehrere Routinen von C51 auf AVR-GCC portiert. Zeit kosten 
da nur die Hardwareanpassungen (IO-Pins, Timer usw.).


> Der 8051 wurde eben nicht für C entwickelt...

Das sieht man dem Keil C51 aber nicht an. Der macht oftmals besseren 
Code als ein Assemblerprogrammierer.
Um ihn zu toppen, muß man schon ein Assemblerprofi sein.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.