Habe gerade ne mail bekommen, dass ich ein xmc 2go gewonnen habe habe
mir dann gleich mal ein minitutorial angeschaut,
http://www.myxmc.de/tutorial/doku.php?id=hallo_c
und festgestellt, dass sich selbst die addressierung zu den AVRs
unterscheidet.
1. Warum muss ich bei den xmc Controllern immmer ein ganzes Byte nehmen
um einen Pin zu adressieren. (ein pin entspricht so wie ich es sehe
einem Ausgang also einem Bit) Sprich ein 32 Bit Register für eine 4Bit
adressierung nehmen muss..
2. Welcher programmierumgebung kann ich dazu verweden, welche Sprache
spricht die (C wie in dem beispiel?) Kann ich den gcc compiler nehmen?
weis da schon jemand was, bzw. hat sich von den gewinneren schon jemand
befasst, habe noch keine xmcs programmiert..
Wenn du das IOCR meinst stellst du mit einem Byte die Funktionsweise
eines Pins ein. Gibt dort nicht mehr nur Input oder Output sondern auch
andere Einstellmöglichkeiten, weswegen das ConfigRegister größer
ausfällt.
Beim OMR wird die Modifikationsart in 2 Bits angegeben. Für die 16 Pins
brauchst du deshalb ein 32 Bit Register.
Beim OUT und IN Register sollte alles "normal" funktionieren wie man es
erwarten würde.
Jan R. schrieb:> Welcher programmierumgebung kann ich dazu verweden, welche Sprache> spricht die (C wie in dem beispiel?) Kann ich den gcc compiler nehmen?
Im Artikel Infineon XMC 2Go steht:
> Den einfachsten Einstieg bietet die Entwicklungsumgebung DAVE. DAVE> basiert auf Eclipse CDT, und enthält neben dem GNU C Compiler (GCC)> die für das Flashen und Debuggen des Mikrocontrollers nötigen Tools.> Grundsätzlich lässt sich allerdings auch jede andere Entwicklungs-> umgebung (bzw. jeder Compiler verwenden), die Code für Cortex M0> erzeugen kann.
Ich hab auch gewonnen, aber noch nicht angefangen.
weis einer ein gutes tutorial für Dave,
was sind denn Dave Apps wie Prgrommiert man dass, irgendwie stellt man
alles wie dutycycle usw. in menüs ein, und nicht im Programmcode
Hat vielleicht einer ein Hello World?
Jan R. schrieb:> gibt es … für den xmc ein Datenblatt?
Jan, ich hoffe, dass wir diesen Thread noch eine Zeit lang nutzen
können, um Erfahrungen auszutauschen und der Thread nicht "zugemüllt"
wird. Das Datenblatt ist auch im Artikel Infineon XMC 2Go verlinkt.
Ich will mich jetzt mal ganz weit aus dem Fenster lehnen und sagen, Du
kannst jede Entwicklungsumgebung nehmen, die einen M0 unterstuetzt. Du
musst 'bloss' die Header und die Linkerscripts anpassen.
Ich persoenlich werde natuerlich wieder nur Makefiles, gcc & Co
verwenden und die XMC-Umgebung von der LPC800-Umgebung ableiten ;-)
Wer geht die Sache hier eigentlich ausser mir noch von ganz unten an,
d.h. mit nichts vorgefertigtem? Also XMC1100 RefMan, gcc, Texteditor und
los geht's?
Leider gehts mit dem USIC nicht so einfach, wie bei den LPCs, daher ist
das erste Thema wohl GPIO. Aber der XMC bekommt bei mir pro Woche nur
eine Zeitscheibe von einem Abend, aufgrund anderer Parallelprojekte.
Marc P. schrieb:> Wer geht die Sache hier eigentlich ausser mir noch von ganz unten an,> d.h. mit nichts vorgefertigtem?
Ich. Das ist wie mit Tabellenkalkulation: Lieber eine selbst machen, als
zu verstehen, wie die Tabelle funktioniert, die ein anderer gemacht hat.
;-)
PS @ Marc: Welche Toolchain benutzt Du?
Für den STM32F4 nutze ich CooCox CoIDE.
@Marc: Danke, ich werde mir Deine Toolchain am Wochenende mal anschauen.
Marc P. schrieb:> Aber der XMC bekommt bei mir pro Woche nur> eine Zeitscheibe von einem Abend, aufgrund anderer Parallelprojekte.
Exakt wie bei mir (Aquarium, LED-Beleuchtung, Touch-LCDs, NRF24L01+ als
Hausbus, …).
Daher nochmal mal 'ne Frage: Was hast Du als erstes mit dem XMC 2go vor?
Ich schwanke zwischen
► einer Flugstabilisierung mit Acceleromettern und Gyros
für meinen Helikopter,
► einem fernsteuerbaren Mini-Segway und
► einer universellen Fernbedienung mit SPI-Touch-TFT, NRF24L01+
und IRMP
Die Bauteile habe ich für alle drei Projekte schon liegen.
… wobei letzteres wohl billiger wird, wenn man Touch-TFTs mit paralleler
Schnittstelle und einem passenden µC dazu nimmt, weil's solche TFTs
billiger gibt als Touch-TFTs mit SPI: Handy-Ersatzteile aus China!
@Jan R. (macman2010): Was hast Du als erstes vor?
Eine Steuerung eines Modelkrans, mit 4 Motoren, licht greifeer usw.
wie willst du das minisagway regeln, wie stellst du regelparameter etc
ein?
Aber nochmal zurück zum Programmieren selbst. Welche Umgebung zum
Programmieren ist am besten für den XMC.
Was hat es mit diesem DAVE aufsich, was sind DAVE Apps?
Ich habe da keine Ahnung und die Anleitungen von Infineon sind auch
nicht zielführend...
Ist das sowas wie Arduino?
Hat das teil schon einer? Wenn ja wie programmierst du? Umgebung sprache
etc.
Torsten C. schrieb:> Daher nochmal mal 'ne Frage: Was hast Du als erstes mit dem XMC 2go vor?
Als erstes Programme ins RAM laden k"onnen ohne den XMC4200 und
irgendwelchen fremden Binaries. Das wird ein C-Programm unter Linux
'ramloader-xmc'.
Dann Entwicklungsumgebung basteln: crt0 fuer XMC1100 und LD-scripts.
Dabei entsteht bei mir meist ein assembler-blinky als erstes Programm
auf dem neuen uC.
Dann gehts auf die Peripherie des XMC los: GPIO, USIC: ASC, dann I2C.
Und dann kommt der MLX90620 dran :)
Allerdings bezweifle ich, dass ich das Modul fuer den MLX90620 auf dem
XMC mache. Vermutlich verwende ich dazu einen LPC175x, ich hab da grad
ein Board in der Mache mit I2C Schnittstelle nach draussen und
Motorsteuerungen on-board. Bei mir muss fast alles portabel sein und
dann verwende ich den uC, den ich am besten kenne.
Ganz spaet werde ich mich drum k"ummern, ohne fremde Binaries zu
Flashen, falls das bis dahin niemand anderes getan hat. Und bis dahin
bekommt man dann bereits einzelne ICs?!??
> Was hat es mit diesem DAVE aufsich, was sind DAVE Apps?> Ich habe da keine Ahnung und die Anleitungen von Infineon sind auch> nicht zielführend...> Ist das sowas wie Arduino?>> Hat das teil schon einer? Wenn ja wie programmierst du? Umgebung sprache> etc.
Naja diese IDE wird hier im Forum zum einstieg empfohlen, aber keiner
kennt sie?? Komisch...
Nach ersten Experimenten und Manual lesen komme ich zu dem Schluss, dass
die XMC 2Go einen BMI anders als im 'delivery state' (nach RefMan)
haben. Kann das jemand bestaetigen?
D.h.: Auslesen der Addresse 0x1000'0E00 ergibt was anderes als 0xFFC0 ?
Ich vermute mal 0xFFC3 oder 0xFFC5 ??
Das waere schlecht, denn damit ist schon mal Punkt 1 auf meiner Liste
nicht moeglich! Dann muesste ich der Katja schon wieder was melden was
andere Hersteller besser machen (RESET pin, BSL pin).
Ein RESET-Pin waere natuerlich auch ein echt fetter Luxus gewesen. So
(ohne) muss ich das XMC 2Go Power-cyclen mit 'nem BC556 :(
1. Warum muss ich bei den xmc Controllern immmer ein ganzes Byte nehmen
um einen Pin zu adressieren. (ein pin entspricht so wie ich es sehe
einem Ausgang also einem Bit) Sprich ein 32 Bit Register für eine 4Bit
adressierung nehmen muss..
Bekanntes ARM Problem
Schau dir mal Freescal's BME an
looser schrieb:> 1. Warum muss ich bei den xmc Controllern immmer ein ganzes Byte nehmen> um einen Pin zu adressieren. (ein pin entspricht so wie ich es sehe> einem Ausgang also einem Bit)
Damit Du mehrere Bits gleichzeitig aendern kannst. Dass die 'set' und
'clear' bits in einem Wort untergebracht sind, gefaellt mir beim XMC.
looser schrieb:> Schau dir mal Freescal's BME an
Cooles Teil. Allerdings muss man dann auch so fair sein und die
'missbrauchten' Adressbits als weitere Datenbits rechnen. LPC1100 (nicht
verwechseln mit XMC1100!) hat beim GPIO eine reduzierte Variante davon
bei den GPIOs.
Marc P. schrieb:> haben. Kann das jemand bestaetigen?> D.h.: Auslesen der Addresse 0x1000'0E00 ergibt was anderes als 0xFFC0 ?> Ich vermute mal 0xFFC3 oder 0xFFC5 ??
Bitte, bitte, kann sich jemand erbarmen und das mal auslesen?
Oder geht das gar nicht so einfach??
Also das ding ist da..
Wenn ich das beispielprojekt von Infineon.com
öffne, kann ich es verändern und sfort in den Debug modus kommen..
Und auf das Board downloaden..
Jetzt wollte ich die DaveApps mal ausprobieren..
Wähle XMC1100 dann DAVE Projekt und dann habe ich mal ein einfaches
Programm mit PWM funktiknalitäten geschrieben. Als ich jetzt auf debug
klicken wollte melden diese scheiß IDE das keine Hardware angeschlossen
wäre.. Was muss man den da in dieser Minderbemittelten IDE noch
einstellen
Mfg
Also das ding ist da..
Wenn ich das beispielprojekt von Infineon.com
öffne, kann ich es verändern und sfort in den Debug modus kommen..
Und auf das Board downloaden..
Jetzt wollte ich die DaveApps mal ausprobieren..
Wähle XMC1100 dann DAVE Projekt und dann habe ich mal ein einfaches
Programm mit PWM funktiknalitäten geschrieben. Als ich jetzt auf debug
klicken wollte melden diese scheiß IDE das keine Hardware angeschlossen
wäre.. Was muss man den da in dieser Minderbemittelten IDE noch
einstellen
und keine Anleitungen im Internet.. Was soll den diese schlechte
Markstrategie...
Mfg
Man fragt sich ob jemand, der nicht mal ordentlich in einem Forum posten
kann, eine IDE wirklich als "minderbemittelt" bezeichnen sollte.
Meistens gilt ja PEBKAC.
ja ich habe überreagiert, da ich gerade wütend war. Tut mir leid, jetzt
geht ja auch alles...
Nein das Problem war nicht ich sondern ein defektes USB Kabel..
Jan R. schrieb:> keine Anleitungen im Internet.. Was soll den diese schlechte> Markstrategie..
Ist das hier jetzt zum Mecker-Thread über Infineon geworden, nur weil
Katja mitliest?
Die anderen Wiki-Artikel im mikrocontroller.net sind sicher auch nicht
von den "Marktstrategen" erstellt worden. Also: Beiß Dich durch, lege
einen brauchbaren Artikel an oder warte, bis es ein anderer tut.
Deine Meckerei hilft niemanden weiter, wozu also?
PS:
Jan R. schrieb:> sondern ein defektes USB Kabel
Na dann ... war ich wohl mit meinem Beitrag zu vorschnell.
Also ich programmier den 2Go jetzt mit dem MDK von Keil. Einfach mal bei
Google nach "XMC1000 Keil" oder so suchen. Da hab ich dann eine
Installationsanleitung und eine Lizenz gefunden die wohl umsonst ist.
Bei der Installation bekommt man dann die Möglichkeit
Device-Unterstützung fuer die XMC1000 auszuwaehlen und Beispiele kann
man von dort auch gleich aufmachen. Mein erstes Projekt mit LED-Gewackel
lief 3 Minuten nach dem Download mit funktionierendem Flash Download und
Debugger. Besser gehts wohl nicht.
Sorry ich bin draussen. Hab mein XMC2Go weitergereicht!
Mike Roh schrieb:> Mein erstes Projekt mit LED-Gewackel> lief 3 Minuten nach dem Download mit funktionierendem Flash Download und> Debugger. Besser gehts wohl nicht.Marc P. schrieb:>> D.h.: Auslesen der Addresse 0x1000'0E00 ergibt was anderes als 0xFFC0 ?>> Ich vermute mal 0xFFC3 oder 0xFFC5 ??Marc P. schrieb:>> ..>> Ich vermute mal 0xFFC3 oder 0xFFC5 ??>> Bitte, bitte, kann sich jemand erbarmen und das mal auslesen?> Oder geht das gar nicht so einfach??
Wenn das alles so einfach schon nach 3 Minuten ging, warum konntest Du
dann auf meine Frage nicht mal nach 3 Tagen 'ne Antwort geben? Weil's
keinen extra Knopf fuer genau die Aufgabe gibt?? Oder mangelt es einfach
an einem Funken Hilfsbereitschaft?
Du bist Dir mit der Lizenz nicht so sicher, oder was willst Du damit
sagen:
Mike Roh schrieb:> die wohl umsonst ist
Die Lizenz ist in der Tat kostenfrei zugänglich und schaltet ein
128KByte Code-Size frei. Siehe auch:
ARM® today announced that Infineon has licensed the Keil®
Microcontroller Development Kit (MDK) Silicon Vendor Edition. Developers
now get free access to professional software tools for the Infineon
XMC1000 microcontroller series, further accelerating the transition from
8 and 16-bit architectures to 32-bit ARM® Cortex®-M0 processors.
http://www.keil.com/pr/article/1264.htm