Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

stm32 in ambiente mikroC PRO per ARM

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] stm32 in ambiente mikroC PRO per ARM

Messaggioda Foto Utentemibe » 23 mar 2023, 13:38

Buongiorno a tutti,
vi scrivo per questo problema che mi sta tenendo bloccato già da qualche giorno.
Premetto che fino ad ora ho programmato solo microcontrollori PIC a 8 bit con sistema di sviluppo miKroC Pro ,versione free con limite a 2k di programma, ma per fare cose semplici e veloci io mi sono sempre trovato bene e devo dire che mi sono preso anche delle belle soddisfazioni. Ora sto cercando di imparare a lavorare anche con gli stm32, ho acquistato questa schedina "STM32F3 Discovery", che ha anche incluso il programmatore/debugger USB ST-LINK/V2, con la quale vorrei sviluppare in ambiente miKroC Pro. Ho installato il software e provato a compilare il solito primo programma di test per far lampeggiare dei led: la compilazione viene fatta correttamente senza errori, ma quando carico il programma sulla schedina non si vede assolutamente nulla. Il software di caricamento (miKroProg 1.61) sembra funzioni correttamente perché mi rivela correttamente il micro, non mi da nessun errore ed inoltre durante il caricamento vedo il led di caricamento della scheda che lampeggia. Però se non funziona sicuramente c'è qualcosa che sbaglio.
Il testo del programma che provo è questo:


Codice: Seleziona tutto
void main() {
GPIO_Digital_Output(&GPIOA_BASE, _GPIO_PINMASK_ALL); // Set PORTA as digital output
GPIO_Digital_Output(&GPIOB_BASE, _GPIO_PINMASK_ALL); // Set PORTB as digital output
GPIO_Digital_Output(&GPIOC_BASE, _GPIO_PINMASK_ALL); // Set PORTC as digital output
GPIO_Digital_Output(&GPIOD_BASE, _GPIO_PINMASK_ALL); // Set PORTD as digital output
GPIO_Digital_Output(&GPIOE_BASE, _GPIO_PINMASK_ALL); // Set PORTE as digital output

GPIOA_ODR = 0;
GPIOB_ODR = 0;
GPIOC_ODR = 0;
GPIOD_ODR = 0;
GPIOE_ODR = 0;

while(1) {
GPIOA_ODR = ~GPIOA_ODR; // Toggle PORTA
GPIOB_ODR = ~GPIOB_ODR; // Toggle PORTB
GPIOC_ODR = ~GPIOC_ODR; // Toggle PORTC
GPIOD_ODR = ~GPIOD_ODR; // Toggle PORTD
GPIOE_ODR = ~GPIOE_ODR; // Toggle PORTE
Delay_ms(1000);
}
}


C'è qualcuno di voi che ha esperienza con gli stm32 in questo ambiente che mi può aiutare ?
Giusto per informazione, ho provato a fare il medesimo procedimento anche con Atollic true studio e devo dire che ha funzionato al primo colpo, ma se riesco a utilizzare miKroC Pro sarei più contento perché lo conosco discretamente bene e di conseguenza per me sarebbe più semplice.

Grazie in anticipo per chi mi potrà aiutare.

Mibe
Ultima modifica di Foto UtenteWALTERmwp il 24 mar 2023, 0:56, modificato 1 volta in totale.
Motivazione: Codice inserito nel Tag appropriato
Avatar utente
Foto Utentemibe
30 3
 
Messaggi: 37
Iscritto il: 6 nov 2013, 13:54

0
voti

[2] Re: stm32 in ambiente mikroC PRO per ARM

Messaggioda Foto Utentepusillus » 23 mar 2023, 15:13

Premetto che non conosco MikroC. L'ho solamente provato una volta e sebbene sia molto valido ho preferito utilizzare Keil e STM32CubeIDE. Il primo è a pagamento ed è anche parecchio costoso ma è il tool di ARM e puoi programmarci tutti i microcontrollori basati su ARM il compilatore è quello di ARM quindi il top!
STM32CubeIDE è gratuito, basato su Eclipse che a me non va molto a genio, ma a caval donato... Questo usa il compilatore GNU.
Lo svantaggio a cui ti sottoponi volendo utilizzare Mikroe è che se hai un problema puoi confrontarti con poche persone rispetto agli utilizzatori degli altri due, soprattutto per il fatto che Mikroe usa delle sue librerie propietarie mentre gli altri usano le librerie di STM per le quali c'è un continuo aggiornamento dei bug e trovare aiuto è molto più semplice.
Anche per Keil c'è la versione free, non ricordo se 2 o 4k. Con gli ARM ti andranno un po' stretti perché ti offrono possibilità ben oltre quelle dei PIC a 8 bit.
Avatar utente
Foto Utentepusillus
3.107 2 6 11
Expert EY
Expert EY
 
Messaggi: 988
Iscritto il: 5 mar 2016, 15:19
Località: Latina

0
voti

[3] Re: stm32 in ambiente mikroC PRO per ARM

Messaggioda Foto Utentespeedyant » 23 mar 2023, 15:43

Premesso che non conosco MikroC, volevo solo segnalare che per uso hobbistico è dopo stata rilasciata una versione "community" di Keil senza limitazioni.
Son quello delle domande strane!
Avatar utente
Foto Utentespeedyant
5.003 3 6 8
Master
Master
 
Messaggi: 3789
Iscritto il: 9 lug 2013, 18:29
Località: Torino

0
voti

[4] Re: stm32 in ambiente mikroC PRO per ARM

Messaggioda Foto Utentemibe » 23 mar 2023, 19:42

Ho provato anche STM32CubeIDE e direi che mi funziona, compreso anche il debugger hardware, ma l'ho trovato molto lento, anche se non conoscendolo può essere normale che sia così.
Invece ancora non sono riuscito a far funzionare il mikroCPro e neanche il keil in versione free o community.
Su quest'ultimo ho il problema che non riesco a registrare la licenza perché non ho ben capito la procedura da fare e dove devo recuperare il codice per la registrazione. In ogni caso per il momento non è un problema perché adesso devo dedicare un po' di tempo per costruirmi un circuito di connessione che mi permetta di portare su morsettiera tutti i pin del micro che mi interessano in modo da rendere le varie connessioni più agevoli e poi posso iniziare subito a fare qualcosa utilizzando STM32CubeIDE e nel frattempo aspetto eventuali risposte sul mikroCpro.
Per pusillus, sono perfettamente d'accordo con te che utilizzando ambienti come Keil e STM32CubeIDE ho più possibilità in generale di essere aiutato in ogni caso volevo fare un po' di test con i vari ambienti e poi scegliere quello con cui mi trovo meglio.
Dovrò dedicarci un sacco di tempo, ma spero poi di riuscire ad avere anche dei risultati . . speriamo.

Grazie mille per le info . . eventualmente vi disturberò ancora se mi incastro ancora in qualche problema.

MIBE
Avatar utente
Foto Utentemibe
30 3
 
Messaggi: 37
Iscritto il: 6 nov 2013, 13:54

0
voti

[5] Re: stm32 in ambiente mikroC PRO per ARM

Messaggioda Foto UtenteWALTERmwp » 23 mar 2023, 19:52

@mibe, suggerirei una prova per la combinazione mikroC PRO-"STM32F3 Discovery": magari lo avevi già verificato ma testerei il codice che hai riportato, senza la funzione Delay_ms(1000).
Per quel che fa, la si potrebbe sostituire con l'esecuzione di un ciclo for, magari ripetuto più volte.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
29,5k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8742
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[6] Re: stm32 in ambiente mikroC PRO per ARM

Messaggioda Foto Utentespeedyant » 24 mar 2023, 0:08

Il fatto che non funzioni keil free mi lascia perplesso.
Son quello delle domande strane!
Avatar utente
Foto Utentespeedyant
5.003 3 6 8
Master
Master
 
Messaggi: 3789
Iscritto il: 9 lug 2013, 18:29
Località: Torino

0
voti

[7] Re: stm32 in ambiente mikroC PRO per ARM

Messaggioda Foto UtenteWALTERmwp » 24 mar 2023, 0:49

Mi pare ci siano sostanziali differenze tra gli ambienti menzionati, capire cosa in uno di questi compromette il buon esito non è immediato, per più ragioni.
STM32CubeIDE presumo consenta la configurazione del microcontrollore in modo simile a STM32CubeMX, quindi è più difficile che sfugga qualche cosa nell'impostazione.
Se in uno degli altri che non ha le caratteristiche di STM32CubeIDE, cioè Atollic, il codice funziona, allora è probabile che per quel microcontrollore(STM32) ci sia un malfunzionamento o una incompatibilità a livello di libreria, come già ventilato, con mikroC PRO.
Presupposto che il codice sia proprio lo stesso.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
29,5k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8742
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 10 ospiti