mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Anfängerfrage: How to start with CC1110


Autor: Uwe Rothfeld (uwerothfeld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist doch ein 8051 drin, dafür gibts doch genug C-Compiler

Autor: Uwe Rothfeld (uwerothfeld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Timmo,

das ist ja schon mal ein Schritt weiter. Also brauch ich einen C 
Compiler für den 8051. Wenn ich ein Kabel gegen eine Funkstrecke 
ersetzen möchte, kennst du da ein gutes Tutorial wo ich einen einstig 
finde?

Danke. Uwe

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach, äh, nee... habe CC1100 gelesen. Sorry.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sebastian schrieb:
> Wo steht denn eigentlich, daß auf dem Board ein 8051 ist?

Im Datenblatt:

"The
CC1110Fx/CC1111Fx combines the excellent
performance of the state-of-the-art RF
transceiver CC1101 with an industry-standard
enhanced 8051 MCU, up to 32 kB of in-system
programmable flash memory and up to 4 kB of
RAM"


Peter

Autor: Uwe Rothfeld (uwerothfeld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Andreas Häusler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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/cc1110...

Autor: Andreas Häusler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du in der Suche cc1110 eingibst, findest Du auch ein paar 
hilfreiche Einträge hier im Forum.

Autor: Uwe Rothfeld (uwerothfeld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welches Modul verwendest du denn?

Autor: Uwe Rothfeld (uwerothfeld)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

also ich habe ein IMST iM820A, incl. Demoboard. Da ist die Doku leider 
sehr dünn. Außer: "Schauen Sie bei TI" steht da nicht, wie man die 
Dinger programmiert.

Gruß, Uwe

Autor: Andreas Häusler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielleicht kommst Du ja mit der Codelimitierten Demo Version des Keil 
Compiler aus. Ist das beste Teil, dass ich kenne für den 8051...

Autor: Sebastian E. (der_andere_sebastian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Sebastian E. (der_andere_sebastian)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peda:
Gerne, das besagte Beispiel ist hier...
Auf der Seite 
http://www.atmel.com/dyn/products/product_card.asp...
findet man bei der Appnote:
USB Communication Device Class - Migration from RS-232 to USB
ein zip-Archiv mit einer Beispielsoftware (Keil-Projekt).
Wer es schafft, das auf SDCC zu übersetzen, kann sich wirklich auf die 
Schulter klopfen.

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.