Pagina 1 di 1

STM32. Qualcuno lo utilizza?

MessaggioInviato: 15 set 2011, 23:13
da TardoFreak
Un saluto a tutti i forumisti.
Oggi ho analizzato i modelli "value" dell' STM32. E' un micro Cortex-M3 che, seppur viaggiando con un clock a 24MHz ed avendo relativamente poca memoria, sarebbe un' ottima alternativa ad un qualsiasi 8 o 16 bit anche perché lo vendono a prezzi uguali o addirittura più bassi.
L' idea di utilizza un micro a 32 bit al prezzo delle patate mi alletta ed incuriosisce assai quindi mi rivolgo a chi lo usa o lo ha usato per avere informazioni sui tools di sviluppo.
Mi piacerebbe sapere se esistono IDE, quanto costano, quanto costa il suo programmatore J-TAG, insomma vorrei farmi un' idea per vedere se prenderli seriamente in considerazione.
Per adesso ho scoperto che la Atollic fornisce un IDE in versione lite e che il programmatore ST-LINK costa pochissimo. Anche la IAR fa un sistema di sviluppo per STM32 ma, come tutti i prodotti IAR, costa come il fuoco. :(

Ringrazio anticipatamente chi mi risponderà.

Re: STM32. Qualcuno lo utilizza?

MessaggioInviato: 16 set 2011, 12:48
da TardoFreak
Vabbè, ho fatto che ordinare l' ST-LINK ed un paio di campioni.

Vediamo un po' come funzionano questi micro.

Re: STM32. Qualcuno lo utilizza?

MessaggioInviato: 16 set 2011, 13:42
da AjKDAP
Ehh, mi sa che sei l'unico "beta tester" :mrgreen:

Ma è per lavoro si?

Comunque se avrai dei bei risultati facci sapere ! :D

Re: STM32. Qualcuno lo utilizza?

MessaggioInviato: 16 set 2011, 14:43
da TardoFreak
Si, è per lavoro.
Sono attraenti perché i piccolini sono economici e comunque si tratta sempre di macchine a 32 bit con tutti i vantaggi del caso.

Re: STM32. Qualcuno lo utilizza?

MessaggioInviato: 16 set 2011, 15:29
da steeveone
Ciao,

premetto che non ho mai usato questi micro, ma l'ho trovato molto interessante e mi sono documentato un po' di fempo fa. Mi risulta che (volendo) come tool di sviluppo potresti usare eclipse, gcc per compilare e openOCD per l'interfaccia jtag.

Stefano

Re: STM32. Qualcuno lo utilizza?

MessaggioInviato: 16 set 2011, 16:05
da TardoFreak
Mi sto guardando per benino il sistema di sviluppo lite della Atollic che è poi basato su eclipse.
Non sembra male, anche se nel creare il progetto ti inserisce un bel po' di codice (e di casino) per le schede di valutazione :roll:

Re: STM32. Qualcuno lo utilizza?

MessaggioInviato: 19 set 2011, 10:16
da TardoFreak
Intervengo per dire una cosa.
Mi ero già avvicinato agli ARM Cortex-M3 della ATmel per una serie di motivi. In generale i Cortex-M3 sono macchine veramente belle, potenti anche se un po' complesse.
A mio avviso vale la pena spenderci energie per conoscerli bene ed utilizzarli al meglio.

Re: STM32. Qualcuno lo utilizza?

MessaggioInviato: 21 set 2011, 12:44
da TardoFreak
Concludo il thread confermando il fatto che sono veramente molto complessi ma non impossibili, di sicuro non sono oggetti per principianti o per chi ha ancora difficoltà a lavorare con micro a 16bit.
Devo dire che il Cortex-M3 è il più complesso micro che mi è capitato fra le mani ma sono veramente contento di utilizzarlo.
La serie "value" della ST vende dei mostricciattoli con 128K di flash che lavorano a 24 MHz al prezzo delle patate. Costano veramente poco (meno di molti micro ad 8 bit come il PIC18F46K22 per esempio) ed hanno a bordo di tutto e di più. La versione value non ha l' USB.
Ho scoperto che la ST ha tirato fuori una scheda di valutazione che costa la metà di arduino.
L' emulatore JTAG ST-LINK costa poco più di una ventina di euro.

Re: STM32. Qualcuno lo utilizza?

MessaggioInviato: 23 set 2011, 18:31
da TardoFreak
Se a qualcuno può interessare ho fatto un test di velocità sintetizzando una SPI che mi carica uno shift register con un dato a 32 bit.
Il sorgente è il seguente:
Codice: Seleziona tutto
//-----------------------------------------------------------------------------------------------
//  SPI_SendSR(unsigned long int dato)
//    Scrittura word per shift register
//    Invia la dword a 32 bit partendo dal bit 31
SPIA_SendWord(unsigned long int dato)
{
  char i;

  i = 32;
  while(i)
  {
    if (dato & 0x80000000) GPIOB->BSRR = 0x8000; else GPIOB->BRR = 0x8000;
    // Alza il clock
    GPIOB->BSRR = 0x2000;
    dato <<= 1;
    i--;
    // Abbassa il clock
    GPIOB->BRR = 0x2000;
  }
}

Per attivare/disattivare i segnali non ho usato le funzioni di libreria ma, come si vede, l' ho fatto direttamente utilizzando i registri della macchina,
Utilizzando un clock a 24MHz (il massimo per i micro della fascia bassa) questa routine dura 20us.