BRAŢ. Curs de formare

BRAŢ.  Curs de formare
BRAŢ. Curs de formare

Lansați IAR AVR. Se va deschide fereastra Embedded Workbench Startup, puteți crea un proiect folosindu-l, dar vom merge în altă direcție, așa că faceți clic pe Anulare. Fereastra se va închide și IAR va apărea în fața noastră în toată splendoarea ei casnică.

Selectați Proiect > Creare proiect nou... din meniul de sus.

IAR vă va solicita să selectați tipul de șabloane de proiect. Selectați C > principal și faceți clic pe OK.

În dialogul standard Salvare ca, găsiți sau creați un folder și salvați proiectul. Proiectul este gata. Să aruncăm o privire mai atentă la IAR.

Linia de sus este o bară de meniu aproape standard. Mai jos este o bară de instrumente cu butoane.

În partea dreaptă este editorul de cod. Acum fișierul main.c este deschis acolo, dar conține doar funcția goală main().

În partea stângă este fereastra spațiului de lucru, care afișează structura proiectului. Orice proiect IAR trebuie să se afle în cel puțin un spațiu de lucru.

Există un meniu derulant în partea de sus a spațiului de lucru. Acestea sunt așa-numitele configurații de proiect. În mod implicit, există două dintre ele - Debug și Release. Ele diferă în setările proiectului. Puteți crea propriile configurații.

Să economisim spațiul de lucru. Dacă nu o facem acum, va trebui să o facem în etapa de compilare. Selectați Fișier > Salvare spațiu de lucru din meniu.

Să setăm setările proiectului pentru configurația Debug. Selectați din meniul Proiect > Opțiuni

Sau faceți clic dreapta pe caseta de selectare de lângă numele proiectului.

Se va deschide o casetă de dialog cu multe setări.

Selectarea tipului de microcontroler
Opțiuni generale > Țintă > Configurare procesor
Am acest ATmega8535.

Permite utilizarea numelor de biți definite în fișierul antet
În Opțiuni generale > Sistem, bifați caseta Activare definiții de biți în fișierele I/O-Include

Deși nu vom avea nevoie de această setare acum, este util să știm unde se află.

Activați generarea listei de ansamblu. O opțiune opțională, dar de obicei o pornesc pentru a vedea ce a făcut compilatorul.
Caseta de selectare C/C++ Compiler > List > Output List File

Modificarea formatului fișierului de ieșire
Linker > Ieșire.
În câmpul Fișier de ieșire, bifați caseta Ignorare implicită și înlocuiți extensia d90 cu hex
În câmpul Format, selectați Altele și în meniul derulant Format de ieșire, selectați tipul de fișier intel-standard

Faceți clic pe OK.
Acum copiați și lipiți textul programului nostru în main.c

#include
#include

int principal( gol )
{
nesemnat char led = 1;
DDRC = 255;

în timp ce (1)
{
PORTC = ~led;
__cicluri_de_întârziere (400000);
led = led<<1;
dacă(led == 0)
led = 1;
}
reveni 0;
}

Faceți clic pe butonul Faceți.

Dacă totul este făcut corect, IAR va compila și construi proiectul, iar fereastra Mesaje se va deschide în partea de jos.

Înainte ca ARM să cumpere Keil, compilatoarele de la IAR Systems erau cele mai bune din aproape toate privințele. Acum situația s-a echilibrat și în unele teste compilatorul de la Keil îl depășește chiar pe compilatorul de la IAR. Dar pentru cei care sunt obișnuiți să lucreze în IAR, nu are rost să stăpânească un mediu nou.

Milander oferă fișiere de suport pentru microcontrolerele sale pentru mediul IAR, dar conectarea acestor biblioteci nu este la fel de evidentă ca în cazul PACK pentru Keil. Acest articol se va concentra pe cum să începeți să lucrați cu microcontrolere Milander în mediul IAR. Să scriem „HelloWorld” obișnuit, adică vom clipi LED-urile.

Va fi creat un proiect cu o implementare goală a funcției principale. Să deschidem opțiunile de proiect și să îl configuram pentru un anumit microcontroler, să selectăm un element de meniu sau să apăsăm Alt+F7. Mai jos voi enumera numai acele opțiuni care trebuie schimbate, totul rămâne implicit. După filă:

Opțiuni generale

Alegem microcontrolerul nostru, 1986BE92U aparține grupului 1986BE9x.

Convertor de ieșire

Dacă aveți nevoie de un fișier firmware hex, puteți activa crearea acestuia în această filă.

Linker

Aici trebuie să selectați un fișier care specifică aspectul memoriei pentru MK. Acest fișier MDR32F1.icf am copiat mai devreme când am instalat SPL. Definiția $TOOLKIT_DIR$ conține doar calea către directorul de instalare în care am copiat folderele Milandr.

C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.0\arm\config\flashloader\Milandr\MDR1986VE9х\MDR32F1.icf

Zonele de memorie pot fi ajustate făcând clic pe Editare, dar apoi este mai bine să salvați versiunea modificată sub un nume nou pentru a lăsa versiunea originală să funcționeze.

Depanator

În fila Configurare trebuie să selectați depanatorul nostru, J-link este deja prezent în listă, selectați-l. Depanatorul Ulink2 nu este pe listă, se pare că trebuie instalat suplimentar. În plus, trebuie să selectați fișierele afișate în imaginea de mai jos FlashMDR32F1x.macŞi jbr_1986BE9x.ddf, pe care l-am copiat și la instalarea SPL.

C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.0\arm\config\flashloader\Milandr\MDR1986VE9x\FlashMDR32F1x.mac
C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.0\arm\config\debugger\Milandr\MDR1986VE9x\jbr_1986BE9x.ddf

În următoarea filă Descărcare, setați opțiunile „Verificați descărcarea”și selectați fișierul de încărcare FlashMDR32F1x.board, care încarcă programul nostru în microcontroler. Acesta este un analog al unui fișier flm în mediul Keil.

C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.0\arm\config\flashloader\Milandr\MDR1986VE9x\FlashMDR32F1x.board

J-Link/J-Trace

În această fereastră vom seta opțiuni similare cu cele pe care le-am stabilit pentru acest depanator în mediul Keil. Să indicăm frecvența de pornire a microcontrolerului la 8 MHz și să setăm PIN-ul de resetare. Apoi, puteți alege să utilizați Jtag sau SWD și, de asemenea, să creșteți viteza conexiunii, dar acest lucru nu este critic pentru mine acum, așa că am lăsat-o implicit.

După efectuarea modificărilor, și într-adevăr periodic, este util să faceți clic pe butonul Salvați tot. La salvarea pentru prima dată, IAR se va oferi să salveze spațiul de lucru al proiectului curent, salvează sub același „HelloWord”. Data viitoare când porniți mediul, selectați Fișier - Spații de lucru recente iar IDE-ul se deschide în starea în care l-am lăsat.

Organizarea folderelor de proiect și SPL

Când am organizat proiectul, m-am ghidat după acest articol IAR EWARM. Crearea unui proiect partea 2. CMSIS și biblioteca de periferice standard.

Bazându-mă pe recomandările articolului pentru a organiza sursele în foldere, am creat grupuri similare cu cele pe care Keil le creează implicit - Startup and Driver. Vă voi oferi vizualizarea finală a arborelui proiectului și un meniu derulant care arată cum să creați un grup.

Conform articolului, am creat și un folder src separat și am pus acolo fișierul main.c. Pentru un exemplu atât de mic și simplu, acest lucru nu este atât de important, dar vom dezvolta stilul corect.

Acum trebuie să conectați bibliotecile SPL în sine, care vă permit să lucrați cu perifericele microcontrolerului. În multe articole de pe Internet, fișierele de bibliotecă necesare sunt copiate în folderul proiectului de pe disc și apoi incluse în IAR. Această soluție nu mi s-a părut convenabilă, așa că am decis să plasez biblioteca la o adresă fixă ​​și să conectez fișiere dintr-o singură sursă în toate proiectele. Avantajul acestei soluții este că atunci când o eroare este corectată în sursele partajate, modificarea va apărea în toate proiectele asociate bibliotecii. Este necesară doar recompilare. Dacă copiați o selecție de surse necesare în fiecare proiect, va trebui să faceți corecții fiecărui proiect. Dar aici fiecare decide singur cum le este mai convenabil să organizeze codul. Adesea, o modificare a codului general poate afecta un proiect deja vechi, gata făcut și funcțional. În acest caz, este mai bine să „înghețați” proiectul „rămas pentru producție” în starea sa actuală, colectând toate sursele pentru acesta separat.

Ca urmare, am organizat directoarele de pe disc astfel: există un folder comun IAR_CODE în care există un folder SPL și un folder pentru fiecare microcontroler, în cadrul căruia sunt create proiecte separate. Proiectele folosesc surse SPL, care sunt conectate în căi relative din folderul proiectului. Utilizarea căilor absolute va face proiectul neportabil, deci este mai bine să folosiți căi relative. Când mutați sau copiați un proiect undeva, va trebui să copiați proiectul și folderul SPL, păstrând locația lor relativă. Apoi proiectul va fi asamblat cu succes dintr-o altă locație.

Iată directoarele și fișierele care vor fi folosite în proiectul nostru.

IAR_CODE\ - folder partajat cu proiecte în IAR 1986VE9x\ - folder de proiect sub 1986VE9x MDR32F9Qx_board.h - fișierul de selecție și revizuire MK HelloWorld - folderul de proiect SPL\ - folderul SPL MDR32F9Qx_config.h - fișierul alte setări Devicesupportup CM3\CMSSIS\ CMSportup \MDR32F9Qx\ - fișiere de pornire, inclusiv de pornire\iar MDR32F9Qx_StdPeriph_Driver\ - fișiere de driver, inclusiv src

Pentru a obține acest aspect, iată ce trebuie să copiați din arhiva SPL:

În folderul IAR_CODE\SPL: fișierele sursă SPL lib\MDR32F9_1986BE4_2015\Libraries\all contents Fișierele cu setări SPL pentru un anumit microcontroler lib\MDR32F9_1986BE4_2015\Config\MDR32F9Qx_config.h în folderul IAR_CODE\V198\V198\ ample\MDR1986VE9x\MDR32F9Q3_EVAL\ MDR32F9Qx_board .h

În fișierul MDR32F9Qx_board.h, microcontrolerul este selectat folosind definiții macro, deci se află în folderul cu proiecte pentru un anumit MK.

Fișierul MDR32F9Qx_config.h din arhivă este configurat pentru microcontrolerul 1986BE4, trebuie să deschideți acest fișier în Notepad și să faceți o mică modificare. Ar trebui să arate așa:

// !!! Decommentați blocul: /* Selectați fișierul antet pentru microcontrolerul țintă */ #dacă este definit (USE_MDR1986VE9x) #include „MDR32Fx.h” #elif definit (USE_MDR1986VE1T) #include „MDR1986VE1T.h” #elif definit (USE_MDR1986VE9x) #include6_MDR198 MDR1986VE3 .h" #elif definit (USE_MDR1986BE4) #include "MDR1986BE4.h" #endif //#include "MDR1986BE4.h" - ! Comentați linia sau ștergeți-o.

Acum, pentru ca mediul IAR să poată găsi fișiere SPL în aspectul nostru, trebuie să specificăm căile pe care să le caute în timpul asamblarii. În arborele proiectului, selectați cel mai sus element „HelloWorld - Debug” - faceți clic stânga pe el, astfel încât să fie activ și deschideți opțiunile proiectului (Alt+F7). Dacă nu selectați elementul de sus al proiectului, dar un fișier din grupurile din arborele proiectului este activ, atunci apăsând Alt+F7 se vor deschide opțiuni pentru acest grup. Trebuie să specificăm căile pentru toate grupurile din proiect, așa că selectăm nodul cel mai de sus din arbore.

Accesați categoria " Compilatorul C/C++", selectați un marcaj Preprocesor. Aici, în câmpul „Directoare de includere suplimentare”, trebuie să adăugați căile pe care le-am creat. Acestea sunt căile, adăugați-le una câte una folosind caseta de dialog deschisă de butonul puncte suspensie sau puteți copia căile direct de aici:

$PROJ_DIR$\..\..\SPL\CMSIS\CM3\CoreSupport $PROJ_DIR$\..\..\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\inc $PROJ_DIR$\..\..\SPL\ CMSIS \ CM3 \ DEVICESUPORT \ MDR32F9QX \ StartUP \ IAR $ Proj_dir $ \ .. \ .. \ SPL \ MDR32F9QX_STPERIPH_DRIVER $ Proj_Dir $ $ $ \ .. \ .. \ SPL \ MDR 32F9QX \proj_dir_proj. $ \..\..\SPL

Acestea sunt căile noastre în raport cu folderul de proiect. Dacă alte proiecte sunt localizate conform acestui aspect, aceste căi vor rămâne valabile.

Când adăugați căi prin caseta de dialog, aveți nevoie de următoarele, conform imaginii:

    Ar fi bine să adăugați căi cu o cale relativă

    Când adăugați o cale prin caseta de dialog,

    Se vede că căile sunt absolute.

    Faceți clic pe butonul cu un triunghi.

    Selectați opțiunea cu o cale relativă la proiect.

Alcătuirea unui proiect gol

Pentru a compila un proiect minim, trebuie să includeți fișiere de pornire cu un tabel de vectori de întrerupere etc., într-un fișier main.c deja existent.

Înainte de a include fișiere în proiect, să creăm o variabilă în mediul IAR care va seta calea către folderul nostru cu codul IAR_CODE. În meniul principal selectați Instrumente - Configurați variabilele de argument personalizate.

În fereastra care se deschide, creați grupul MDR_Lib și variabila MDR_CODE, care va seta calea către folderul nostru principal.

Dacă proiectul nu a fost salvat și spațiul de lucru este salvat prima dată, butoanele din acest formular vor fi inactive. În acest caz, trebuie să faceți clic pe Salvare tot înainte de a introduce acest formular.

Acum, la conectarea fișierelor din directorul nostru IAR_CODE, căile din proiect vor fi specificate în raport cu variabila $MDR_CODE$, prin urmare, la mutarea proiectului în altă locație, va fi suficient să reatribuiți noua cale în variabila MDR_CODE.

Să includem acum fișierele necesare pentru a compila un proiect gol. Pentru a conecta fișiere, faceți clic dreapta pe grupul de pornire creat de noi, selectați Add - Add Files și conectați următoarele fișiere:

Adăugați fișierele: IAR_CODE\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\iar\ startup_MDR32F9Qx.s system_MDR32F9Qx.c system_MDR32F9Qx.h

Este convenabil să selectați toate fișierele și să le adăugați simultan.

După aceasta, proiectul trebuie asamblat - meniu Proiect - Reconstruiți totul. Vedem 0 erori și nu acordăm atenție avertismentelor. Biblioteca nu este foarte curățată pentru mediul IAR.

Pentru a verifica dacă fișierele sunt conectate prin variabila $MDR_CODE$, faceți clic dreapta pe titlul din arborele proiectului „HelloWorld - Debug” și selectați din meniul drop-down Deschideți Folderul care conține. Se va deschide o fereastră Windows Explorer cu fișierul HelloWorld.ewp evidențiat. Deschideți-l cu Notepad și derulați până în partea de jos, unde găsim cum sunt conectate fișierele noastre nou adăugate:

.... Lansare $MDR_CODE$\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\iar\startup_MDR32F9Qx.s $MDR_CODE$\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\iar\system_MDR32F9Qx.c $MDR_CODE$\SPL\CMSIS\CM3\DeviceSupport\MDR32F9Qx\startup\iar\system_MDR32F9Qx.h ....

Se poate observa că căile sunt specificate prin variabila $MDR_CODE$. Sper că această abordare va ajuta, dacă este necesar, la transferul întregului depozit cu proiecte, adică folderul IAR_CODE, într-o locație nouă sau pe alt computer cu un efort minim.

Colectarea „HelloWorld”

Să copiem codul din proiectul Hello World LED în fișierul nostru main.c. Acest cod folosește fișiere de bibliotecă de control porturi și ceas. Să le adăugăm și la proiect.

Adăugați fișiere: IAR_CODE\SPL\MDR32F9Qx_StdPeriph_Driver\src\ MDR32F9Qx_port.c MDR32F9Qx_rst_clk.c

Nu vom include fișiere *.h, avem căile notate și vor fi găsite pe cont propriu. Compilăm proiectul folosind butonul din meniu sau F7. Proiectul ar trebui să fie compilat cu succes.

Pentru a flash-ul programului rezultat în microcontroler, selectați din meniu Proiect - Descărcare - Descărcați aplicația activă. Unele „avertismente” apar în fereastra Jurnal de depanare, dar firmware-ul se termină cu succes și microcontrolerul salută lumea!

În cazul utilizării programatoarelor Segger, la încărcarea într-un dispozitiv conectat pentru prima dată, driverele Segger întreabă ce nucleu Cortex este conectat.

Alegerea ar trebui să fie așa:

    1986BE9x - „Cortex-M3 nespecificat”.

    1986BE1T, 1986BE3T - „Cortex-M1 nespecificat”,

    1986VE4U - „Cortex-M0 nespecificat”

SPL și exemplu pe GitHUB

Acest exemplu de LED intermitent poate fi descărcat de pe GitHub - IAR_CODE, precum și implementări similare pentru 1986BE1T și 1986BE3T. Depozitul conține biblioteca SPL pe care sunt implementate exemplele. Această bibliotecă a fost compilată din versiunea oficială, au fost tăiate numai fișierele care nu au legătură cu IAR și unele erori au fost corectate.

Un mediu de dezvoltare a aplicațiilor multifuncționale în C, C++ și limbaje de asamblare pentru o gamă de microcontrolere de la diverși producători. Mediul de dezvoltare este plătit, dar există o versiune gratuită cu restricții privind dimensiunea codului în funcție de microcontroler.

Mai multe detalii

Flowcode

Unul dintre cele mai avansate limbaje de programare grafică pentru microcontrolere. Suport în limba rusă. Plătit, dar există o versiune gratuită cu limitări și numai pentru microcontrolere PIC.

Mai multe detalii

Generator de algoritmi

Un mediu de programare grafică gratuit pentru dezvoltarea aplicațiilor pentru microcontrolere cu arhitectură AVR de la dezvoltatori autohtoni.

Mai multe detalii

Cel mai puternic mediu de dezvoltare de programe pentru dispozitive cu microcontroler, inclusiv un editor de cod, un compilator, un depanator, biblioteci software și hardware care utilizează funcții gata făcute. Programul este platit. Există o versiune gratuită cu restricții.

Mai multe detalii

Ic Prog

Una dintre cele mai populare shell-uri de programare gratuite, care acceptă un număr mare de microcontrolere, EPROM-uri și adaptoare de diferite modele. În rusă.

Mai multe detalii

Pony Prog 2000

Un program de programare nepretențios și multifuncțional, conceput pentru a funcționa cu microcontrolere și dispozitive de memorie doar pentru citire, cu acces serial de la diverși producători. În rusă.Freeware.

Mai multe detalii

SinaProg

Un shell grafic pentru programul AVRdude, care include un calculator de siguranțe AVR simplu și funcțional. Freeware.

Mai multe detalii

Un programator simplu, gratuit, universal pentru microcontrolere din familia AVR.

Mai multe detalii

Code Composer Studio

Un mediu de proiectare integrat conceput pentru crearea de software utilizat în procesoare și microcontrolere de la Texas Instruments Incorporated. Programul este plătit, versiunea gratuită este CCS-FREE cu o serie de restricții.

Mai multe detalii

TivaWare

Un set de biblioteci complete de înaltă calitate pentru familia de controlere TIVA de la Texas Instruments. Freeware.

Mai multe detalii

Unul dintre cele mai bune compilatoare de limbaj de tip Basic pentru seria AVR de microcontrolere pe opt biți.

Mai multe detalii

Sourcery CodeBench

Un mediu de dezvoltare integrat autonom, conceput pentru crearea de aplicații C/C++ pentru IA32, ColdFire, Power, MIPS, ARM și alte arhitecturi de dispozitive cu microcontroler. Plătit 400 USD (disponibilă încercare de 30 de zile)

Mai multe detalii

Un complex de software și instrumente bazat pe standardul IEC 61131-3 și conceput pentru programarea controlerelor și calculatoarelor industriale. În rusă. Freeware.

Mai multe detalii

Flash Magic

Aplicație gratuită de programare a microcontrolerelor de la NXP Semiconductors

Mai multe detalii

PASUL 7-Micro/WIN

Software simplu și convenabil conceput pentru a funcționa cu controlere programabile din seria SIMATIC S7-200 de la Siemens AG. Plătit.

Mai multe detaliiAnaliza mediilor de programare pentru microcontrolere

Programarea microcontrolerelor este o parte integrantă a dezvoltării unui dispozitiv electronic independent. În această etapă de dezvoltare a electronicii, cele mai populare microcontrolere (MCU) sunt: ​​PIC, MSP, AVR, STM, ARM (procesor). Pentru fiecare tip de microcontroler există un mediu de programare concentrat îngust. Acest lucru se datorează structurii interne a MK și suportului tehnic pentru înregistrarea programului în memoria MK. Dacă analizăm cele existente Mediul de programare MK, atunci este foarte dificil să găsești medii de programare MK universale. La analizarea mediilor de programare, a fost identificat un singur mediu de programare universal pentru microcontroler - FlowCode, ale cărui funcții vă permit să programați microcontrolere PIC, AVR, ARM.

FlowCode este un mediu de programare MK universal grafic. Programarea se realizează prin construirea unei structuri logice, de ex. diagrame bloc, similare mediului HiAsm. Funcția de export vă permite să exportați codul de scriere al PIC MK în programul AVR MK și invers. O completare la acest mediu de programare este crearea codului HEX, care poate fi folosit atunci când se flashează firmware-ul MK sau când se proiectează un circuit cu suport MK, de exemplu, în mediul Proteus.

Cele mai analizate Medii de programare MK au fost destinate AVR. Mediul Algorithm Builder este un mediu de programare grafică pentru AVR MK. Tipul de dezvoltare grafică în acest mediu este diferit de FlowCode. Yak spune că autorul programului, scrierea codului este de 3-5 ori mai rapidă. Mediul este rusificat și acceptă conversia automată a șirurilor din codul ANSI Windows în codul unui LCD alfanumeric rusificat. Mediul de programare combină un editor grafic, un compilator de algoritm, un simulator de microcontroler, un programator în circuit și funcții pentru lucrul cu EEPROM.

Printre mediile plătite programareAVR MK are AVR Studio, IAR Systems, Image Craft, WinAVR, CodeVisionAVR.

CodeVisionAVR este un mediu popular de programare shareware pentru AVR MK. Combină un limbaj de programare asemănător C și un limbaj de asamblare. Funcțiile programului vă permit să flashați în mod independent MK și să instalați biți de siguranță și ROM. Rezultatul final al dezvoltării programului. MK este crearea unui fișier HEX, BIN sau ROM pentru flash-ul MK folosind un programator.

Mediul IAR Systems acceptă programarea MCU-urilor AVR și MSP430, dar funcțiile de programare ale celor două MCU-uri nu sunt combinate într-un singur mediu. Au fost dezvoltate medii de programare separate pentru fiecare MK. În mod similar, a fost dezvoltat mediu de programareImage Craft(ICC). ICC acceptă sintaxă și asamblare asemănătoare C. IAR Systems și Image Craft includ biblioteci țintite pentru lucrul cu părți individuale ale MK. Un utilitar pentru generarea codului și inițializarea perifericelor MK a fost adăugat la ICC și a fost introdus ANSI Terminal Emulator, care oferă posibilitatea de a lucra cu un port COM.

Mediul Code Composer Studio (CCS) pentru programarea microcontrolerelor MSP se bazează pe mediul de programare universal Eclipse. CCS, ca și mediile de programare de mai sus, are un limbaj de programare asemănător C. Acest mediu de programare acceptă dezvoltarea microcontrolerelor DSP (procesor de semnal digital), procesoarelor stațiilor de lucru din familia TMS320 și MSP430. Acest mediu, în comparație cu ICC sau CCS, utilizează o mașină Java și necesită mai multe resurse de sistem.

energie - mediu de programare pentru microcontrolerul MSP430, care este cel mai popular mediu de programare printre începători. Are un limbaj de programare asemănător C, dar este diferit de limbajele folosite în mediile de mai sus. Limbajul Energia (și Arduino IDE) este mai ușor de înțeles, similar cuvintelor engleze. Energia acceptă biblioteci suplimentare, care includ drivere pentru conectarea platformei LaunchPad MSP430, FraunchPad și lm4f120 StallerPad bazat pe ARM Cortex. Acest mediu de programare este o versiune modificată a IDE-ului Arduino. Funcționează cu 1,16 MHz MSP430 și 80 MHz lm4f120. Funcția de vizualizare a portului COM a fost implementată.

Placa virtuală este un mediu de dezvoltare cu suport pentru proiectarea unui circuit electric bazat pe platforma Arduino controlată de microcontrolerul ATMEL AVR. Analiza a folosit versiunea programului 4.2.9, care sprijină dezvoltarea de programe sub. MK PIC. Sintaxa este similară cu mediul de programare Energia și cu Arduino IDE. Acest mediu este plătit și sunt incluse în program exemple de elemente electronice pe baza cărora este proiectat dispozitivul.

Pentru a dezvolta programe pentru microcontrolerul PIC, există mediul MPLAB IDE. Crearea programului are loc într-o formă structurată, un simulator software încorporat pentru simularea execuției programului în MK, ținând cont de starea porturilor de intrare-ieșire, Emulator MKîn timp real direct pe dispozitivul utilizatorului. Proiectul este dezvoltat în limbaj C sau asamblator. Un alt mediu de programare pentru microcontrolerul PIC este mikgoC. Mediul mikgoC include biblioteci care acceptă următoarele dispozitive și interfețe:

Convertor analog-digital (ADC) încorporat al microcontrolerului; - memorie EEPROM nevolatilă încorporată a microcontrolerului; - modulatoare de lățime a impulsurilor (PWM) încorporate în microcontroler; - carduri de memorie externe amovibile precum MMC, SD si Compact Flash; - sistem de fișiere FAT; - indicatori alfanumeric cu cristale lichide (LCD PKI); - indicatori grafici cu cristale lichide (GLCD, display PK); - Interfețe I2C, SPI, 1-Wire, USART, RS-485, CAN, PS/2, USB (HID) și Ethernet.

Pentru a rezuma, aș dori să spun că atunci când alegeți un mediu de programare, este necesar să luați în considerare compoziția funcțională de bază, limbajul de programare, porturile și interfețele acceptate.

Dacă utilizați un alt mediu de programare MK care nu este listat în această postare, vă rugăm să scrieți. Mediul pe care îl specificați va fi analizat și adăugat la postare.

Folosind diferite microcontrolere, devine necesar să alegeți un mediu de dezvoltare convenabil. Avem o mulțime de alegere - fie că este IAR sau Keil µVision, sau chiar Code Composer Studio.
Mai jos vom vorbi despre IDE-ul IAR Embedded Workbench folosind STM32F10x ca exemplu. Acest mediu de dezvoltare este destul de puternic. Există tot felul de bunătăți.

Înființarea IAR

În primul rând, trebuie să configurați IAR.
Setări de bază
După lansarea IAR, accesați opțiuni ( Instrumente->Opțiuni...). Elementul va fi selectat imediat Editor. În câmp Dimensiunea identului numărul indică numărul de spații la apăsarea Tab. Mi se pare convenabil să folosesc un număr 4 .
Merită să acordați atenție subiectului Legături de taste. Aici puteți atribui taste rapide. De acord, la urma urmei, este convenabil și rapid să folosești combinațiile de taste. Pentru moment, puteți atribui combinația Ctrl+W pentru a închide filele active. În acest scop în Meniu alege Fereastră si pentru echipa Închide fila activă numi Ctrl+W.
Vom cunoaște mai jos restul tastelor rapide.
Setările proiectului
Să presupunem că știm cum să creăm un nou proiect (dacă nu, atunci Proiect->Creează un nou proiect...). După crearea proiectului, avem două configurații de proiect disponibile pentru noi − DepanațiŞi Eliberare. Puteți comuta între ele în fereastră Spațiul de lucru:


Orez. 1

Este convenabil să utilizați mai multe configurații. În configurație Depanați puteți selecta un simulator de programator și în Eliberare– un anumit programator (de exemplu, J-Link). Acest lucru vă va permite să depanați mai întâi în simulator, fără să pierdeți timp cu flasharea firmware-ului microcontrolerului și apoi să îl flashați în configurație Eliberare.
Puteți adăuga noi configurații prin meniu: Proiect->Editare configurații.
Opțiuni pentru proiectul în sine - Proiect->Opțiuni... (Alt+F7). Pentru a deschide fereastra de opțiuni de proiect, trebuie să selectați proiectul în sine în fereastră Spațiul de lucru, altfel se vor deschide opțiunile pentru fișierul care a fost selectat.
Voi oferi setările pentru configurare Depanați(în paranteze - pentru Eliberare).
Deschideți opțiuni ( Alt+F7)

Câteva trucuri

Taste rapide
Căutare:
Căutare regulată - Ctrl+F
Găsiți mai departe - F3
Căutați fișiere de proiect - Ctrl+Shift+F
Parcurgeți ceea ce ați găsit (sau prin erori/avertismente) - F4
Navigare prin proiect:
Accesați declarația variabilelor (chiar dacă este într-un alt fișier) – F12- o caracteristică foarte utilă!
Navigare înainte - Alt+Dreapta
Navigare înapoi - Alt+Stânga
Diverse:
Deschide antetul/sursa – Ctrl+Shift+H(sau P.K.M în editor și selectați în meniul contextual Deschideți Antet/Fișier sursă)
Comentează blocul selectat - Ctrl+K
Decomentează - Ctrl+Shift+K
Selectați conținutul parantezelor - Ctrl+B
Nivelare automată - Ctrl+T
Adăugați/eliminați punctul de întrerupere – F9
Inserați șablon - Ctrl+Shift+Spațiu- de asemenea, un lucru interesant.

Pentru a adăuga șablonul, trebuie să deschideți fișierul CodeTemplates.ENU.txt prin meniu Editare->Șabloane de cod->Editare șabloane
Acum puteți introduce ceva de genul acesta:

#TEMPLATE "&Warning","Enter text:"="Nu uitați să schimbați" #warning %1

Sintaxa șablonului:

#TEMPLATE ,[=valoare implicită], ...

Semnul „&” este necesar pentru acces rapid (litera va fi subliniată). Puteți folosi semnul „>” pentru a crea un submeniu. Totul este intuitiv.

Salvați fișierul și apelați meniul Template ( Ctrl+Shift+Spațiu). În el selectăm Avertisment:


Orez. 3

Să introducem textul necesar:


Orez. 4

Faceți clic pe butonul OK. Ca rezultat, va apărea linia:

Orez. 5

În timpul compilării, toate avertismentele și erorile (#error<текст>) va fi afișat în fereastră Construi.

Concluzie

Acest articol a prezentat principalele caracteristici ale IAR, care vă permit să navigați rapid în proiect. Recomand folosirea tastelor rapide. Acest lucru reduce semnificativ timpul petrecut pe proiect.
Aș fi recunoscător dacă cititorul mă adaugă sau mă corectează.

Un mediu de dezvoltare a aplicațiilor multifuncționale în C, C++ și limbaje de asamblare pentru o gamă de microcontrolere de la diverși producători.

Principalele avantaje ale pachetului sunt o interfață prietenoasă cu utilizatorul și optimizarea de neegalat a codului generat. În plus, este implementat suport pentru diverse sisteme de operare în timp real și adaptoare JTAG de la companii terțe.

IAR Embedded Workbench acceptă în prezent microcontrolere pe 8, 16, 32 biți de la , ARM, NEC, Micronas, Dallas Semiconductor/ , Ember, Luminary, OKI, Samsung, TI/Chipcon, Silicon Labs și . Fiecare platformă are propriul mediu de dezvoltare, în special, microcontrolerele ARM au o versiune a pachetului IAR Embedded Workbench pentru ARM.

Mediul software include:
1. Compilatorul C/C++ este unul dintre cele mai eficiente de acest gen. De asemenea, oferă suport complet ANSI C.
2. Un translator de asamblare, care include un asamblator de macro pentru programe în timp real și un preprocesor pentru un compilator C/C++.
3. Linker care acceptă peste treizeci de formate de ieșire diferite pentru utilizare cu emulatoare în circuit.
4. Un editor de text configurat pentru sintaxa limbajului C și având o interfață de utilizator convenabilă, evidențierea automată a erorilor de cod de program, o bară de instrumente personalizabilă, evidențierea blocurilor, precum și navigarea convenabilă prin numele subrutinelor, macro-urilor și variabilelor.
5. Simulator și depanator în C și coduri de asamblare. Depanatorul vă permite să vizualizați zonele EEPROM, DATE, COD, precum și registrele I/O, setați puncte de întrerupere și semnalizatoare hardware și procesați întreruperi predictive. În plus, sunt furnizate controlul stivei și al oricăror variabile locale și un mod de execuție a programului pas cu pas. Tipul de depanare și setările acestuia sunt setate în proprietățile proiectului. Dacă lipsește un depanator, atunci vine în ajutor un simulator, care, totuși, nu are capacitatea de a emula funcționarea procesorului.
6. Manager de proiect, facilitarea controlului și managementului modulelor de lucru.
7. Utilități suplimentare pentru lucrul cu biblioteca optimizată CLIB/DLIB.

Un sistem de ajutor integrat facilitează scrierea programelor în acest mediu. Este oferită interacțiunea cu utilitarul AVR Studio. Printre altele, IAR Embedded Workbench vă permite să gestionați independent optimizarea modulelor de proiect individuale, ceea ce simplifică procesul de depanare și vă permite, de asemenea, să accelerați programul sau să economisiți memorie.

IAR Embedded Workbench a fost dezvoltat de IAR Systems, care a fost una dintre companiile lider în crearea de compilatoare C/C++ pentru dispozitive și sisteme de microcontrolere încorporate de peste douăzeci de ani. Sediul său este situat în orașul antic Uppsala (Suedia). În prezent, programele IAR Systems sunt utilizate în întreaga lume de peste o sută de mii de dezvoltatori, producători de echipamente de telecomunicații și industriale, echipamente medicale și informatice, inclusiv giganți precum Apple Computer, Cisco Systems, Motorola, Hewlett-Packard și Siemens.

IAR Embedded Workbench este un produs comercial și costă aproximativ 3.000 USD per licență de utilizator. Cu toate acestea, ca o completare la versiunea cu funcții complete, există o versiune gratuită a mediului de programare cu singura limitare a dimensiunii codului de ieșire la 4 sau 8 KB, în funcție de modelul controlerului. Această opțiune este potrivită pentru a vă familiariza cu programul pentru prima dată, precum și pentru a scrie aplicații mici. Puteți găsi și o versiune piratată, dar pentru ca aceasta să funcționeze corect va trebui să vă opriți conexiunea la internet.

Limba interfeței IAR Embedded Workbench este engleza.

Mediul în cauză rulează numai sistemele de operare Microsoft Windows versiunile 95, 98, NT, 2000, XP, Vista, 7 (32 sau 64 de biți nu contează).

Distributie program: plătit. Există o versiune gratuită cu restricții privind dimensiunea codului, în funcție de MK