Sunteți pe pagina 1din 8

Mediul integrat de dezvoltare Keil PK51

1. Dezvoltarea aplicaţiilor folosind Keil PK51

PK51 este o platformă integrată (IDE – Integrated Development Environment) pentru dezvoltarea
aplicațiilor pentru microcontrolere 8051 și compatibile. Aceasta include un manager de proiecte (Keil
µVision3), un editor de text sursă, compilatorul C51, asamblorul A51, editorul de legături L51,
gestionarul de biblioteci LIB51, un simulator/depanator, precum şi alte programe utilitare necesare
pentru generarea codului executabil. PK51 dispune de o interfaţă grafică Windows, iar managerul de
proiecte (Keil µVision3) ţine evidenţa tuturor fişierelor unei aplicaţii şi lansează automat în execuţie
toate programele utilitare necesare pentru realizarea operaţiilor solicitate de utilizator.

Editor şi manager de proiecte µVision3


Mediu integrat de dezvoltare (IDE)

Compilator C Asamblor
C51 A51

Biblioteci Manager biblioteci Executiv de timp


C51x.LIB LIB51 real RTX- 51

Editor de legături L51

Depanator Emulator sau


Programator EPROM

Simulator CPU Interfaţă grafică


şi periferice Monitor - 51 pentru emulatoare şi
integrate alte depanatoare

Fig.1. Structura PK51 - ciclul de dezvoltare al unei aplicaţii

1.1. Mediul integrat de dezvoltare PK-51 – caracteristici generale

În cele ce urmează vor fi prezentate principalele facilităţi şi posibilităţi de lucru ale PK51, care are la bază
implementări Windows DLL ale programelor de dezvoltare A51, C51, L51 şi LIB51. Schema bloc din Fig.1
ilustrează ciclul de dezvoltare al unei aplicaţii pentru MCS-51 folosind uneltele puse la dispoziţie de
această platformă:

1. crearea unui nou proiect (sau modificarea unuia existent);


2. configurarea proiectului;
3. adăugarea de foldere și fișiere și configurarea lor;
4. scrierea fişierelor sursă în C sau/şi în limbaj de asamblare;
5. compilarea/asamblarea, editarea legăturilor şi generarea codului executabil;
6. corectarea erorilor de sintaxă din fişierele sursă;
7. testarea programului prin simulare sau pe sistemul țintă şi eliminarea erorilor logice.
Butoane pentru comenzi
rapide (Toolbars)

Editare cod
Fereastra cu
sursă
structura
proiectului

Informații despre procesul de


generare a codului executabil (Build)

Fig.2. Keil µVision 3 – proiect cu un singur fișier sursă în limbaj de asamblare

Managerul de proiecte Keil µVision3 (Fig.2) creează un fişier proiect cu extensia ”.uV2” pentru fiecare
aplicaţie, în care sunt memorate informaţii despre numele şi tipul fişierelor din care este alcătuită
aplicaţia, precum şi opţiunile de configurare a proiectului pentru fiecare fază de prelucrare (compilare,
asamblare, editare de legături). Acestea corespund opţiunilor de la versiunile în mod linie de comandă şi
pot fi generale (valabile pentru toate fişierele sursă), sau particularizate pentru fiecare fişier al aplicaţiei.

1.2. Opţiunile managerului de proiecte Vision3

Un proiect poate conţine fişiere sau grupuri de fişiere sursă şi obiect, dar pentru acelaşi proiect se pot
defini mai multe sisteme ţintă (Target), fiecare putând fi asociat unui anumit tip de microcontroler.
Opţiunile definite la nivelul fiecărui fişier sursă sau obiect prevalează faţă de cele definite la nivelul
grupului (dacă face parte dintr-un grup), toate acestea fiind prioritare faţă de opţiunile proiectului, care
sunt definite pentru fiecare sistem ţintă în parte (Project/Options for Target … sau meniu de context
click buton mouse dreapta pe numele plăcii – BIG8051). În Fig.3 sunt prezentate tab-urile cu opțiuni la
nivel de proiect (sistem țintă). Aici se poate selecta tipul microcontrolerului (C8051F040) și alte opțiuni
de configurare pentru acesta, pentru uneltele de dezvoltare (C51, A51, BL51) și pentru depanare.

Fig.3. Opțiuni la nivel de proiect (Target BIG8051)


Opţiunile pentru sistemul ţintă, pentru fişierele şi grupurile de fişiere ale unui proiect sunt accesibile din
meniul principal (Project - Options for Target/Group/File), după ce în prealabil a fost selectat în
fereastra proiectului (project workspace) un sistem ţintă, un grup de fişiere, respectiv un fişier sursă.
Acelaşi lucru este posibil şi din meniul de context, accesat cu butonul din dreapta al mouse-ului (Fig.4).

Fig.4. Opțiuni la nivel de fișier

Valorile iniţiale ale informaţiilor de configurare sunt încărcate dintr-un fişier de configuraţie globală la
crearea proiectului şi pot fi ajustate de către utilizator în concordanţă cu particularităţile aplicaţiei. La
ieşire din mediul integrat, opţiunile curente sunt salvate în fişierul de configuraţie al proiectului.
Prelucrarea fişierelor sursă: compilarea, asamblarea şi editarea legăturilor – operaţii realizate sub
controlul managerului de proiecte Keil µVision3, pune în evidenţă erorile de sintaxă introduse la scrierea
programului, care pot fi corectate off-line.

În schimb, verificarea comportării on-line a aplicaţiei şi eliminarea erorilor logice, de concepţie, se poate
face la momentul execuţiei, prin depanare:

 folosind simulatorul integrat în mediul de dezvoltare;


 direct pe sistemul hardware pentru care a fost proiectată aplicaţia, folosind monitorul de
comunicaţie Monitor-51, un emulator (ICE - In-Circuit Emulator) sau un debugger JTAG;
 folosind alte programe de depanare simbolică la nivel de cod sursă.

Simulatorul integrat permite testarea modulelor software şi a perifericelor interne ale


microcontrolerelor a căror funcţionare este reprodusă prin simulare (Fig.5). De asemenea, se poate
simula apariţia unor stimuli externi, absolut necesari pentru a pune în evidenţă cât mai multe din
situaţiile care pot să apară la o execuţie reală pe sistemul hardware.

Pentru depanare, codul poate fi vizualizat într-o fereastră de dezasamblare sau direct în fișierul sursă,
așa cum se arată în Fig.5. Acesta poate fi executat pas cu pas, cu breakpoint sau automat, iar execuția
poate fi oprită de utilizator în orice moment. De asemenea, din meniul View poate fi afișat conținutul
memoriei RAM, poate fi urmărită evoluția variabilelor programului și a semnalelor la pini folosind
ferestre de monitorizare (Watch window) și analizorul logic integrat (Logic Analyzer Window).

În fereastra Project workspace este afișat conținutul registrelor interne simulate ale microcontrolerului,
iar din meniul Peripherals se poate monitoriza starea perifericelor interne simulate.

Periferic
simulat (Port 1)
Start / Stop
Simulator

Afișare mixtă (cod sursă /


cod dezasamblat)
Cod sursă

Stare
registre
simulate

Regim simulare

Fig.5. Sesiune de depanare folosind Keil µVision3 și simulatorul integrat

Pentru o simulare completă, atât a execuției instrucționilor cât și a perifericelor interne), trebuie ca în
fereastra de configurare a debugger-ului, să se înlocuiască parametrul –pCYG040 cu -pCYG124, ca în
Fig.6. Microcontrolerul C8051F124 conține majoritatea perifericelor interne ale C8051F040 și are
aceeași organizare internă lor și are asigurat suport complet de depanare în Keil µVision3.

Fig.6. Selectarea depanării prin simulare pentru microcontrolerul C8051F040

O parte din funcţiile depanatorului integrat rămân active și atunci când codul executabil generat este
încărcat şi executat pe sistemul ţintă (în acest caz C8051F040), sub controlul unui emulator sau debugger
JTAG (Joint Test Action Group standard), unelte indispensabile pentru realizarea unor aplicaţii complexe.
Pentru microsistemul BIG8051 din laborator se va folosi un dispozitiv Silicon Labs USB Debug Adapter,
conectat la portul JTAG al microcontrolerului C8051F040 și la un port USB al calculatorului gazdă pe care
se execută Keil µVision3.

Numai pentru simulator Numai pentru simulator


simulare simulare

Fig.7. Selectare Silicon Labs USB Adapter pentru depanare direct pe microcontrolerul C8051F040

Pentru depanare cu Silicon Labs USB Debugger Adapter, codul poate fi vizualizat într-o fereastră de
dezasamblare sau direct în fișierul sursă, așa cum se arată în Fig.8. Acesta poate fi executat pas cu pas, cu
breakpoint (maximum 4) sau automat, iar execuția poate fi oprită de utilizator în orice moment.

De asemenea, din meniul View poate fi afișat conținutul memoriei RAM, poate fi urmărită evoluția
variabilelor programului folosind ferestre de monitorizare (Watch window). Analizorul logic în cazul
depanării pe sistemul țintă nu este activ. În fereastra Project workspace este afișat conținutul
registrelor interne ale microcontrolerului, iar din meniul Peripherals se poate monitoriza starea efectivă
a perifericelor interne.
Stare
periferice
Start / Stop reale (aici
Debugger porturi)

Stare
registre
reale

Regim depanare
pe placă

Fig.7. Sesiune de depanare folosind Keil µVision3 și driverul pentru Silicon Labs USB Debug adapter

Fig.8. Configurarea editorului și a interfeței grafice a Keil µVision3

De asemenea, interfaţa grafică a mediului integrat şi editorul pot fi configurate din meniul principal (Edit
- Configuration).

Pot fi astfel ajustate de utilizator culorile şi fonturile folosite pentru ferestre, parametrii editorului,
precum şi comenzile scurte pentru operaţiile mai frecvente ale mediului integrat (Fig.8).
1.3. Lista comenzilor uzuale Keil Vision3

Comenzile Keil µVision3 sunt accesibile din meniul principal, având structura prezentată succint în Tab.
1, prin comenzi scurte (“shortcuts”) sau cu ajutorul butoanelor din casetele cu pictograme (“toolbars”).

Meniu Categorii Comenzi Descriere


Comenzi de lucru cu Comenzi de creare, deschidere, închidere, salvare, redenumire şi listare fişier sursă, de acces la
File
fişierele baza de date, de ieşire din Vision3.
Editare blocuri de text Comenzi de copiere, ştergere, inserare text sursă, de revenire asupra modificărilor, şi de căutare
Edit
în fişiere sursă în textul fişierelor sursă, opţiunile interfeţei mediului integrat.
Status Bar bara de stare.
File, Build, Debug Toolbars casete cu pictograme.
Vizualizare informaţii: Project, Output Window manager de proiecte, mesaje.
- casete cu

Vizualizare ferestre
Source Browser navigator în fişierele sursă.
pictograme
- ferestre cu informaţii Disassembly Window cod dezasamblat.
despre proiect, Watch&Call Stack Window stare variabile supravegheate şi stiva.
mesaje, starea şi Memory Window conţinut memorie.
View Code Coverage Window acoperirea codului aplicaţiei la execuţie.
evoluţia programului,
variabilelor, în regim Performance Analyzer Window analiza performanţelor.
de simulare/ Symbols Window simboluri.
depanare Serial Window #0, #1, #2 interfeţe seriale.
- opţiuni editor şi Toolbox caseta cu comenzi externe.
manager de proiect Periodic Window Update
Actualizarea periodică a ferestrelor.
Include file dependencies Indică fişierele header incluse
New Vision Project, New Project
Workspace, Import Vision1, Open, Creare, importare, deschidere, închidere fişier proiect.
Close
Gestionare sisteme ţintă, fişiere şi grupuri configurare
Manage
documentaţie şi directoare
Comenzi pentru Select Device for Target Selectare microcontroler pentru sistem ţintă.
Project
managerul de proiecte Remove item Ştergere fişier sau grup de fişiere din proiect
Options for Target (Group, File) Opţiuni la nivel de sistem ţintă, grup, fişier.
Clean target Ştergere fişiere intermediare generate anterior.
Build Target, Rebuild all target files Actualizare, generare fişier executabil.
Translate Compilare/asamblare fişier sursă.
Stop build Oprire prelucrare.
Start/Stop Debug Session Lansare / terminare simulator/depanator.
Go, Step, Step over, Step Out of
current Function, Run to Cursor line, Rulare automată sau pas cu pas.
Stop Running
Breakpoints: Insert/Remove, Depanare cu puncte de întrerupere a execuţiei
Comenzi specifice Enable/Disable, Disable All, Kill All (breakpoints) în codul sursă.
Debug regimului de simulare/ Show Next Statement Indică linia următoare de cod.
depanare Enable/Disable Trace Recording, View Validare/inhibare funcţie de înregistrare a execuţiei,
Trace Records vizualizare date înregistrate.
Memory Map Harta memoriei sistemului ţintă.
Performance Analyzer Analizorul de performanţă.
Inline Assembly Asamblare instrucţiuni.
Function editor (Open INI file) Editare funcţii de depanare.
Lucrul cu memoria Download, Erase Înscrie / şterge memoria FLASH
Flash
FLASH Configure Flash Tools Configurează utilitarele de acces la FLASH
Reset CPU Resetare microcontroler.
Periph- Periferice integrate Interrupt, I/O Ports, Serial, Timer, Controler de întreruperi, porturi I/E, interfaţă seriale,
erals simulate Watchdog, A/D Converter, D/A timere şi alte periferice specifice tipului de
Converter, I2C, CAN Controllers etc. microcontroler selectat.
PC-Lint: Setup, Lint, Lint All Source Configurare şi utilizare PC-Lint (Gimpel Software) -
Comenzi externe
Tools Files verificare automată cod sursă.
configurabile
Customize Tools Menu Configurarea altor programe utilitare externe
SVCS Interfaţă configurabilă pentru un sistem de control a versiunii curente (Software Version Control Systems)
Comenzi de manipulare Comenzi tipice de selectare, comutare, deplasare, redimensionare şi cascadare a ferestrelor pe
Window
ferestre ecran, care se întâlnesc în majoritatea aplicaţiilor Windows.
Acces la informaţii Comenzi tipice de documentare, căutare şi selectare a informaţiilor indexate, care se întâlnesc în
Help
despre Vision3 majoritatea aplicaţiilor Windows prevăzute cu un sistem de help.

Tab.1. Comenzile uzuale ale managerului de proiecte Keil Vision3

S-ar putea să vă placă și