Kysymys:
ARM Cortex-M3 -kehitystyökalut?
mba7
2009-12-11 23:19:49 UTC
view on stackexchange narkive permalink

Aion siirtyä NXP Cortex M3 -arkkitehtuuriin ja olen hieman eksynyt olemassa olevien kehitystyökalujen välillä.

Keil on kallista, enkä tiedä, onko sen arvoista. on kokeillut kääntäjää, joka voi antaa neuvoja?

Löysin tämän kääntäjän http://www.code-red-tech.com/red-suite-2.php hyvä ja ei kallis. Jokainen, joka kokeili sitä tai tietää siitä, voi antaa minulle lisätietoja?

Se on kääntäjä, joka toimitetaan LPCXpresso-levyjen mukana, ja käyttää gcc: tä Eclipse IDE: n kanssa. Rowley CrossWorks -työkalut ovat paljon parempia.
Millä tavalla he ovat parempia? Kysyn, koska minulla on LPCXpresso-kortti ja työkalut näyttävät toimivan hyvin, joten mietin, kuinka muut työkalut ovat parempia?
Emmekö voi tehdä tästä CW: tä?
Suurin osa mahdollisuuksista tulisi harkita uudelleen vuonna 2012, koska Microsoft Visual Studio 2012 tukee ARM: ää ensimmäisen luokan kohteena.
Pienissä projekteissa Keil-kääntäjän kokeiluversio on ilmainen.
Kolmetoista vastused:
#1
+17
Andrew
2009-12-14 05:05:53 UTC
view on stackexchange narkive permalink

Olen viime aikoina pelannut STM32: lla (myös Cortex M3) vapaa-ajallaan ja käyttänyt GCC: n CodeSourcery-jakelua, joka on onnistunut melko hyvin.

ARM-mikroilla työskennellyt kollegani. Aiemmin ammattimaisesti kertoi olevansa tyytyväinen IAR-työkaluketjuun, vaikka en tiedä miltä kustannukset ovat tai kuinka Cortex-tuki on.

IAR on kääntäjiin erikoistunut yritys, sikäli kuin voin kertoa. Käytän niitä työssä ja heillä on joitain etuja ja muutamia haittoja. Minusta heidän tukensa on kuitenkin melko erinomainen, käytämme MSP430: ta, mutta ne näyttävät kattavan kaikki prosessorit, joita etsin.
#2
+16
Toby Jaffey
2010-07-02 05:06:32 UTC
view on stackexchange narkive permalink

Käytän CodeSourcery (Lite) -kääntäjiä Linuxille TI Stellaris -mikrokontrollerien ohjelmointiin. He työskentelevät minkä tahansa Cortex-M3: n kanssa. Ne ovat täysin ilmaisia, ja niissä on binäärejä Windowsille ja Linuxille.

Tässä on lyhyt asennettava resepti (Debian / Ubuntu):

Lataa työkaluketju ( mikä tahansa versio toimii, mutta käytän tätä)

Asenna Java Runtime Environment (kirottu asennusohjelmalle)

  sudo apt-get install sun-java6-jre ia32- libs  

Asenna

  chmod 755 arm-2009q3-68-arm-none-eabi.bin./arm-2009q3-68-arm-none- eabi.bin -i -konsoli  

Lisää ristikääntäjän bin-hakemisto polkuusi

  echo 'export PATH = $ PATH: ~ / CodeSourcery / Sourcery_G ++ _Lite / bin / '>> ~ / .bashrc. ~ / .bashrc 

Koodin lataamiseen ja virheenkorjaukseen tarvitaan OpenOCD ja joko gdb tai jokin käyttöliittymistä.

Sinä Tarvitsen myös JTAG-sovittimen.

Käytän myös CodeSourcery-työkaluja yhdessä luokassa, Stellaris LM-3s6965 dev -sarjan kanssa. Wikimme (linkki työkaluketjuun) on täällä: http://claymore.engineer.gvsu.edu/egr326/LM3S6965#Toolchain:_Windows_and_Linux (Katso myös alla olevat MacOS X: n asennusohjeet.) Pakki sisältää rajoitetun esittelyn GUI-työkaluistaan, mutta komentorivityökaluja ei ole rajoitettu.
#3
+9
ttt
2010-03-14 05:19:23 UTC
view on stackexchange narkive permalink

Olen alkanut käyttää yhtä näistä (MBED-kehittäjätaulu). Suurimmat myyntivaltit olivat minulle, että pystyin koodaamaan C- tai C ++ -muodossa, suoraviivainen yhteys USB: n kautta ja sujuva online-kehitysympäristö (paikallisia työkaluja ei vaadita lainkaan!).

http : //mbed.org/

Viiden minuutin avauslaatikko Minulla oli näyte räpyttävästä ohjelmasta (sulautetun maailman "hello world"), joka suoritti seuraavan:

  #include "mbed.h" DigitalOut myled (LED1); int main () {while (1) {myled = 1; odota (0,2); myled = 0; odota (0,2); }}  

Siinä kaikki! Yllä on täydellinen ohjelma!

Se perustuu ARM Cortex M3: een, nopeaan ja runsaaseen muistiin upotetuille projekteille (100 MHz, 256 kt flash & 32 k RAM). Verkkokehitystyökaluilla on erittäin hyvä kirjasto ja runsaasti esimerkkejä, ja siellä on erittäin aktiivinen foorumi. Paljon apua laitteiden liittämiseen MBED: ään jne.

Vaikka minulla on paljon kokemusta sulautetuista järjestelmistä (ARM 7/9, Renases M8 / 16/32, Coldfire, Zilog, PIC jne.), Löysin tämänkin virkistävän helppo järjestelmä, johon pääsee käsiksi samalla kun hänellä on vakavat valmiudet.

Pelattuani alun perin perusleipälaudalla, ostin pohjalevyn näiltä kavereilta: http: //www.embeddedartists. fi / tuotteet / lpcxpresso / xpr_base.php? PHPSESSID = lj20urpsh9isa0c8ddcfmmn207. Tässä on kasa I / O-laitteita (mukaan lukien minity OLED ja 3axis-kiihtyvyysanturi). Samalta sivustolta ostin myös yhden LCPExpresso-prosessorilevyistä, jotka ovat halpoja, vähemmän virtaa / muistia kuin MBED, mutta sopivat täydellisesti pienempiin töihin (silti piilottaa PIC / Atmega-prosessoreiden paska). Pohjalevy tukee sekä LCPExpressoa että MBED: ää. LCPExpress-prosessorikortin ostaminen sai minut myös liitteenä olevaan JTAG-virheenkorjaukseen ja offline-dev-ympäristöön (Code Redin GCC / Eclipse-pohjainen kehityspaketti). Tämä on paljon monimutkaisempi kuin online-MBED dev -ympäristö, mutta on looginen edistysaskel sen jälkeen, kun olet saanut kokemusta MBED: stä.

Alkuperäisen huomautukseni mukaan MBED-ohjain on paljon kykenevämpi kuin LPCExpresso-ohjain, MUTTA on paljon yksinkertaisempi käyttää ja oppia.

Mukana on myös Adam Greenin erinomainen gcc4mbed-projekti, jonka avulla voit kääntää offline-tilassa (suuremman koodikoon kustannuksella): https://github.com/adamgreen/gcc4mbed
#4
+9
old_timer
2010-07-20 05:32:17 UTC
view on stackexchange narkive permalink

code sourcery lite on hyvä, tai käytä emdebiania. tai rullata omaa, se on melko helppoa, ellet tarvitse täyttä C- tai gcc-kirjastoa, se on silti toteutettavissa, mutta hieman vaikeampi. aluksi et tarvitse thumb2-yhteensopivaa kääntäjää, peukalo tekee, kun etsit haluamaasi työkaluketjua.

llvm on toinen hyvä (käytä clang, älä llvm-gcc !!), tiedän, että käsivarren puoli paranee koko ajan, versio 27 tuotti nopeamman koodin kuin nykyinen gcc tietylle testille. Löysin virheen peukalon puolelta työskennellessäni peukalon emulaattorini (thumbulator.blogspot.com), joka korjasi nopeasti. Parasta llvm: stä on, että se on oletuksena ristikääntäjä, ei tarvita ylimääräistä työtä tai rakennuskokemusta. Seuraavien vuosien aikana näen heidän leikkaavan syvempää gcc: tä sisään ja siirtävän gcc: n ristikäännöksen / upotuksen vuoksi.

Yritin kerran koodipunaisen työkalun lpcxpresso-levyn kanssa, lopputulos on, että olen ehdottomasti en koskaan käytä koodipunaista ja keskustelen siitä, pitäisikö myös lisätä musta luettelo lc: stä. ymmv. Jos joudut käyttämään maksua työkalusta, menisin keilin kanssa vain siksi, että ne ostettiin käsivarrella ja osa paketista on rvct-kääntäjä. Tietysti koodihankinta on myös maksullinen talo, jos et täytä lite-rajoituksia tai päätät saada tukea, koska se on gcc, sillä se on ylivoimaisesti paras kääntäjät. Ei kauan sitten, kun pystyin kokeilemaan niitä, metaware ja käsityökalut räjäyttivät gcc: n tuotetun koodin laatuun asti. gcc on ylös ja alas joissakin versioissa 3.x tuotettu parempaa koodia kuin 4.x, ne eivät näytä parantuvan jokaisessa julkaisussa, mutta he tekivät tai ehkä koodaavat sourceryn lisäsi thumb2-tuen kauan sitten, jota 3.x-versiot eivät / tapana ei ole.

"Jos joudut käyttämään maksua työkalusta, menisin keilin kanssa vain siksi, että ne ostettiin käsin" - Oletko kokeillut Keilin kääntäjiä? Ainakin Keil 8051 -työkalut eivät ole vaikuttaneet minua. He tuntevat olonsa dinosauruksiksi verrattuna GCC-pohjaiseen kilpailuun tai LLVM / Clang -sarjaan, IMHO.
#5
+8
Leon Heller
2009-12-18 01:26:04 UTC
view on stackexchange narkive permalink

Käytän Rowley-ohjelmistoa ARM- ja MSP430-kehitykseen:

http://www.rowley.co.uk

Se on erinomaista. Cortex-M3 on tuettu.

Yritän kokeiluversiota ja luulen, että se on minun valintani. se on hyvin dokumentoitu ja ei kovin kallista (henkilökohtainen lisenssi 150 dollaria)
Rowley-työkalusarja on loistava ja tuki erinomaista.
#6
+7
stbtra
2010-12-01 04:49:23 UTC
view on stackexchange narkive permalink

Käytän Yagarto + Eclipse + J-link edu -vianetsintää. (Gnu-työkaluketju)

http://www.yagarto.de/

#7
+5
Nate
2010-07-02 04:37:26 UTC
view on stackexchange narkive permalink

Olen onnistunut melko hyvin käyttämällä IAR kääntäjä / virheenkorjausketjuja ARM-kehityksessä. Ne tarjoavat suhteellisen vakaita kehitystyökaluja, joissa on upotettu C ++ -ympäristö (mikä vaikuttaa hieman harvinaiselta). - Koodikannan koosta riippuen ne tarjoavat myös upeita laitteisto- / ohjelmisto "KickStart Kits" -koodeja, joiden työkaluista on rajoitettu koodikokoinen versio.

#8
+4
mikeselectricstuff
2010-12-01 05:23:48 UTC
view on stackexchange narkive permalink

IAR on erinomainen, ja jos teet pieniä projekteja, tarjolla on ilmainen 32 kt: n koodikokoinen rajoitettu kickstart-versio. Kokopäivitykset ovat mielestäni kuitenkin hieman kalliita, ja niihin sisältyy myös tonnia hyviä esimerkkiprojekteja, yleensä useita kutakin prosessoriperhettä varten.

Kyllä, he leikkasivat kouluni paljon, se oli vielä tuhansia 95 prosentin hinnanlaskun jälkeen.
#9
+4
nemik
2011-06-29 01:56:32 UTC
view on stackexchange narkive permalink

Vietin viimeiset päivät CodeSourcery GNU -työkaluketjun asentamiseen täysin EFM32G-mikrolle OS X: ssä. Verrattuna moniin GUI-pohjaisiin virheenkorjauksiin, joita olen kokeillut (enimmäkseen Eclipse-pohjaiset); Makefiles, GCC ja GDB ovat unelma; plus kaikki toimii Linux- tai Mac-päätelaitteeltani.

Ainoa imevä osa on piirilevyyn rakennettu J-Link-sovitin. J-Linkin Windows- ja Linux-GDBServer-ohjelma on suljettu lähdekoodi. Vielä pahempaa on, että Linux-versio on PALJON kauempana. Joten GDB: n toimimiseksi minun on suoritettava Windows VMWare -kuva, jonka ainoa tarkoitus on ajaa GDBServer (koska Linux-tiedosto on rikki).

Ja ei toimi oikein, J -Linkin Linux-pohjainen GDB-palvelin sitoutuu 127.0.0.1: een ja kuuntelee VAIN paketteja, joiden kohde on; joten sekoittamista iptablesin kanssa ja edelleenlähetystä tarvitaan, jotta se saadaan muodostettua yhteys etäkoneesta. Naurettavaa; Seggerin on saatava toimimaan yhdessä.

Olen samaa mieltä siitä, että jlink on kuninkaallinen tuska Linuxissa, mutta mielestäni voit saada sen toimimaan käyttämällä LD_LIBRARY_PATH. Voit myös korjata sitovan osoitteen ongelman joko käyttämällä SSH-edelleenlähetystä tai käyttämällä LD_PRELOADia tai vastaavaa verkkopuheluiden käärimiseksi ja verkko-osoitteen muuttamiseksi. Mutta on säälittävää, kun kalliita työkaluja on vaikea työskennellä kuin halpoja, kuten ST-LINK, joille on suunniteltu täysin avoimet ohjaimet.
#10
+4
Timmmm
2014-06-12 16:26:52 UTC
view on stackexchange narkive permalink

Käytän QtCreator- ja GNU Tools ARM Embedded -ominaisuuksia. Toimii hyvin.

Edut:

  • Täysin ilmainen (ja avoimen lähdekoodin)
  • QtCreator on loistava moderni C ++ IDE, joka sisältää toimivan koodin loppuun, symbolien hyperlinkit , refactoring jne.
  • QtCreator tukee paljaiden metallien virheenkorjausta (kyllä ​​- voit sijoittaa graafisesti katkaisukohtia, vaihekoodin ja tarkastaa muuttujia). (Edellyttää JTAG- tai SWD-linkkiä MCU: lle, mutta tämä ei ollut läheskään niin vaikeaa kuin luulin.)
  • Ei Eclipse- tai Eclipse-pohjainen.

Haitat:

  • Baremetal-tuki on hyvin uusi, ja minulla oli siinä melko paljon ongelmia - voitettu lopulta QtCreatorin postituslistalla olevan kirjoittajan erinomaisella avulla.
  • Ehkä vähän vaikeampaa asentaa kuin Keil tai koodi punainen.

Kun kaikki on määritetty oikein, voin napsauttaa luodaksesi katkaisupisteen koodiini ja napsauttamalla sitten "virheenkorjaus" -painiketta. Se kääntää, välähtää, suorittaa ja keskeyttää katkaisupisteen noin 5 sekunnissa (ja saa sinut samalla raivostumaan, jos joudut koskaan palaamaan Arduinon "IDE": een).

Työskentelen opetusohjelma tämän määrittämiseksi toisella ARM-sirulla - Cortex-M0 -pohjaisella nRF51822.

Todennäköisesti kannattaa lisätä hieman yksityiskohtaisempaa tietoa siitä, mistä pidät, muutamia hyviä ominaisuuksia jne., Jotta vastauksesta olisi hyötyä.
Voitteko tarjota karkean ääriviivan?
#11
+2
BobEmbed
2011-06-24 13:07:08 UTC
view on stackexchange narkive permalink

Käytän CooCox-työkaluja, se on erinomainen, mutta ilmainen, eikä koodikokoa ole rajoitettu. http://www.coocox.org/

#12
+1
Chintalagiri Shashank
2013-01-27 01:30:24 UTC
view on stackexchange narkive permalink

Käytän arm-eabi-gcc: tä ja sen mukana toimitettua työkaluketjua, joka on asennettu summon arm toolchain -komentosarjan kautta. Käsikirjoitus luo ympäristön paljaan metallityön tekemiseen ARM: lla. Sen ilmainen ja avoin lähdekoodi ja kaikki tämä, ja se on toiminut, ovat minulle luotettavia. Olen käyttänyt myös IAR: ta tähän, ja se on varmasti parempi, koska sen avulla voit tehdä paljon ystävällisempiä virheenkorjauksia ja tehdä asioita IDE-tavalla, mutta kaiken kaikkiaan tunnen oloni mukavammaksi gcc: llä, ellei mistään muusta syystä, koska minä sinun ei tarvitse perustella kustannuksia kenellekään.

(En ole koskaan oikeastaan ​​keksinyt, miten gdb: tä käytetään mihinkään, mutta en ole koskaan tottunut käyttämään virheenkorjainta tai olemaan silti käytettävissä, joten en ole varma, onko minulla pätevyys tuomitse tuo bitti.)

#13
+1
ITguy
2013-07-03 06:08:42 UTC
view on stackexchange narkive permalink

Käytän Emprog ThunderBenchia. Se on erinomainen, luultavasti paras mitä olen koskaan käyttänyt.

Pidän siitä eniten siitä, että se on samalla C / C ++ ARM -kuoren kääntäjä, debugger ja IDE.

Näyttää siltä, ​​että se on vielä yksi GCC + Eclipse -yhdistelmä.


Tämä Q & A käännettiin automaattisesti englanniksi.Alkuperäinen sisältö on saatavilla stackexchange-palvelussa, jota kiitämme cc by-sa 2.0-lisenssistä, jolla sitä jaetaan.
Loading...