Jump to content


Photo

STM32 - ARM Microcontrollers Cortex M3


  • Please log in to reply
36 replies to this topic

#1 OFFLINE   danzup

danzup

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,016 posts

Posted 05 March 2013 - 01:04 PM

Deschid aici un nou thread dedicat microcontrolerelor de la STMicroelectronics din seria ARM Microcontrollers Cortex M3 .
As vrea sa postam linkuri pentru inceput si daca sunteti pe aici care scrieti programe pentru asta va rog sa faceti aici postarile .
Sau se poate face un subforum dedicat pentru ARM .
Sa devina acest thread ceva ca la threadurile despre PIC si AVR ATmel .
Pentru inceput pun eu niste linkuri care m-au interesat :
http://www.coocox.org/CoOS.htm
http://www.embeddedsignals.com/ARM.htm
------------------------------------------------------------------
Eu mi-am cumparat asta cu 35 de dolari si pentru el vreau sa lucrez :
http://www.aliexpres... ... 12334.html

Cu_reclama

Cu_reclama
  • Membri

#2 OFFLINE   danzup

danzup

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,016 posts

Posted 05 March 2013 - 01:07 PM

Ceva soft cu care vine el :
http://www.micro4you... ... 2.2.28.rar
http://www.micro4you... ... 20V3.2.rar
http://www.micro4you... ... ibrary.rar
Cateva info despre ce are pe placa .
Controler de touch screen : xpt2046 touch screen controller IC = ads7843
Afisaj : 3.2`` TFT LCD color , HY32D
Ucontroler : STM32F103VCT6
Usb serial link : PL2303

#3 OFFLINE   godFather89

godFather89

    Membru

  • Membri
  • PipPip
  • 816 posts
  • Locatie:Timisoara

Posted 05 March 2013 - 01:49 PM

Nu-i rea placa dar nu vad sa aiba conector JTAG. Poate is routati pinii pe header-ele alea mari.
Fara debug e destul de greu la programe complexe.

LE: am citit specificatiile mai atent si are :da

#4 OFFLINE   danzup

danzup

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,016 posts

Posted 05 March 2013 - 05:39 PM

http://www.omnima.co... ... der-board/
ceva info despre cum se programeaza firmware scris in stm32.

#5 OFFLINE   nana

nana

    Membru

  • Membri
  • PipPip
  • 403 posts

Posted 27 March 2013 - 11:26 AM

Buna dan,
Ar fi fost frumos ar fi fost daca ar fi avut si un RAM extern placa pentru acel GUI, mi se par cam putin cei 20K de pe proc(sper ca nu gresesc). Eu pana acum am lucrat foarte mult pe un K60 si un KL25 de la Freescale din care unu este un cortex M4 si celalalt un M0+ am fost foarte multumit, e un salt enorm de la celebrele ATMEGA si PIC !
Pe parte de RTOS am folosit MQX de la freescale pentru ca mi-a fost foarte usor sa integrez ce aveam de folosit si aveam f mult drivere gata facute insa este f f complex si ocupa mult spatiu(30k flash) cu drivere si ram vre-o 16k(insa aici erau multe buffere pentru seriala, stiva usb etc.)

Daca ai nevoie vre-o data am un Jtag Jlink original pentru programare si debug !

#6 OFFLINE   danzup

danzup

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,016 posts

Posted 28 March 2013 - 09:04 PM

Buna dan,
Ar fi fost frumos ar fi fost daca ar fi avut si un RAM extern placa pentru acel GUI, mi se par cam putin cei 20K de pe proc(sper ca nu gresesc). Eu pana acum am lucrat foarte mult pe un K60 si un KL25 de la Freescale din care unu este un cortex M4 si celalalt un M0+ am fost foarte multumit, e un salt enorm de la celebrele ATMEGA si PIC !
Pe parte de RTOS am folosit MQX de la freescale pentru ca mi-a fost foarte usor sa integrez ce aveam de folosit si aveam f mult drivere gata facute insa este f f complex si ocupa mult spatiu(30k flash) cu drivere si ram vre-o 16k(insa aici erau multe buffere pentru seriala, stiva usb etc.)

Daca ai nevoie vre-o data am un Jtag Jlink original pentru programare si debug !

Mersiii !!!!
Super oferta dar mi-am luat asta :
http://www.hotmcu.co... ... cPath=3_25

#7 OFFLINE   one

one

    Membru evoluat

  • Membri
  • PipPipPipPipPip
  • 2,986 posts
  • Locatie:Trento, Italia

Posted 18 July 2013 - 02:35 PM

Eu am cumparat ST-Link dar nu imi convine sa folosesc solutii gen IAR care costa o gramada, ST nu are un IDE propriu.

Am intentia de a programa cu compilatorul de la Mikroelektronica, care costa putin, deocamdata sunt in faze de test. Compilatorul de la Mikro pentru AVR l-am criticat destul de dur la inceput, dar acum am o oarecare obisnuinta cu acesta si am reusit sa trec de anumite probleme (lipsa librariilor sau librarii cu bug-uri). Sper ca si cu ARM sa reusesc sa trec de probleme (in principiu accesand direct registrii de control).
Stiu ca exista si ARM-GCC dar din lene probabil voi continua cu Mikro.

#8 OFFLINE   crispus

crispus

    Membru

  • Membri
  • PipPip
  • 354 posts
  • Locatie:Bucuresti

Posted 18 July 2013 - 03:25 PM

Momentan am placa de la ST, STM32F0Discovery, e un cortex M0... cu ST-Link inclus.

Folosesc eclipse, gcc si open ocd si merge perfect. Toate tool-urile open source.

Aici e un punct de plecare: http://hertaville.co...iscovery-board/
Eu am reusit sa fac un proiect Eclipse fara sa ma mai folosesc de makefile, si in felul asta nu trebuie sa rescrii fisierul makefile de fiecare data cand adaugi / stergi fisiere din proiect.

Pentru M3 cred ca modificarile ar fi modelul procesorului si de modificat scriptul de linker.

Daca e nevoie, as putea da mai multe detalii...

#9 OFFLINE   bogdan_bv

bogdan_bv

    Nou venit

  • Membri
  • Pip
  • 1 posts

Posted 07 February 2014 - 11:59 AM

salutare,
eu folosesc Keil uVision4, cu jlink ca programator, merge perfect, cand am primit placa de la chinez am primit si 2 cd-uri cu toate tool-urile ...complete :d
Am pus uCos II cu tot ce se poate ca si grafica, senzor de temperatura SHT11, RTC, CAN-bus, merge perfect.
Nu cred ca ai nevoie mai mult RAM sau altceva, pacat insa ca touch-ul este rezistiv.
Am folosit si STM32F103VCT6 si STM32F103ZET6

#10 OFFLINE   Liviu M

Liviu M

    -

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

Posted 13 February 2014 - 09:49 PM

Cu ceva timp in urma, profitand de preturile interesante, mi-am cumparat o "placa de dezvoltare" bazata pe CortexM4 - stm32f4Discovery.
Ieri am dat (intr-un blog) peste un articol despre un firmware care transforma placa asta intr-un analizor logic cu pana la 16 canale si pana la 20 MHz.
Cum tocmai ma straduiam sa pornesc o comunicatie SPI (intre un ald discovery cu Cortex M0 si un display Nokia3310), am zis ca nu ma costa (mai) nimic sa incerc analizorul mentionat.
Rezultatul - am reusit sa ma prind ce nu era OK si sa pornesc comunicatia. Mi-a placut atat de mult incat am decis ca e cazul sa-i fac reclama.
Daca e cineva interesat, pentru ca documentatia e cam sumara, fac un rezumat:
- in linkul de mai sus sunt firmware-ul si sursele.
- in josul paginii din link e un alt link la blogul "producatorului". Blogul e in rusa, dar pozele sunt sugestive.
- analizorul logic se conecteaza la PC prin USB emuland un port serial. Cel mai greu a fost sa gasesc driverele cdc la ST pe site. Din pacate n-am salvat linkul, da' am arhiva. Daca e cineva interesat, o pot da mai departe.
- softul folosit e OLS, o aplicatie Java care, dupa instalarea java, ruleaza in windows & linux. Am testat-o in ambele si merge (teoretic merge si pe mac, da' n-am sa testez).
- setarea softului - in imagini la rus pe blog.

Sper ca informatiile sunt utile si altora.

#11 OFFLINE   danzup

danzup

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,016 posts

Posted 17 February 2014 - 11:22 AM

http://hackaday.com/... ... k-routers/
super : usb video card cu placa care am cumparat-o si eu .

#12 OFFLINE   Liviu M

Liviu M

    -

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

Posted 18 February 2014 - 03:04 PM

La hitex pe site am gasit o carte care mie mi se pare bine scrisa (dar cum n-am ajuns inca la jumatate, mai am timp sa ma razgandesc).
O recomand si pentru ca inainte de a ajunge la controllerele STM32 (F1 - seria bazata de M3) face o prezentare a arhitecturii CortexM3.

Lectura placuta!

PS Pe site-ul mentionat sunt carti de-astea si pentru alte arhitecturi/alti producatori.

#13 OFFLINE   deejay2k1

deejay2k1

    Nou venit

  • Membri
  • Pip
  • 88 posts

Posted 19 February 2014 - 07:43 AM

http://www.coocox.org/index.html

CooCox suporta cu mici eforturi si STM Discovery

#14 OFFLINE   Liviu M

Liviu M

    -

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

Posted 19 February 2014 - 10:39 AM

De ce cu eforturi? Din ce am citit eu pe la ei pe site (si testat putin), le suporta pur si simplu.
Da' coocox nu merge sub linux, de exemplu, si mai si "ascunde" detalii. Dar daca nu te intereseaza decat windows si sa mearga, pare o solutie buna.
Eu inca mai caut inca "mediul de dezvoltare ideal" :rade:; momentan m-am oprit la eclipse + arm-plugin + gcc-arm.
Combinate cu openocd (teoretic merge si cu texane/st-link, da' m-am oprit la openocd), pot scrie programe, (teoretic) debuga si programa controllerele cu acelesi unelte atat in linux cat si in windows.
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.

PS Multumiri lui crispus pentru linkul la hertaville.com. Desi ma indepartez de solutiile propuse acolo (makefiles scrise de mana), a fost un bun punct de plecare.

Cu_reclama

Cu_reclama
  • Membri

#15 OFFLINE   crispus

crispus

    Membru

  • Membri
  • PipPip
  • 354 posts
  • Locatie:Bucuresti

Posted 19 February 2014 - 12:36 PM

Eu folosesc eclipse cdt chior, gcc de pe pagina aia si pentru debug open-ocd cu stlink.

Plecand de la makefile-ul ala, mi-am configurat in eclipse diverse build configuration astfel incat sa se potriveasca cu ce am eu nevoie. Am reusit sa folosesc si C++ (ma rog, "better C") deocamdata doar clase si template-uri fara stl & stuff.

Ca idee, la compilatorul de c++ ii dau asa:
g++ -I"<folderele de include>" -O0 -g3 -Wall -fno-rtti -fno-exceptions -mcpu=cortex-m0 -c -fmessage-length=0 -gdwarf-2 -mthumb -fomit-frame-pointer -Wall  -fverbose-asm

[*:1snpr9uz] asta e pentru debug: nici o optimizare (O0), sa includa toate informatiile de debug (g3)
[*:1snpr9uz] -fno-rtti - runtime type information --> n-o sa pot folosi dynamic_cast, etc
[*:1snpr9uz] -fno-exceptions - nu folosesc exceptii
[*:1snpr9uz] specific procesorul (am impresia ca mcpu e deprecated, se poate folosi mtune), thumb, etc...
Link-area o fac cu gcc fiindca nu vreau sa-mi linkeze si libstdc++.
gcc -mcpu=cortex-m0 -mthumb -nostartfiles -T<linker_map_file> -Wl,-Map=${ProjName}.map,--cref,--no-warn-mismatch
O sa mai iti trebuiasca sa-ti pui undeva in proiect si astea:
#include <stddef.h>

extern "C" void* emulate_cc_new(unsigned len)
{
    return (void*)0;
}

extern "C" void emulate_cc_delete(void* p)
{
}

void* operator new  (unsigned len) __attribute__((alias("emulate_cc_new")));
void* operator new[](unsigned len) __attribute__((alias("emulate_cc_new")));
void  operator delete  (void* p)   __attribute__((alias("emulate_cc_delete")));
void  operator delete[](void* p)   __attribute__((alias("emulate_cc_delete")));
void* __cxa_pure_virtual = 0;
Asa cum e scris mai sus, n-o sa poti aloca/dealoca memorie.
__cxa_pure_virtual e un handler global care e apelat atunci cand se apeleaza o functie pur virtuala (pentru un cod scris bine nu se ajunge niciodata in situatia asta).
Mai multe informatii se pot gasi aici: http://ptspts.blogsp... ... bstdc.html

Pentru compilare fisiere .c am asa:
gcc -DSTM32F0XX=1 -DRUN_FROM_FLASH=1 -DUSE_STDPERIPH_DRIVER=1 -I"<include folders>" -O0 -g3 -mcpu=cortex-m0 -c -fmessage-length=0 -gdwarf-2 -mthumb -std=gnu99 -fomit-frame-pointer -Wall -Wstrict-prototypes -fverbose-asm
iar pentru assembler:
gcc -x assembler-with-cpp -c -mcpu=cortex-m0 -g -gdwarf-2 -mthumb  -Wa,-amhls=$(<:.s=.lst)





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users