Hallo!
Ich würde mich gerne mal an ARMs versuchen. Jetzt stehe ich vor der
Wahl: STM32F103 oder LPC1114 (möchte einen modernen Corex verwenden,
also nicht ARM7).
Hab mir beide schon angesehen und würde zu dem LPC tendieren, der ist
wahrscheinlich überschaubarer für den Anfang. Der STM32 kann zwar mehr,
aber da muss man sich auch erst in die Peripheral Libraries einarbeiten.
Als IDE hätte ich entweder IAR Kickstart oder besser (weil keine
Begrenzung) LPCXpresso gewählt.
Verwendet der LPCX den GCC?
Wie sieht es mit den Libraries der beiden aus? Wo finde ich da Infos,
wie ich z.B. mit Interrupts umgehe bzw. eine Doku der gesamten Library?
Bei AVRs gibts ja die sehr gute Doku zur avr-libc, wo auch gcc-Themen
behandelt werden. (BTW: Ist die Interruptbehandlung Compilersache oder
Aufgabe der Library? Mir sind die Abgrenzungen da nicht so klar)
Muss ich bei den beiden Umgebungen mit Startup und Linker beschäftigen
oder geht das automatisch wie beim AVR?
Danke euch!
> Ich würde mich gerne mal an ARMs versuchen. Jetzt stehe ich vor der> Wahl: STM32F103 oder LPC1114 (möchte einen modernen Corex verwenden,
Was verstehst Du unter "modern"?
Der stm32f103 kann nicht gleichzeitig CAN und USB, der lpc1114 ist ein
Cortex-M0. Manche würden sagen, dass das nicht unbedingt modern ist.
> Der STM32 kann zwar mehr,> aber da muss man sich auch erst in die Peripheral Libraries einarbeiten.
Diese "libraries" gibt es auch für den/die LPCs. Das wäre kein
Unterschied.
Fire Eagle schrieb:> Als IDE hätte ich entweder IAR Kickstart oder besser (weil keine> Begrenzung) LPCXpresso gewählt.LPCXpresso hat auch eine Begrenzung, m. W. liegt diese bei max. 128kb
Flash zum Debuggen. Bei dem genannten lpc wohl kein Problem.
Beides ist keine "freie" SW - somit würde ich sagen, dass beide begrenzt
sind. make und Editor funktionieren tadellos als IDE.
> Wo finde ich da Infos,> wie ich z.B. mit Interrupts umgehe bzw. eine Doku der gesamten Library?
Es gibt genügende Beispiele zusammen mit den libraries.
> Ist die Interruptbehandlung Compilersache oder> Aufgabe der Library
Es ist eher Deine Sache ...
> Muss ich bei den beiden Umgebungen mit Startup und Linker beschäftigen> oder geht das automatisch wie beim AVR?
Vermutlich liefern die das mit. Wer sich freier bewegt, wird um dieses
Thema nicht herumkommen. Ich verstehe allerdings nicht, was daran so
schlimm sein soll. Wer mit AVR GCC PROGMEM zurecht kommt, wird das auch
überstehen :-) Im Gegensatz zu PROGMEM ist das relativ allgemeines
Wissen, was einem auch auf anderen Architekturen wie msp430, PIC32,
Renesas RX sehr hilfreich sein kann - in diesen Fällen habe ich von der
Erfahrung rund um Startup-Code und Linker-Skripten sehr profitiert.
hallo,
atmel wäre auch eine option.
die sam3/4 familie hat interessante peripherals und das atmel sudio
wirst du vielleicht von den avr's schon kennen.
gruss
gerhard
Eumel schrieb:> Wenn du noch 29 Tage warten kannst: Das neue Launchpad von TI :)
Wo kann ich das nachlesen? Hoffentlich wird das so günstig wie das MSP
:D
>Jetzt stehe ich vor der Wahl: STM32F103 oder LPC1114 (möchte einen modernen >Corex verwenden, also nicht ARM7).
Hat der M3 nicht einen ARM7-Kern? Oder bin ich falsch informiert?
Joachim ... schrieb:>>Jetzt stehe ich vor der Wahl: STM32F103 oder LPC1114 (möchte einen modernen>>Corex verwenden, also nicht ARM7).> Hat der M3 nicht einen ARM7-Kern? Oder bin ich falsch informiert?
Du verwechselst die Architektur (ARMv7M) mit der Implementation
(ARM7TDMI).
fchk
Könnte man den LPC114 auch von Grund auf (ohne Libraries für
adc,spi,...) programmieren, ohne dass man sich um Linker und Startup
kümmeren muss?
Also so, wie das mit WinAvr üblich ist?
Ich würde mit dem STM32F407-Discovery beginnen.
Gibt es für 15 Euro z.B. bei RS.
Gegenüber dem Stellaris hat es deutliche Vorteile:
- mehr als doppelt so hohe Taktung
- 4x mehr Flash
- 6x mehr RAM
- wesentlich mehr I/O-Pins
Doku und Libraries sind sehr brauchbar.
Chris D.
bzw. wie funktioniert das genau mit den Interrupts beim 1114?
Muss man da jeden einzelnen aktivieren und auch global?
Irgenwie finde ich da im Datasheet nichts.
Fire Eagle schrieb:> Bin gerade dabei, mich weiter "durchzuforsten".> Stimmt es, dass ich CMSIS brauche, um überhaupt mit interrupts arbeiten> zu können?
Vielleicht noch eingeschoben: Wir kommen auch von der AVR-Schiene und
beschäftigen uns jetzt knapp drei Monate nebenher mit dem STM32F4, sind
also auch noch Einsteiger.
Du kannst, musst die Bibliotheken aber nicht benutzen.
Grundsätzlich kannst Du wie bei den AVRs auch direkt in die Register
z.B. der UART-Schnittstellen schreiben. Die entsprechenden
Registerdefinitionen gibt es auch. Wenn es später richtig schnell sein
muss, dann macht man das auch so und umgeht die teuren Funktionsaufrufe.
Zu der Peripheral Library von ST gibt es ganz unterschiedliche
Meinungen. Die einen verdammen sie in Grund und Boden, andere finden sie
zumindest zum Einstieg hilfreich (dafür sind sie laut ST auch
hauptsächlich gedacht).
Ich persönlich finde sie ganz hilfreich. Ohne die Structs verliert man
mMn sehr schnell den Überblick darüber, was man denn nun überhaupt in
welches Register schreiben muss, um ein Hardwaremodul zu initialisieren.
Den Startup-Code kannst Du natürlich auch selbst schreiben, aber
zumindest beim STM32F4 muss man erstmal die Taktversorgung etc.
einrichten. Das ist doch etwas mehr Arbeit als beim AVR.
Der mitgelieferte Startup-Code ist schon nah am Optimum - und bei dem
reichlichen Platzangebot (1MByte Flash beim STM32F407) interessiert das
nicht mehr wirklich ;-)
Chris D.
Eine eigene Frage?
Dieser Thread ist über 14 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.