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


von Uwe R. (uwerothfeld)


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

von Timmo H. (masterfx)


Lesenswert?

Da ist doch ein 8051 drin, dafür gibts doch genug C-Compiler

von Uwe R. (uwerothfeld)


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

von Sebastian (Gast)


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.

von Sebastian (Gast)


Lesenswert?

Ach, äh, nee... habe CC1100 gelesen. Sorry.

von Peter D. (peda)


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

von Uwe R. (uwerothfeld)


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.

von Andreas Häusler (Gast)


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/cc1110f32.html#toolssoftware

von Andreas Häusler (Gast)


Lesenswert?

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

von Uwe R. (uwerothfeld)


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.

von Martin (Gast)


Lesenswert?

Welches Modul verwendest du denn?

von Uwe R. (uwerothfeld)


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

von Andreas Häusler (Gast)


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...

von Sebastian E. (der_andere_sebastian)


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.

von Peter D. (peda)


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

von Sebastian E. (der_andere_sebastian)


Lesenswert?

@peda:
Gerne, das besagte Beispiel ist hier...
Auf der Seite 
http://www.atmel.com/dyn/products/product_card.asp?part_id=3011
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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.