Jump to content


Photo

STM32 - ARM Microcontrollers Cortex M3


  • Please log in to reply
36 replies to this topic

#16 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 19 February 2014 - 01:29 PM

Salut Crispus,
Aveam senzatia ca daca folosesti Eclipse cu makefile si configurezi proiectul in makefile, eclipse n-o sa stie de headere si o sa-ti tot arate erori.
Asa, cu pluginul arm (sau configurand de mana totul), eclipse reuseste sa arate numai erorile "adevarate". Ca pana la urma de-aia folosesc eclipse, ca altfel un editor de text si makefile-urile fac toata treaba (de altfel la hertaville.com e un tutorial cu debug din consola).

Cu_reclama

Cu_reclama
  • Membri

#17 OFFLINE   danzup

danzup

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,016 posts

Posted 19 February 2014 - 07:22 PM

Ma bucur ca postati aici tot felul de chestii super interesanta .
Si pe mine m-a prins acum febra cu nucleele COrtex .
http://jeremyherbert...getting_started

Eu folosesc altceva : am gasit un ISO cu o imagine de linux gata configurata special ca IDE pentru STM32 si am pus imaginea aia in masina virtuala si merge perfect pentru scriere/dezvoltare programare soft/proiecte pentru STM32.
Am sa revin cu linkul de unde am downloadat daca il mai gasesc....

#18 OFFLINE   crispus

crispus

    Membru

  • Membri
  • PipPip
  • 354 posts
  • Locatie:Bucuresti

Posted 19 February 2014 - 07:41 PM

Pe mine ma enerva sa folosesc makefile fiindca de fiecare data cand adaugam/stergeam un fisier sursa trebuia sa actualizez si makefile-ul.

Faza cu iso ar fi interesanta, dar as prefera ceva nativ ca nu intotdeauna poti face forward la device-uri.

#19 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 19 February 2014 - 09:01 PM

Pentru ca am reusit sa configurez eclipse sa functioneze si cu ceva atmeluri (avr-plugin), si pentru ca la hertaville.com erau si niste tutoriale pentru cross-compiling pentru pe bazat pe eclipse, si pentru ca pentru o alta placa ARM de la infineon *) mediul e dezvoltare e bazat tot pe eclipse, am decis sa incerc sa rezolv totul in ide-ul asta. Si desi mi se pare am incarcat, am inceput sa ma obisnuiesc cu el, asa ca insist.
Cum ziceam, pentru STM32 pana acum cel mai usor mi s-a parut cu plugin-ul arm mentionat anterior. Are "template-uri" pentru toate familiile STM32.La alegerea unui astfel de template genereaza o structura de directoare locale si include dependentele gcc-arm.
Inlocuiesc fisierele locale (in general main) cu fisierele mele, editez eventualele cai pentru headerele mele si... cam asta e .
Cum cele mai mari probleme le-am avut de fapt cu scripturile pentru linker si cu fisierele de start, m-am bucurat sa vad ca template-urile astea au totul inclus si nu mai trebuie sa-mi bat capul.
Acum ramane sa gasesc aplicatii pentru ele, :rade: ca am un STM32F0Discovery si un STM32F4Discovery care cam stau. Ma rog, pentru ultimul am analizorul logic mentionat intr-un post anterior, da' nu-i facut de mine.

*) E vorba de o XMC4500 Relax Lite (la 10 euro n-am putut rezista, :rade: numai programatorul/debuggerul segger inclus face mai mult ) pentru care infineon are un mediu de dezvoltare "vizual" - DAVE3, da' inca nu m-am prins daca DAVE asta ajuta sau mai rau incurca.

#20 OFFLINE   ilg-ul

ilg-ul

    Nou venit

  • Membri
  • Pip
  • 1 posts

Posted 21 February 2014 - 01:21 AM

Eu inca mai caut inca "mediul de dezvoltare ideal" momentan m-am oprit la eclipse + arm-plugin + gcc-arm.
...
Problema in momentul asta mi-e ca inca n-am reusit (sau am reusit dar pare super complicat) ca in eclipse sa pornesc un proiect de la 0 fara sa folosesc arm-pluginul. Tot timpul "agata" cate ceva.

Pentru cei interesați, există o nouă versiune de GNU ARM Eclipse plug-ins, care, pe lângă o nouă versiune de plug-in de managed build, aduce și suport pentru debugging cu J-Link și OpenOCD, plus câteva project templates.

Pagina de web este aceeași: http://gnuarmeclipse.livius.net/blog/.

#21 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 04 May 2014 - 12:36 PM

Salut ilg,

 

cum am putut rata postul tau?  :qetrwe  Noroc cu rearanjarea forumului. 

N-am nimic constructiv de zis, voiam doar sa-ti multumesc pentru plugin.  :aplauze

(un alt) Liviu 



#22 OFFLINE   moro

moro

    Membru avansat

  • Membri
  • PipPipPipPip
  • 1,027 posts

Posted 04 May 2014 - 08:03 PM

Si pe mine m-a prins febra ARM-urilor, rau de tot... Am zis ca daca tot stiu c+ si cu ceva experienta pic-uri 8biti, sa ma arunc  in "gura lupilor" pe un cortex m4 de 32biti :))

 

Eu folosesc un discovery board cu un STM32F407VG, ca ide folosesc IAR ... ce-i drept imi este putin greu fiind la inceput cu ditamai softul, comparativ cu mikroC...

 

 

Aici este un mic tutorial despre constructia unui proiect de la zero folosind IAR http://dccharacter.b...or-stm32f3.html


Edited by moro, 04 May 2014 - 08:04 PM.


#23 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 04 May 2014 - 09:00 PM

Eu n-am facut mai nimic cu ele, doar ceva teste cu comunicatii seriale (cu un stm32F0Discovery). 

In spi am reusit sa scriu pe un ecran de Nokia 3310 - am "portat" o biblioteca de Raspberry (si am inlocuit bit-bangingul cu un port SPI hardware), iar cu i2c am reusit sa "vorbesc" cu un accelerometru (BMA140).


Edited by Liviu M, 04 May 2014 - 09:01 PM.


#24 OFFLINE   moro

moro

    Membru avansat

  • Membri
  • PipPipPipPip
  • 1,027 posts

Posted 04 May 2014 - 11:11 PM

Eu inca is inca stadiul de blinking led, incerc sa ma obisnuiesc cu librariile GPIO,  daca la pic-uri aveam doar 2 registrii (TRISx si PORTx) aici am 4. Ce imi place la ele ca iti poti mapa i2c`ul de exemplu pe care port vrea muschiul tau.

 

Pana atunci incerc sa ma prind care-i faza cu porturile, apoi trecem la i2c s.a.m.d :hiding:



#25 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 04 May 2014 - 11:35 PM

Daca la PIC-uri mi-am facut toate functiile de unul singur, aici am adaptat diverse bucati de cod luate din exemplele de la st sau de oe Internet.

Asta poate si din cauza ca am muncit destul de mult sa incropesc un mediu de dezvoltare *) care sa ma satisfaca, asa ca am vrut sa am cat mai repede rezultate.

Acum, ca stiu despre ce e vorba si functioneaza, nu mi se mai pare complicat, dar pana m-am prin de ce am nevoie, am gasit si pus la cap toate elementele...



#26 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 01 June 2014 - 01:07 PM

Nu e despre M3 ci despre M0 (mai precis o placa de dezvoltare STM32F0Discovery), da' nu merita sa deschid un topic nou, asa ca...

Pentru ca Arduino n-am dar am un Discovery de-asta pomenit mai sus (si Discovery e mai rapid, Discovery are mai multa memorie, Discovery are mai multi pin si pot extinde aplicatia...), zilele astea m-am jucat cu portatul unei aplicatii de Arduino (ATMega328p) *) in aplicatie pentru STM32F0. 

Inca nu sunt gata (lipseste partea cea mai importanta :rade:), dar pentru ca am ajuns sa pot compila codul (aproape) complet am decis sa scriu postul asta pentru ca... codul pentru STM e cam dublu fata de codul pentru ATMega  :nebunrau: .

Ce-i drept codul pentru ATMega e optimizat la sange (asa se lauda cel care l-a scris  :rade: ) si eu am folosit numai functii "de biblioteca" (de care lumea zica ca-s orice numai optimizate nu), da' diferenta m-a frapat. 

Asa ca memoria multa a STM-ului nu mai intra la plusuri fata de ATMega, ci la necesitate.

Tot la minusuri intra si faptul ca STM-ul n-are eeprom. Se poate emula in flash, e drept, exista biblioteci/functii, da' e mai complicat si consuma din flash dublul eepromului de emulat. Minusul asta a fost contracarat in cazul meu cu un eeprom extern i2c, dar costa extra (cod, loc de montat, eepromul ca atare).

Ca plus "sigur" ramane numarul mai mare de pini - am avut pini liberi sa conectez eepromul i2c mentionat mai sus si un display spi (nokia 3310). Display care m-a ajutat mult la debug, in conditiile in care programul foloseste intreruperi si in debugger nu reusesc mare lucru (problema e probabil la mine, inca nu ma descurc prea  bine cu debuggerul, desi el ar merge). 

Ramane sa vedem daca frecventa de lucru de 3 ori mai mare va ajuta la ceva sau nu.

 

Asa ca per total, tinand cont de raportul pret/caracteristici, pentru mine Discovery ramane mai atractiva decat Arduino, dar distanta intre ele nu mai e la fel de mare cum pare citind doar specificatiile.

 

*) grbl, in caz ca intereseaza pe cineva.


Edited by Liviu M, 01 June 2014 - 01:18 PM.


#27 OFFLINE   godFather89

godFather89

    Membru

  • Membri
  • PipPip
  • 816 posts
  • Locatie:Timisoara

Posted 02 June 2014 - 01:04 PM

Stiu e ca topic STM dar recomand cu multa caldura Kinetis de la Freescale (cu tot cu placutele lor de dezvoltare FRDM-KL25Z + multe altele). Au si un IDE gratuit facut peste Eclipse + GCC ce vine cu Processor Expert (tool de generare automata de cod C pentru drivere).



#28 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 02 June 2014 - 05:02 PM

Multumesc de sfat, numai ca... eu placile cu stm32 le am si nu-mi vine sa le arunc.  

Mediul de dezvoltare pe care l-am incropit (tot eclipse, tot gcc si tot gratis) merge si el binisor, asa ca pana-mi termin stm-urile...

Ca asa mai am si un xmc4500 (xmc4500 explorer lite) de la Infineon (tot o placa ieftina, luata mai mult pentru debugerul segger incorporat), care Infineon ofera si ei un mediu grafic de configurare/programare (Dave) gratis, da' n-am reusit deloc sa ma impac cu el.

Oricum, cand o sa am ocazia o sa vad ce si cum si cu Kinetisii, multumesc inca o data.



#29 OFFLINE   godFather89

godFather89

    Membru

  • Membri
  • PipPip
  • 816 posts
  • Locatie:Timisoara

Posted 03 June 2014 - 06:56 AM

Da, te inteleg. Si eu am o placa cu STM32 pe care am bagat-o intr-un proiect pana la urma (era facuta pentru .NET micro framework). Mi-am batut ceva capul (cu Keil uVision) dar si ei au drivere scrise pentru toate perifericele in ceva software pack.

 

De cand cu atatea optiuni e tot mai complicat. La alea pe 8 biti aveai @3 registrii la un periferic si o documentatie decenta. Acum daca vrei sa configurezi un port IO (fara un code generator - dar nici aici tot timpul) la un ARM de asta mai micut, trebuie sa citesti multe pagini de documentatie la diferite module. Sa nu mai zic de generarea de clock si clock-urile diferite pentru fiecare periferic, etc...

 

Si la fiecare producator difera toatea astea.



Cu_reclama

Cu_reclama
  • Membri

#30 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 21 June 2014 - 01:35 PM

zilele astea m-am jucat cu portatul unei aplicatii de Arduino (ATMega328p)

Astazi am reusit pentru prima data sa invart (controlat :rade:) motorul.
Homing-ul functioneaza de ceva timp, dar fiind realizat "brut" (pin high, delay, pin low, delay...) nu se pune.
Inca nu e gata, da' arata bine.  :da






2 user(s) are reading this topic

0 members, 2 guests, 0 anonymous users