2012-01-11 44 views
11

Recentemente ho iniziato un progetto che richiede un processore Cortex M3. Ho alcune esperienze precedenti con microcontrollori AVR a 8 bit, quindi speravo in una transizione non troppo ampia.Qualcuno conosce qualche tutorial stm32 di base?

Quindi ho acquistato un kit STM32L-Discovery (poiché la bassa potenza è un punto importante) e ho iniziato a guardare alcuni esempi. Tuttavia, sono completamente bloccato all'inizio. Durante la programmazione con AVR era tutto molto semplice, solo includendo 2 o 3 file era possibile scrivere un semplice main.c come per esempio un LED lampeggiante.

Tuttavia gli esempi in IAR EWARM (che sto usando) sembrano tutti molto gonfiati, molti file che rendono difficile l'avvio. Sto avendo lo stesso problema con la maggior parte dei tutorial online.

Qualcuno conosce qualche (molto) semplice tutorial che potrebbe aiutarmi. Sto pensando di acquistare "La Guida definitiva al ARM Cortex-M3" poiché sembra altamente raccomandato.

Questa potrebbe essere una domanda molto stupida ma sono bloccato per troppo tempo e mi sento un po 'disperato.

risposta

4

ho un po 'a github http://github.com/dwelch67

il repository stm32vld è per la scoperta linea di valore di STM32 e stm32f4d per la scoperta STM32F4. Con uno di essi dovresti essere in grado di prendere uno dei primi esempi di lampeggianti e cambiare l'init per qualsiasi pin gpio che stai usando per quel chip/board. Tutti (una volta che esco dall'assembler in esempi C) mostrano sia come utilizzare gli strumenti basati su llvm che gli strumenti di gnu per creare progetti centrati in C con alcuni assembly per iniziare. Non mi affido a nessun altro script di linker o altri lavori in scatola del genere, tutto è controllato nell'esempio.

Speriamo che i miei tutorial non rientrino nella categoria "dello stesso problema con la maggior parte dei tutorial online".

+0

si potrebbe vagare attraverso i miei esempi di lampeggianti mbed_samples, ho scritto molto più testo (probabilmente troppo) sul perché e come di cosa stavo facendo , gli esempi stm sono stati più di un semplice approccio "qui si tratta". –

+0

Grazie per la rapida risposta, ci sto guardando. – luc

+0

+1 @dwelch: questi esempi funzionerebbero con la riga STM324F429? Che lo facciano o no, mi piacerebbe imparare come modificare i cosiddetti "script linker" per ottenere la giusta combinazione per un dato processore. Sto leggendo i tuoi README al momento, ma qualsiasi ulteriore maneggiamento sarebbe molto apprezzato. Grazie. (BTW: Completamente con l'approccio di programmazione bare metal - il modo migliore per imparare!) – Sabuncu

3

Sono completamente d'accordo con te. Anch'io sto iniziando e trovo difficile persino graffiare la superficie! Ho una buona esperienza con i PIC, ma con le ARM la curva di apprendimento è davvero ripida.

Per il STM32F4Discovery che sto utilizzando, la ST fornisce numerosi esempi. A partire da semplice pin di commutazione. Sto esaminando il file main.c che per ogni esempio è ben commentato e proviamo a capire da lì. Hanno una libreria di periferiche, quindi individuala e guarda le dichiarazioni delle funzioni. Ho imparato alcune cose del genere.

Assicurarsi inoltre di fare riferimento al manuale effettivo del BRACCIO che si sta utilizzando.

Penso che si riduca a quanto tempo devi spendere. Parlando per me stesso, non ho il tempo di leggere il manuale e capire come funziona tutto. Se trovi qualche buona fonte per favore pubblicali!

In chiusura sto incollando un paio di URL sono stato trovato informazioni utili:

http://www.hitex.com/index.php?id=download-insiders-guides

http://www.micromouseonline.com/category/stm32/#axzz1wMO2VjAI