Sunteți pe pagina 1din 8

SISTEME IN TIMP REAL Laborator 1

KEIL Vision4
Scopul laboratorului
Scopul acestui laborator este reprezentat de familiarizarea cu setul de unelte
KEIL Vision4 pentru dezvoltarea aplicaiilor software bazate pe microcontrolere,
crearea primei aplicaii software i depanarea aplicaiilor cu ajutorului simulatorului
integrat n Vision4.

1 Vision4
KEIL Vision41 este o platforma de dezvoltare software pentru microcontrole-
re care combin un editor robust i modern, cu un manager de proiect i un utilitar
pentru fiiere makefile2. KEIL Vision4 integreaz toate instrumentele necesare pen-
tru a dezvolta aplicaii integrate, inclusiv un compilator C/C++, un macro asamblor3,
un linker/locator i un generator de fiiere HEX4. Cu toate aceste faciliti, Vision
ajut la accelerarea procesului de dezvoltare a aplicaiilor embedded (ncorporate).
Vision4 IDE i Vision4 Debugger au numeroase caracteristici care ajut
programatori la dezvoltarea rapid i cu succes a aplicaiilor integrate pentru micro-
controlere. Instrumentele Keil sunt uor de utilizat v poate ajuta s atingei obiecti-
vele de proiectare ntr-un timp util.
Vision ofer dou moduri de lucru: Build Mode pentru crearea aplicaiilor i
Debug Mode pentru depanarea aplicaiilor. Aplicaiile pot fi depanate cu simulatorul
Vision integrat sau direct in hardware prin folosirea de adaptoare din familia Keil
ULINK USB-JTAG (cu aceste adaptoare se poate folosi facilitatea de Hardware
Debug oferit de majoritatea microcontrolerelor).
In cadrul acestui laborator vom lucra cu un microcontroler bazat pe arhitectura
ARM, din acest motiv vom lucra cu versiunea MDK-ARM5. Toate versiunile de KEIL
Vision4 sunt comerciale (o licen pentru MDK-ARM Standard Edition cost apro-
ximativ 3.885,00 ), dar se pot descrca versiunile demo care sunt limitate la mri-
mea executabilului generat (pentru MDK-ARM nu se pot genera aplicaii mai mari de
32KB, dar este suficient pentru aplicaiile care vor fi dezvoltate n cadrul acestui labo-
rator). Keil face parte din grupul de firme ARM care au definit arhitectura ARM pentru
microcontrolere. Din acest motiv, este de ateptat ca KEIL Vision4 s fie primul
mediul de dezvoltare pentru microcontrolere care s integreze cele mai noi faciliti
ale arhitecturii ARM.

1
www.keil.com
2
http://en.wikipedia.org/wiki/Make_(software)
3
http://en.wikipedia.org/wiki/Macro_assembler#Macros
4
http://en.wikipedia.org/wiki/Intel_HEX
5
https://www.keil.com/download/product/

1
SISTEME IN TIMP REAL Laborator 1

2 Crearea unui proiect


In aceast seciune sunt prezentai principalii pai pentru crearea primei apli-
caii cu KEIL Vision4. Pentru realizarea acestui lucru pornii KEIL Vision4 i selec-
tai din meniul Project opiunea New Vision Project(vezi Figura 1).

Figura 1. Crearea unui proiect nou

In continuare se va selecta locaia unde este salvat proiectul i denumirea pro-


iectului (vezi Figura 2). Este recomandat ca s se creeze un director unde va fi salvat
proiectul (n acest director se vor salva si fiierele surs ale proiectului).

Figura 2. Salvarea proiectului nou creat

Urmtorul pas este selectarea microcontrolerului pentru care va fi realizat


aplicaia. Din fereastra in care se selecteaz microcontrolerul (vezi Figura 3) se poate
observa numrul mare de microcontrolere cu arhitectur ARM suportate de KEIL
Vision4, din care vom alege STR912FW44 de la STMicroelectronics (folosim acest
microcontroler deoarece la laboratoare vom lucra cu kitul de dezvoltare MCBSTR96 ).

6
http://www.keil.com/mcbstr9/

2
SISTEME IN TIMP REAL Laborator 1

Din Figura 3 se poate observa la descriere i principalele caracteristici a microcontro-


lerului STR912FW44 (arhitectura, memoria i perifericele integrate pe microcontro-
ler).

Figura 3. Selectarea microcontrolerului

Dup selectarea microcontrolerului, proiectul este creat i suntem ntrebai da-


c dorim s integram fiierul STR91x.s n proiectul nostru (vezi Figura 4). Acest fiier
trebuie integrat deoarece el implementeaz rutina de tratare a ntreruperii de reset
(rutina care este apelat la alimentarea microcontrolerului sau la realizarea unei ope-
raii de reset). Aceast rutin fileaz memoria RAM cu 0, realizeaz iniializrile mi-
nimale a microcontrolerului (care sunt periferice folosite n aplicaie) i apeleaz ruti-
na main() care trebuie s fie implementat de programator. Tot in fiierul STR91x.s
sunt declarate i rutinele care vor fi apelate de vectorul de ntreruperi (fiecare ntre-
rupere va avea asociat o rutina care trebuie s fie implementat de programator in
cazul in care ntreruperea este activat/folosit de aplicaie).

Figura 4. Adugarea in proiect a codului de start-up

Acum structura proiectului nostru arat ca in Figura 5. Dac compilm proiec-


tul (vezi Figura 7) vom avea o eroare deoarece nu exist rutina main().

3
SISTEME IN TIMP REAL Laborator 1

Figura 5. Structura proiectului

Acum vom crea un fiier text in care l salvm sub denumirea de main.c si
vom aduga urmtorul cod:

#include <stdio.h>

int main(void)
{
while(1);

return 0;
}

Figura 6. Adugare de fiiere surs n proiect

4
SISTEME IN TIMP REAL Laborator 1

Dup salvarea fiierului main.c , trebuie s l adugm la proiect. Acest lucru


se realizeaz prin click dreapta pe grupul de surse in care il adugm i selectarea
opiunii Add Files to Group (vezi Figura 6).

Figura 7. Compilarea proiectului

Acum la compilarea proiectului nu mai avem nici o eroare (vezi Figura 7).

3 Simularea si depanarea unei aplicaii


n dezvoltarea unei aplicaii este foarte important s se poat realiza depana-
rea ei prin execuia pas cu pas. Aceast facilitate este furnizat i de KEIL Vision4
prin simularea execuiei pe microcontroler a aplicaiei. Pentru folosirea acestei facili-
ti trebuie s activm simulatorul. Acest lucru se realizeaz prin click dreapta pe
Target 1 i selectarea opiunii Options for Target Target 1 (vezi Figura 8). Din
fereastra afiat se selecteaz tabul Debug i se selecteaz butonul radio Use Si-
mulator (vezi Figura 9) . Din partea dreapt se poate selecta opiunea Use
Ulink2/ME Arm Debuger care permite depanarea direct pe hardware dar avem nevo-
ie de kitul de dezvoltare MCBSTR9 mpreuna cu interfaa USB-JTAG ULINK2. Cu
aceast facilitate vom lucra din laboratorul urmtor.

5
SISTEME IN TIMP REAL Laborator 1

Figura 8. Afiarea ferestrei cu opiuni a proiectului

Figura 9. Selectarea simulatorului integrat n Vision4 pentru depanarea aplicaiei

Acum din meniul Debug prin selectarea opiunii Start/Stop Debug Session
(vezi Figura 10) putem ncepe operaia de depanare a aplicaiei. Dup nceperea
acestei operaii aplicaia KEIL Vision4 va arta ca n Figura 11 prin afiarea valorii
stocate in regitri microcontrolerului i afiarea ferestrei in care sunt prezentate in-

6
SISTEME IN TIMP REAL Laborator 1

struciunile in assembler executate de microcontroler. Execuia pas cu pas poate fi


controlat cu ajutorul opiunilor din meniul Debug.

Figura 10. Pornirea/oprirea procesului de depanare a unei aplicaii

Figura 11. Vision4 n starea de depanare a unei aplicaii

7
SISTEME IN TIMP REAL Laborator 1

4 Desfurarea lucrrii
1. Realizai proiectul prezentat n seciunea 2.
2. Pornii procesul de depanare aa cum este prezentat n seciunea 3.
3. Deschidei proiectele din directorul c:\Keil\ARM\Boards\Keil\MCBSTR9\, anali-
zai codul surs i pornii procesul depanare aa cum este prezentat n seci-
unea 3.