Sei sulla pagina 1di 26

Diseo de Sistemas Empotrados

Grado en Ingeniera de Tecnologas de Telecomunicacin

Tutorial 1
Introduccin a Code Composer Studio
CURSO ACADMICO 2013/2014 V1.9

Dpto. Tecnologa lect!"n#ca Un#$e!%#&a& &e M'laga

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

()DIC
Introduccin..................................................................................................................................... Introduccin..................................................................................................................................... 1 Tutorial 1: Introduccin a Code Composer Studio........................................................................... Studio........................................................................... 2
1. Espacio de Trabajo. Generacin de Proyectos.......................................................................................2
Editar y salvar un ic!ero de cdi"o..................................................................................................................................................# $%adir y eliminar ic!eros de un proyecto.........................................................................................................................................& 'pciones de construccin del proyecto............................................................................................................................................( Cambiar el nombre de un proyecto...................................................................................................................................................) 'pciones de Proyecto: *so de unciones de librer+a ,$PIs-............................................................................................................) Construccin del cdi"o y trans erencia a la placa........................................................................................................................11

2. $spectos b.sicos de depuracin.......................................................................................................... 1#


Ejecucin / Suspensin / Paso a Paso / 0eanudacin................................................................................................................1# Puntos de 0uptura..........................................................................................................................................................................1# 1isuali2acin de 0e"istros3 1ariables3 E4presiones y 5emoria.....................................................................................................1& 6in de la depuracin........................................................................................................................................................................17

$p8ndice I: Problemas m.s recuentes......................................................................................... recuentes......................................................................................... 19 $p8ndice II: Instalacin b.sica CCSv&.&....................................................................................... CCSv&.&....................................................................................... 2: $p8ndice III: 5ejorando la Portabilidad......................................................................................... Portabilidad......................................................................................... 21 0e erencias................................................................................................................................... erencias................................................................................................................................... 2&

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin

I)TRODUCCI*) Este documento describe los conceptos bsicos necesarios para comenzar a utilizar el sistema de desarrollo disponible en la asignatura ;ise%o de Sistemas Empotrados. Dicho sistema se basa en el mane o de la plata!orma de desarrollo E<=T5#C12>G?@ "TI1$ @aunc!pad#$ de Te4as Instruments3 y el entorno de desarrollo % depuracin Code Composer Studio v& ,CCSv&-1. &as plata!ormas de desarrollo proporcionan algunos elementos 'tiles para implementar pe(ueos sistemas % aplicaciones basadas en las !amilia de microcontroladores Corte4=5 T5#C12>G2. Estas placas integran un sistema de depuracin on=c!ip ,IC;I3 In=Circuit ;ebu""er Inter ace- (ue permite su cone)in a un *+ mediante un cable de cone)in ,S-.mini,S-. &as caractersticas bsicas de esta placa as como su utilizacin para el desarrollo de aplicaciones se describen en el documento TI1$ C Series T5#C12> @aunc!pad Evaluation Aoard *serBs Guide$ disponible en la pgina de la asignatura del +ampus /irtual. &a aplicacin Code Composer Studio constitu%e un entorno integrado (ue proporciona una toolc!ain completa "Editor$ Ensamblador0+ompilador$ &in1ador$ % Depurador# para el desarrollo S2 de aplicaciones. +on esta aplicacin se puede desarrollar cdigo tanto en ensamblador como en + para la !amilia de microcontroladores Corte4=5$ as como trans!erirlo a cual(uier placa de desarrollo compatible$ para su posterior e ecucin %0o depuracin. De esta !orma$ la aplicacin Code Composer Studio permite controlar por completo el ciclo de desarrollo de cual(uier sistema basado en la !amilia de microcontroladores Corte4=5. &a documentacin del entorno es accesible on=line a tra34s de las opciones de $yuda en el propio men' principal de la aplicacin. &a aplicacin Code Composer Studio se e ecuta$ en un S5 2indo6s$ desde el men' 7Todos los Pro"ramas / Te4as Instrument / Code Composer Studio &.&.: / Code Composer Studio &.&.: 8 o mediante el icono de acceso rpido . &a placa Stellaris @aunc!pad se alimenta a partir del puerto ,S- del *+ con el cable ,S-.mini,S-. *ara poder realizar este tutorial$ debers descargar de la pgina 2E- de la asignatura$ el pro%ecto de e emplo Tutorial13 as como la librera StellarisCare. +rea una carpeta0usuario SistemasEmpotrados % 3e colocando % descomprimiendo all$ todos estos !icheros. En este tutorial se introduce el ciclo completo de utilizacin de la herramienta Code Composer Studio para crear un e%pac#o &e t!a+a,o$ editar$ compilar$ lin1ar$ trans!erir % depurar el programa de una aplicacin sencilla o p!o-ecto. programado en +$ al microcontrolador T5#C12>G presenta en la placa Stellaris @aunc!pad.

1 2

En este tutorial se emplear la versin 5.5 Windows. Otras versiones pueden incluir pequeas diferencias. A casi todos los efectos ambas placas micros son E!"#$A%E&'E() siendo '#$A una versin renovada de ('E* %%A+#(.

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

TUTORIA/ 10 I)TRODUCCI*) A COD COM1OS R STUDIO 1. Espacio de Trabajo. Generacin de Proyectos. 9.9 Inicia la aplicacin :+ode +omposer Studio;. Si es la primera 3ez (ue la e ecutas tras su instalacin$ te pedir (ue eli as una :opcin de licencia;< elige la opcin 60EE @ICEDSE>. &a aplicacin te preguntar cual es el e%pac#o &e t!a+a,o (ue deseas abrir. &a primera 3ez (ue uses la aplicacin debers crear un directorio$ el cual utilizars para el desarrollo de la asignatura. Se recomienda elegir un nombre signi!icati3o "por e emplo$ CorEspace@5#612: o CorEspaceFStellaris#. En este espacio de traba o se debern crear todos los pro%ectos necesarios para el desarrollo de las di!erentes aplicaciones= ser el (ue debers seleccionar cada 3ez (ue abras el programa.

-i%ura 1. Seleccin del espacio de tra/a0o

>ecuerda (ue esta m(uina puede ser usada por otros compaeros % podra ser un problema$ si seleccionases el espacio de traba o de otro grupo. *or este mismo moti3o$ ?,?+@ debes acti3ar la opcin G*se t!is as t!e de ault and do not asE a"ainH3 %a (ue entonces no te 3ol3era a preguntar nunca mas el espacio de traba o a utilizar A$ % probablemente acabarais traba ando 3arios grupos sobre un mismo espacio de traba oBB 9.2 +ierra la 3entana TI 0esource E4plorer$ con un clic1 en la C de la pestaa. @un(ue desde esta 3entana puedes hacer algunas de las cosas (ue necesitamos$ la ma%ora estn orientadas al micro DS*AEF$ por lo (ue no nos interesan demasiado. 9.E *ara crear un nue3o pro%ecto selecciona$ en la barra de men'$ la opcin 21!o,ect 3 )e4 CCS 1!o,ect5. En la 3entana (ue aparece$ indica<
, 0

(i se eli-e otro tipo de licencia por error) se puede volver a ele-ir con la opcion . 'elp( CodeComposerStudio )i( censin% In*ormation +p%rade )aunc, )icense Setup/. En caso de seleccionarla por error) se puede quitar la seleccin dentro del pro-rama en una opcin de confi-uracin del entorno.

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin un nombre para el pro%ecto en la opcin 21!o,ect na6e05$ por e emplo Tutorial1. De a marcada la opcin 2U%e De7a8lt locat#on5= de esta !orma tu pro%ecto se crear dentro de la carpeta de tu espacio de traba o$ en una carpeta con el mismo nombre (ue el pro%ecto. En la seccin de eleccin de dispositi3o$ 2De$#ce5$ de a la opcin $05 para 29a6#l-05= para seleccionar la 3ariante te ser mas sencillo escribir un !iltro con la sub!amilia del micro de la &aunchpad$ la TI1$= selecciona el micro TI/@ T5#C12>GI(P5 en la lista desplegable (ue obtendrs pinchando en el lado derecho "es el modelo (ue tiene la placa#. En la seccin de cone)in$ 2Connect#on05$ pincha en el desplegable % busca la opcin Stellaris In=Circuit ;ebu" Inter ace. ?o cambies el resto de opciones :2A&$ance& Sett#ng%5. 21!o,ect te6plate% an& e;a6ple%05#.

-i%ura 2. $eneracin 1 con*i%uracin de un nuevo pro1ecto

Ginalmente pulsa el botn 29#n#%<5$ en la es(uina in!erior derecha. @parecer un nue3o pro%ecto en la 3entana Project E4plorer$ % un nue3o !ichero main.c$ en la 3entana de Edicin. Si por error cierras la 3entana de pro%ectos$ Project E4plorer$"por e emplo$ pulsando la C de la pestaa#$ puedes 3ol3er a abrirla con la opcin de men'$ 2V#e4 3 1!o,ect ;plo!e!5. Esto mismo es 3lido para cual(uier otra 3entana del entorno de desarrollo.

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

Si seleccionas la opcin Empty Project en Project templates and e4amples$ se crear la misma estructura de pro%ecto$ pero sin !ichero main.c. En ese caso$ % para crear un !ichero de cdigo selecciona 29#le 3 )e4 3 So8!ce 9#le5 e indica el nombre del !ichero a crear "por e emplo$ :main.c;#. &#ta! - %al$a! 8n 7#c<e!o &e c"&#go 9.A Elimina el :es(ueleto; de cdigo (ue aparece en el !ichero main.c$ % copia en su lugar el (ue puedes 3er a continuacin< +digo !uente del pro%ecto :Tutorial1;<
// Version TIVA. Enciende de los sec %iva y con%in a, // en in%ervalos de 1 se& ndo 'incl de (s%din%.)* 'incl de (s%d+ool.)* 'incl de ,inc/)-.%y/es.), // 'incl de ,inc/)-.#e##a/.), // 'incl de ,driverli+/sysc%l.), // %e#a (2ys3%l) 'incl de ,driverli+/&/io.), // Pin...) LEDs rojo (PF1), verde (PF2) y az l (PF!) de "or#a con$

0ecesario /ara " nciones API en driverli+ E%i1 e%as de re&is%ros del #icro, /eri"ericos, ... De"inicion de " nciones y e%i1 e%as de con%rol del sis$ De"inicion de " nciones y e%i1 e%as de / er%o (4PI5$

in% #ain(void) 6 in% LED 7 28 // En +inario es 99999..919, es decir, :IT1 a 1 // 3on"i& ra reloj del sis%e#a a ;9<=z (PLL a 299<=z/>7;9<=z) 2ys3%l3loc?2e%(2@23TL.2@2DIV.>A2@23TL.B2E.PLLA2@23TL.CTAL.1D<=EA2@23TL.523.<AI0)8 // =a+ili%a P er%o F (LEDs) 2ys3%lPeri/)eralEna+le(2@23TL.PEFIP=.4PI5F)8// 3o#en%ar /ara /rod cir error Fa l%I2F // 3on"i& ra /ines PF1, PF2, y PF! co#o salidas (con%rol de LEDs) 4PI5PinTy/e4PI55 %/ %(4PI5.P5FTF.:A2E, 4PI5.PI0.1A4PI5.PI0.2A4PI5.PI0.!)8 -)ile(1) 6 // Enciende el LED indicado en la varia+le8 1er /ara#e%roG / er%o a"ec%ado // 2H /ara#e%roG +i%s a"ec%ados (#ascara)8 !er /ara#e%roG valor a volcar al / er$ %o // solo se #odi"icaran los +i%s indicados /or la #ascara) 4PI5PinIri%e(4PI5.P5FTF.:A2E, 4PI5.PI0.1A4PI5.PI0.2A4PI5.PI0.!, LED)8 // Fe%ardo /ara ver encendido el LED8 /ara#e%ro7 ,loo/s, (! ciclos /or ,loo/,) 2ys3%lDelay(1DDDDDDD)8 // %71DDDDDDDJ!/>9<=z7 1 se& (a/roK) // Enciende el si& ien%e LED (el del +i% 1 e es%a a con%in acion) i" (LED 77 L) 6LED 7 28M else 6LED 7 LEDJ28M M M

Si al copiar el cdigo$ la indentacin no es correcta$ puedes corregirla seleccionando la lnea o lneas incorrectas$ % pulsando +trlJI. Tras copiar el cdigo obser3ars (ue$ a la iz(uierda de las A primeras lneas aparece un interrogante. Esto indica un problema en el pro%ecto$ en este caso relati3o a (ue no se pueden encontrar los !icheros indicados por las directi3as 'incl de. /eremos como solucionar este problema ms adelante.

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin

-i%ura 3. #dicin del cdi%o *uente

9.H Sal3a los cambios hechos al !ichero main.c$ con el botn Save3 $del men' principal. En tu espacio de traba o se habr creado una carpeta con el nombre del pro%ecto$ Tutorial13 (ue inclu%e todos los !icheros (ue !orman parte del mismo. A=a&#! - el#6#na! 7#c<e!o% &e 8n p!o-ecto 9.I En la 3entana Project E4plorer$ pulsa en la !lecha (ue aparece a la iz(uierda del nombre del pro%ecto para 3er todos los archi3os (ue necesitamos para construir su e ecutable. *ara eliminar !icheros de un pro%ecto$ puedes seleccionar el !ichero en cuestin % pulsar el botn Supr de tu teclado= o bien escoger la opcin 2 &#t 3 Delete5 en el men' principal o en el menu conte)tual (ue aparece al pulsar el boton derecho en el !ichero. Tambi4n lo eliminars borrndolo de la carpeta de tu pro%ecto. *rueba a borrar el !ichero main.c$ (ue se haba creado por de!ecto$ de alguna de las maneras indicadas.

-i%ura . #liminar un *ic,ero al pro1ecto

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

9.J En caso de (ue se necesite aadir un archi3o !uente ms$ selecciona 21!o,ect 3 A&& 9#le%5$ % buscar el !ichero a aadir= seleccinalo$ % pulsa Acepta!. @parecer una nue3a 3entana donde te preguntar si deseas copiar el !ichero a tu pro%ecto o enlazarlo. Si seleccionas la primera opcin$ Cop- 9#le%$ el !ichero se copiar a la carpeta de tu pro%ecto % pasar a !ormar parte del mismo= si eliges enlazarlo$ se aadir el !ichero original. *rueba a aadir una copia del !ichero Tutorial1.c K suponemos (ue se ha borrado main.c K

-i%ura 2. 3"adir un *ic,ero al pro1ecto

5 puedes simplemente copiar el !ichero Tutorial1.c en la carpeta de tu pro%ecto= tambi4n se aadir a tu pro%ecto de esta manera. )ota0 @seg'rate de (ue tu pro%ecto inclu%e$ adems de tu !ichero de programa$ un !ichero de nombre 444FstartupFccs.c. Este !ichero es indispensable para el buen !uncionamiento de tu aplicacin. Si no se ha generado al crear el pro%ecto$ debers aadirlo manualmente. Opc#one% &e con%t!8cc#"n &el p!o-ecto 9.L @ continuacin$ debers seleccionar las opciones de construccin de tu pro%ecto. *ara ello$ aseg'rate primero de (ue lo tienes seleccionado pulsando con el botn iz(uierdo$ en la 3entana Project E4plorer$ encima de su nombre "le aparecer el indicador K$ctive / ;ebu"L#. Selecciona la opcin del men' principal 21!o,ect 3 1!ope!t#e%5. @parecer una 3entana de con!iguracin de propiedades del pro%ecto.

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin

-i%ura 4. 5pciones de construccin del pro1ecto

9.M &a con!iguracin del pro%ecto implica gran cantidad de opciones= de aremos la ma%ora de opciones por de!ecto e iremos indicando las (ue ha% (ue cambiar a medida (ue las 3a%amos necesitando. Se recomienda acti3ar siempre la opcin De+8g 3 Stella!#% 9/AS> Sett#ng% 3 Re%et ta!get &8!#ng p!og!a6 loa& to 9/AS> 6e6o!-$ para e3itar (ue cambios en la con!iguracin de un programa no tengan e!ecto a menos (ue se haga un reset en la placa.

-i%ura 6. 5pcin de 7#S#T en car%a de pro%rama

Tutorial 1 Introduccin a Code Composer Studio (v1.9) Ca6+#a! el no6+!e &e 8n p!o-ecto

Curso 2013/201

9.9F *ara cambiar el nombre de un pro%ecto$ seleccinalo en la 3entana Project E4plorer$ % pulsa G2$ o pulsa el botn derecho en dicha 3entana % selecciona la opcin Rena6e. &a carpeta del pro%ecto tambi4n cambiar al nue3o nombreH. ?IM1ORTA)T ? @l renombrar un pro%ecto alguna de las opciones del pro%ecto se establecen en sus con!iguracin por de!ecto$ por lo (ue ha% (ue tener cuidado % asegurarse de (ue la con!iguracin es la deseada "ha% (ue tener un cuidado especial con la opcin indicada en el punto 9.M$ %a (ue se &e%act#$a# Opc#one% &e 1!o-ecto0 U%o &e 78nc#one% &e l#+!e!a :A1I%@ 9.99 *ara hacer uso de las !unciones de librera proporcionadas por StellarisCare$ es necesario (ue el entorno sea capaz de reconocer % acceder a los !icheros de cdigo de librera %a pre. construidos$ o aadir su cdigo !uente a tu propio pro%ecto. Esto se puede con!igurar tambi4n en las 'pciones de Proyecto< ,na primera posibilidad pasa por utilizar las libreras precompiladas % los !icheros de cabecera proporcionados por Stellaris6are. a# *ara ello$ en primer lugar debes indicar correctamente la ruta de las cabeceras de de!inicin ,!icheros .!- de las !unciones de @*I utilizadas. Esto se indica con la opcin 2A8#l& 3 ARM Co6p#le! 3 Incl8&e Opt#on%5 $ aadiendo la nue3a ruta en la 3entana 2A&& &#! to B#ncl8&e %ea!c< pat<5 pulsando en A&&. . Se debe buscar$ mediante el botn 9#leS-%te6$ el directorio TivaMare$ aadiendo !inalmente la ruta mediante el botn OC. 5bser3a (ue la ruta indicada es la carpeta de la (ue cuelgan los directorios Ninc$ % Ndriverlib$ (ue son los (ue contienen las cabeceras de de!inicin de las !unciones de @*I.

-i%ura 8. 3"adir directorios de ca/eceras de 39I


5

Esta opcin puede ser interesante para crear varios pro1ectos distintos a partir del mismo pro1ecto de partida) me* diante la opcin .#mport 22( e3istin- Eclipse 4ro5ect/ que veremos ms adelante.

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin b# De !orma similar tenemos (ue indicar el directorio donde se encuentran las libreras (ue contienen el cdigo e ecutable de las !unciones de @*I. Esta opcin se encuentra en 2A8#l& 3 ARM /#nDe! 3 9#le Sea!c< 1at<5$ en la opcin superior$ 2Incl8&e l#+!a!- 7#le o! co66an& 7#le a% #np8t5 $ botn A&&. . &a librera a localizar se llama driverlib.lib$ % se encuentra$ desde el directorio raz TivaMare3 en driverlibNccsN;ebu"N. Si nos ol3idamos de incluir la librera$ el pro%ecto se compilar correctamente$ pero en la !ase de lin1ado aparecern errores del tipo error
'192!>$DG nresolved sy#+ols re#ain.

-i%ura 9. 3"adir *ic,eros de li/rerias de 39I

&a opcin anterior tiene el incon3eniente de (ue los pro%ectos resultantes no son portables a otro ordenador "por e emplo el de tu casa#$ a menos (ue los ordenadores sigan siempre la misma estructura de directorios. ,na alternati3a (ue asegura la portabilidad pasa por copiar el cdigo de las !unciones de @*I (ue se 3a%an a emplear a la carpeta del pro%ecto$ % compilar dichas !unciones unto con tu cdigo propio. Elimina las opciones de construccin de pro%ecto aadidas en el punto anterior para probar esta segunda opcin. *ara ello selecciona los elementos aadidos % usa el botn :Delete; . a# &as !unciones de @*I debern seguir la misma estructura de directorios indicada en las sentencias 'incl de de tu programa "si por e emplo$ tu programa necesita las !unciones de @*I de G*I5$ 'incl de Ndriverli+/&/io.)O$ debers crear una subcarpeta :driverlib; en tu carpeta de pro%ecto % copiar all los !icheros "pio.c$ "pio.! % todos los (ue dependan de estos#. *ara simpli!icar puedes copiar las carpetas Ninc % Ndriverlib completas desde el directorio TivaMare a tu carpeta de pro%ecto= sin embargo esto aumentar el tiempo de compilacin de tu cdigo % el tamao !inal de tu pro%ectoB En este e emplo hemos preparado unas carpetas Ninc % Ndriverlib inclu%endo unicamente los recursos necesarios$ en el !ichero comprimido Tutorial1.2ipO copia estas carpetas en lugar de las anteriores$ para este pro%ecto en particular.

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

b# @dems$ debers aadir la ruta a estas carpetas tu propio pro%ecto en la con!iguracin 2A8#l& 3 ARM Co6p#le! 3 Incl8&e Opt#on%5 "3er paso :a-H de la opcin anterior#$ escogiendo la opcin Eo!D%pace en este caso$ % seleccionando la carpeta de tu pro%ecto "Tutorial1-. @parecer con la ruta NPQCorEspaceFloc:NPQProjDameRRN.

-i%ura 10. Inclusin de la carpeta de pro1ecto en la ruta de directorios

c# En la opcin 2A8#l& 3 ARM Co6p#le! 3 A&$ance& Opt#on% 3 1!e&e7#ne& S-6+ol%5 $ incluir en la 3entana Pre=de ine D$5E "opcin A&&. #$ un nue3o smbolo$ ccsSHccsH. Esto es necesario para (ue el compilador entienda determinadas con3enciones propias de +ode +omposer Studio$ (ue aparecen en el cdigo de las carpetas (ue acabas de aadir.

-i%ura 11. S&m/olos prede*inidos para compilacin

9F

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin d# >epite el paso c# para aadir un nue3o smbolo P$0TFT5#C12>GI(P5. Este smbolo permite identi!icar el modelo de procesador (ue ests empleando de manera (ue se compilen 'nicamente las !uncionalidades asociadas al mismo en el cdigo de la @*I. e# *or 'ltimo$ % para (ue ciertas libreras de la @*I se puedan construir$ es necesario habilitar la opcin 2A8#l& 3 ARM Co6p#le! 3 A&$ance& Opt#on% 3 /ang8age opt#on% 3 na+le %8ppo!t 7o! FCC e;ten%#on%5.

-i%ura 12. 'a/ilitacin de soporte de e:tensiones %cc

+omo 3enta a adicional de este segundo m4todo$ tendrs la posibilidad de depurar el cdigo de e ecucin de las !unciones de librera$ algo (ue no podrs hacer con la primera opcin. En el @p4ndice III de este documento indicamos un tercer m4todo para conseguir construir pro%ectos portables de menor tamao$ pero con peores capacidades de depuracin. &a eleccin de uno u otro m4todo depender de las necesidades del programador en cada momento. Con%t!8cc#"n &el c"&#go - t!an%7e!enc#a a la placa 9.92 @seg'rate de (ue el pro%ecto Tutorial1 es el pro%ecto acti3o$ seleccionndolo por su nombre con el botn iz(uierdo en la 3entana Project E4plorer. *ara construir el pro%ecto selecciona la opcin 21!o,ect 3 A8#l& 1!o,ect5. . @parecern dos nue3as 3entanas Console % Problems.

En la 3entana Console se muestran los mensa es generados durante el proceso de construccin$ indicando las operaciones intermedias realizadas por la toolchain$ % el resultado de las mismas. Tambi4n se inclu%en los mensa es de error del proceso. *or otro lado$ la 3entana Problems$ muestra los problemas (ue se han encontrado durante la construccin de la aplicacin "si es (ue ha habido alguno#. 99

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

9.9E /amos a generar un error a propsito en el cdigo. *or e emplo$ (uita el :=; al !inal de la primera instruccin del cdigo$
int LED 7 2$ % 3uel3e a construir el pro%ecto. En la

3entana Console aparecer mensa es indicando (ue se han producido errores en el proceso de construccin. En la 3entana Problems aparecen$ detallados$ todos los errores (ue se han detectado en el proceso de compilacin. Seleccionando un error en particular en esta 3entana$ se seleccionar automticamente la lnea de cdigo !uente donde se encuentra el error. @dems$ en la 3entana del pro%ecto aparecern marcados con una C ro a a(uellos !icheros donde se ha%an detectado errores.

-i%ura 13. Se"ali;acin de #rrores en el pro1ecto

9.9A +orrige el error (ue hemos introducido en el punto anterior$ % 3uel3e a construir el e ecutable. @ continuacin$ 3amos a trans!erirlo a la placa para iniciar una sesin de depuracin. *ara ello$ conecta la placa TI1$ @aunc!pad al ordenador$ mediante el cable ,S-.mini,S-$ en el puerto ,S- de la placa rotulado como ;EA*G. @s mismo$ mue3e el interruptor PM0 SE@ECT a la posicin ;EA*G. T @a primera ve2 Uue conectes la placa deber.s esperar unos minutos a Uue se instalen sus drivers 9.9H Selecciona la opcin del men' principal 2R8n 3 De+8g5 $ G99$ o . Si la operacin no se realiza correctamente "por e emplo$ la placa no est bien conectada# se indicar mediante una 3entana con un mensa e de error. Si la carga del e ecutable es correcta$ el sistema entra en modo depuracin % se produce un cambio del entorno de 3entanas a una 92

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin

-i%ura 1 . Cone:in )aunc,pad (( 9C para depuracin 1 car%a de pro%ramas

perspectiva( de depuracin ,ttulo de la 3entana pasa a GCCS ;ebu"H-. En cual(uier momento se puede 3ol3er a la perspectiva de edicin "titulo de 3entana$CCS Edit#$ mediante el icono de men' 'pen Perspective$ $o pulsando en el nombre de la perspecti3a deseada

-i%ura 12. !epuracin 1 car%a del cdi%o. 9erspectiva de depuracin

9.9I *ara e ecutar el cdigo$ selecciona la opcin 2R8n 3 Re%86e5$ GL$ o pulsa en el icono . En la 3entana ;ebu" aparecer$ deba o del nombre del pro%ecto$ el nombre del dri3er de depuracin (ue estamos utilizando "Stellaris In=circuit ;ebu""er Inter aceNCorte4F5#F: #$ % el estado de !uncionamiento de la placa "0unnin"-. Debers obser3ar (ue el &ED >G- de la placa empieza a cambiar alternando entre los colores ro o$ azul$ % 3erde.
6

"na perspectiva re7ne el con5unto de ventanas ms adecuadas para la fase de desarrollo de la aplicacin que se est8 reali9ando. 22( ofrece 2 perspectivas por defecto: CCS #dit) orientada a tareas de Edicin 1 2onfi-uracin del pro1ecto; 1 CCS !e/u%) orientada a tareas de depuracin 1 e5ecucin controlada. Es posible crear perspectivas de usuario que re7nan 7nicamente las ventanas decididas por el propio usuario.

9E

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

-i%ura 14. 3plicacin e0ecut>ndose en modo depuracin

2. Aspectos bsicos de depuracin ,ec8c#"n 3 S8%pen%#"n 3 1a%o a 1a%o 3 Rean8&ac#"n 2.9 *odemos detener$ momentneamente$ la e ecucin del programa$ mediante la opcin de men' 2R8n 3 S8%pen&5$ @ltOGL$ o pulsando el icono . El mensa e de la 3entana ;ebu" cambiar a Suspended= % aparece la erar(ua de !unciones a la (ue pertenece la instruccin en curso en el momento de la suspensin. Si el cdigo !uente (ue inclu%e la instruccin est disponible$ aparecer en pantalla con el cursor detenido sobre la instruccinJ. % el programa se detendr "el &ED de a de parpadear en la placa#. 2.2 ,na 3ez te encuentres en una instruccin + del cdigo main.c$ presiona GI$ o el icono $ para e ecutar una sola instruccin completa " Step 'ver#. *resiona 3arias 3eces GI$ para ir 3iendo como se e ecutan todas las instrucciones del programa "en un bucle in!inito#$ % (ue e!ectos tiene la e ecucin sobre la placa. *uedes reanudar "GL# % detener la e ecucin "@ltOGL#$ tantas 3eces como (uieras. De a al programa suspendido por ahora. 2.E *uedes reiniciar el cdigo % e ecutarlo desde su primera instruccin con 2R8n 3 Re%ta!t5$ 18nto% &e R8pt8!a 2.A *ara aadir un punto de ruptura en una instruccin del cdigo$ selecciona la instruccin % haz doble.clic1 con el botn iz(uierdo en la columna azul$ a la iz(uierda del n'mero de la instruccin. @parecer un smbolo . *rueba a poner un punto de ruptura en la lnea 2$ en la instruccin GPIOPinWrite(4PI5.P5FTF.:A2E, 4PI5.PI0.1A4PI5.PI0.2A4PI5.PI0.!,
LED)8. @hora presiona GL "0esume-$ % el programa se detendr en el punto de ruptura. Si

e ecutas esa instruccin$ pulsando GI$ 3ers (ue produce un cambio de color en el &ED.

2.H *ara borrar un punto de ruptura$ seleccinalo con el puntero % pulsa dos 3eces el botn iz(uierdo sobre 4l. /uel3e a colocarlo de nue3o$ %a (ue lo necesitaremos en el siguiente apartado.

<

(i se estaba e5ecutando una llamada a una funcin de librer=a precompilada) aparecer el mensa5e .&o source avai * lable/) pero dar la opcin de ver las instrucciones en ensamblador mediante el botn <ie= !isassem/l1. (i te ocu* rre esto pulsa >< para ir a la si-uiente instruccin de cdi-o fuente disponible.

9A

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin

-i%ura 16. Comandos 7esume? Suspend? 1 Step 5ver. 9untos de ruptura

V#%8al#Gac#"n &e Reg#%t!o%. Va!#a+le%. ;p!e%#one% - Me6o!#a 2.I @ continuacin indicaremos como 3isualizar el estado de los di!erentes registros de con!iguracin del micro$ as como del contenido de la memoria$ % del estado % 3alores de las 3ariables % e)presiones de!inidas en el programa. 2.J @bre "si a'n no est abierta# la 3entana de 3isualizacin de registros$ mediante el comando de men'$ 2E#n&o4 3 S<o4 V#e4 3 Reg#%te!%5 . El microcontrolador posee cientos de registros$ por lo (ue la 3entana de registros se organiza mostrando$ en primer lugar$ los mdulos % peri!4ricos e)istentes. -usca$ ba o la columna Dame$ el mdulo del puerto G$ GPI'FP'0T6= a%'date de la barra de desplazamiento de la derecha si es necesario. ,na 3ez encontrado$ selecciona el mdulo$ % abre sus registros pulsando en la !lecha a la iz(uierda del nombre. 5bser3a como el contenido del registro GPI'F;$T$3 cambia cada 3ez (ue el programa se detiene en el punto de ruptura (ue colocaste antes. Tambi4n puedes cambiar el contenido del registro pulsando en su 3alor$ % escribiendo un 3alor nue3o L. Si entre dos suspensiones de un programa se ha producido un cambio en el registro$ esto se 3er re!le ado por su campo 3alor con un !ondo amarillo. 2.L @bre ahora la 3entana de 3isualizacin de memoria con la opcin de men'$ 2V#e4 3 Me6o!A!o4%e!5. &a 3entana permanece 3aca hasta (ue escribas en la ca a una direccin de memoria. Escribe$ por e emplo$ la direccin F)AFF2HEG+$ % pulsa Enter o selecciona el botn Go en la 3entana. @parecer el rango de memoria a partir de esa direccin$ indicando el contenido de cada una de ellas. *uedes seleccionar el modo de 3isualizacin mediante el men' desplegable usto encima de la 3entana de 3isualizacin. Selecciona ) Ait Ainary.

Esto solo funcionar en determinados re-istros con los permisos adecuados.

9H

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

-i%ura 18. <entana de visuali;acin de 7e%istros

2.M Escribe ahora la direccin F)2FFFFAIF$ (ue se corresponde con la 3ariable @E;. En el programa cambiamos esta 3ariable % la 3olcamos al registro GPI'F;$T$ del puerto G. &os bits 9$ 2$ % E$ del b%te de este registro estn conectados al &ED >G-$ para iluminar$ respecti3amente$ los colores 3erde$ ro o$ % azul. *uedes obser3ar como cambia el bit "% el color# acti3o$ reanudando la e ecucin hasta el punto de ruptura. 5bser3a tambi4n como las zonas de memoria cambiadas aparecen en ro o$ en la 3entana 1ieC 5emory.

-i%ura 19. <entana de <isuali;acin de memoria

9I

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin 2.9F Si (uieres 3isualizar (ue ocurre en 3arias posiciones de memoria distintas$ puedes abrir mas pestaas de 3isualizacin de memoria mediante el botn DeC Tab. +ada pestaa conser3ar el rango de direcciones indicado en la ca a. 2.99 @bre la 3entana de 3isualizacin de 3ariables con la opcin de men' 2V#e4 3 Va!#a+le%5. Esta 3entana permite 3er el 3alor de las 3ariables de!inidas por el usuario en el programa$ por e emplo$ la 3ariable LED. &as 3ariables se inclu%en automticamente$ siempre (ue se encuentren en el :alcance; de la !uncin actual "por e emplo$ la 3ariable LED no aparecer si al suspender el programa nos encontramos e ecutando una !uncin de librera#. Es posible cambiar su 3alor de la misma manera (ue con los registros. 2.92 *or 'ltimo$ abre la 3entana de 3isualizacin de e)presiones con 2V#e4 3 ;p!e%#on%5. Esta 3entana nos permite indicar e)plcitamente las 3ariables o e)presiones (ue (ueremos 3isualizar. *ara aadir una$ se debe pulsar en $dd neC e4pression$ % teclear su nombre. 2.9F @dems$ en cual(uiera de las 3entanas indicadas e)iste la posibilidad de 3er los cambios en el estado de 3ariables$ registros$ % memoria$ en tiempo de e ecucin. *ara ello$ e)iste en cada 3entana un botn Continuos re res! 3(ue$ cuando se selecciona$ permite este comportamiento. Elimina los puntos de ruptura del programa M$ seleccin el re!resco continuo en alguna de las 3entanas anteriores % obser3a como cambian los 3alores.

-i%ura 20. <entanas de <isuali;acin de varia/les 1 e:presiones

9#n &e la &ep8!ac#"n 2.99 *ara !inalizar la sesin de depuracin$ selecciona 2R8n 3 Te!6#nate5$ +trlOG2$ o pulsa en el icono
@

. Se 3ol3er a la perpecti3a CCS Edit.

4uedes eliminar 'OAO( los puntos de ruptura de una ve9 con [Run Remove All Breakpoints]

9J

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

2.92 Ginalmente$ puedes cerrar el pro%ecto pulsando el botn derecho sobre su nombre$ en la 3entana Project E4plorer % seleccionando Close Project en el men' conte)tual (ue aparece. El icono de carpeta (ue acompaa al pro%ecto cambiar al de una carpeta cerrada$ $% %a no se podr interactuar con el pro%ecto hasta abrirlo nue3amente.9F

-i%ura 21. 3plicacin e0ecut>ndose en modo depuracin

1B

El pro1ecto se puede abrir nuevamente a trav8s del men7 conte3tual) con la opcin 5pen 9ro0ect.

9L

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin

A1)DIC I0 1ROA/ MAS MHS 9R CU )T S *ese a seguir las instrucciones indicadas en esta gua$ es mu% posible (ue sur an algunos problemas o errores (ue pueden obstaculizar la realizacin del tutorial. @ continuacin se indican los sntomas de algunos de los errores ms comunes % sus posible soluciones< )o %e enc8ent!an lo% 7#c<e!o% B#ncl8&e :could not open source file...@. ?o se han aadido correctamente las rutas " pat!- de los (ue cuelgan los directorios$ en la con!iguracin del pro%ecto. /er apartado 9.99. Ten en cuenta (ue si el parmetro P include es de la !orma Vinclude GNdirectorioN ic!eroH$ la ruta debe ser la carpeta (ue contenga a directorio. !!o! connect#ng to t<e ta!get0 9!eI8enc- #% o8t o7 !ange. Indica (ue ha% problemas de cone)in con la placa &aunchpad. *osibles soluciones< @segurarse de (ue el cable ,S-0mini,S- est bien conectado en ambos e)tremos. @segurarse de (ue el cable mini,S- est conectado a la placa a tra34s del puerto ,Srotulado DE-,G. @s mismo$ el interruptor *2> SE&E+T debe estar en la posicin DE-,G. *uede e)istir un problema de instalacin de dri3ers. +onsulta con los pro!esores o con la gua de instalacin de +ode +omposer Studio.

De%apa!ecen lo% #cono% &e e,ec8c#"n/&ep8!ac#"n &e p!og!a6a% en la $#%ta De+8g. *ulsa 2V#e4 3 De+8g5 en el men' principal. Co&e Co6po%e! no te p!eg8nta el &#!ecto!#o &e t!a+a,o :4o!D%pace@ al a!!anca!. l ento!no co6#enGa en 8n &#!ecto!#o &e t!a+a,o &#%t#nto al t8-o. +ambia de espacio de traba o con 29#le 3 S4#tc< Eo!D%pace5 % busca la carpeta de tu espacio de traba o. *ara e3itar tener (ue hacer esto en cada arran(ue$ % obligar a ++S a (ue pregunte de nue3o el directorio de traba o al arrancar$ busca 2E#n&o4 3 1!e7e!ence% 3 Fene!al Sta!t8p an& S<8t&o4n Eo!D%pace%5 % acti3a la opcin 1!o6pt 7o! 4o!D%pace on %ta!t8p.

9M

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

A1)DIC II0 I)STA/ACI*) AHSICA CCSVJ.J &as siguientes instrucciones se re!ieren a la instalacin de +ode +omposer Studio3H.H sobre un sistema operati3o 2indo6sJ de IAbits. +ambios en las condiciones de instalacin pueden suponer la necesidad de pasos adicionales$ o ligeros cambios en las instrucciones indicadas. 9. Descarga el instalador de ++S3H.H desde a(u99. Se recomienda escoger la opcin :2eb Installer;. )ota0 po&!'% encont!a! ta6+#Kn el #n%tala&o! en la p'g#na E A &e la a%#gnat8!a. 2. E ecutar el !ichero ccsQsetupQH.H.F.FFFJJ.e)e con pri3ilegios de administrador. E. De ar el directorio de instalacin por de!ecto. En la opcin Setup Type$ elegir la opcin Custom. En la siguiente 3entana$ soporte al procesador$ elegir los procesadores con los (ue se 3a%a a traba ar "en esta asignatura harn !alta$ al menos$ los Stellaris Corte4=5 5C*s$ los $m44 Corte4=$ and $059#. A. En la seleccin de componentes puedes de ar las opciones por de!ecto$ aun(ue las opciones C(EW6lo$ 5SP#>:Mare$ Grace3 y SXSNAI'S v($ tampoco nos sern necesarias para las asignatura. En la siguiente 3entana$ Emuladores$ )O hace !alta seleccionar los AlacE!aCE Emulators$ los Spectrum ;i"ital Emulators3 ni los ?;S1::. H. De ar (ue las instalacin !inalice. I. @ continuacin$ reinicia el sistema. &a primera 3ez (ue arran(ues ++S3H$ te pedir (ue eli as un tipo de &icencia. Debes elegir la : 6ree @icense;$ %a (ue la Stellaris &aunchpad no tienen ning'n tipo de limitacin con esta licencia$ al utilizar un depurador in=circuit.

99http<00processors.6i1i.ti.com0inde).php0Do6nloadQ++S

2F

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin

A1)DIC III0 M LORA)DO /A 1ORTAAI/IDAD En un apartado de este tutorial hemos 3isto t4cnicas (ue nos permiten me orar la portabilidad de los pro%ectos con los (ue traba amos$ con las 3enta as (ue esto supone. ?o obstante$ la t4cnica empleada$ basada en copiar en cada nue3o pro%ecto los !icheros de librera @*I necesarios$ aumenta de manera e)cesi3a el tamao de los di!erentes pro%ectos$ algo (ue sera deseable e3itar. Ra% (ue tener en cuenta (ue las libreras de @*I S5? &@S DISD@S para todos los pro%ectos por lo (ue debera bastar una 'nica copia accesible a todos mediante enlaces$ e incluso sera posible utilizar libreras precompiladas$ tal como 3imos en la opcin 9 del apartado correspondiente. *ara e3itar los problemas deri3ados de la instalacin de libreras %0o la aplicacacin ++S3H.H en rutas di!erentes en distintos ordenadores$ nos podemos apo%ar en un mecanismo de de!inicin de 3ariables de ruta % de construccin de pro%ecto. 9. /uel3e a cargar el :Tutorial9; con el (ue hemos traba ado en esta gua. Elimina los directorios :Ninc; % :Ndriverlib; del pro%ecto. En las opciones de pro%ecto$ elimina las rutas aadidas en el punto 9.99 para poder encontrar los !icheros de @*I. 2. +rea un !ichero :vars.ini; % gurdalo en el directorio de tu espacio de traba o. @ade a dicho !ichero la lnea< TI1$M$0EFIDST$@@ S Yruta=de=carpeta=TI1$M$0EZ donde Yruta=de=carpeta=TI1$M$0EZ representa la ruta donde has instalado la carpeta TI1$M$0E en el *+ "en el laboratorio estar en C:[*sers[SE= GTT[TI1$[TivaMareFCFSeries=2.:.1.11&77# E. En el men' de ++S3H.H selecciona 29#le 3 I6po!t5 %$ dentro de la 3entana$ 2Co&e Co6po%e! St8&#o 3 A8#l& Va!#a+le%5= pulsa el botn :De4t;$ % busca el !ichero :vars.iniH3 (ue has creado en el paso anterior. Seleccionalo % pulsa G6inis!H. A. @hora 3amos a indicar (ue la eti(ueta TI1$M$0EFIDST$@@$ representa la ruta de b's(ueda de los !icheros de cabecera de de!inicin % de las librera de @*I precompilada$ creando unas variables de ruta % de construccin de proyectos$ pero a ni3el de espacio de traba o. Esto signi!icar (ue$ todos los pro%ectos nue3os (ue crees en este espacio de traba o tendrn acceso a esas 3ariables. H. @bre de nue3o las propiedades del pro%ecto$ % selecciona 2Re%o8!ce% 3 /#nDe& Re%o8!ce%5. 5bser3a (ue debe aparecer una 3ariable TI1$M$0EFIDST$@@$ con la ruta indicada en :vars.ini;. I. >epite los pasos (ue hiciste en el punto 9.99 de este tutorial$ en la propiedad $05 Compiler$ pero escribe el nombre STTI1$M$0EFIDST$@@R en la opcin :Include 'ptions;. J. >especto al !ichero de librera precompilado$ 3amos a aadir un enlace al mismo. Selecciona el pro%ecto :Tutorial1; en la 3entana de pro%ectos$ % pulsa en 21!o,ect 3 A&& 9#le%5. ?a3ega hasta el !ichero driverlib.lib$ (ue se encuentra dentro de la carpeta TI1$Mare en :YTI1$MareZ[driverlib[CCS[debu";$ % seleccionalo. En la 3entana (ue se abre selecciona ahora la opcin @inE to 6iles$ % cambia la ruta relati3a desde 29

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

-i%ura 22. 3"adiendo la varia/le de ruta de TI<3@37# al espacio de tra/a0o

P0'\ECTF@'C a TI1$M$0EFIDST$@@. *rueba a compilar de nue3o el pro%ecto= obser3ars (ue la compilacin es D,+R5 ms rpida. @dems$ tu pro%ecto :pesar; menos al no incluir los !icheros de libreras.

-i%ura 23. 3"adiendo un enlace a a li/rer&a precompilada

L. &os pasos I % J los tendrs (ue repetir para cada nue3o pro%ecto (ue generes. &a 3enta a de este m4todo es (ue$ si te lle3as el pro%ecto a otro ordenador$ % en el mismo has instalado TI/@2@>E en otra ruta0disco duro$ bastar con actualizar Gvars.iniH en el nue3o 22

!ise"o de Sistemas #mpotrados $rado en In%enier&a de Tecnolo%&as de Telecomunicacin ordenador a la ruta correspondiente e importar dicho !ichero una 'nica 3ez en ese nue3o ordenador. @ partir de entonces los pro%ectos (ue utilices en ambos ordenadores sern compatibles$ aun(ue TI/@2@>E est4 instalado en distintas rutas en ambos. M. &a principal &e%$enta,a de este m4todo es (ue no podrs acceder al cdigo !uente de las !unciones de @*I$ al utilizar 3ersiones precompiladas. Esto signi!ica (ue no podrs consultar su de!inicin$ uso$ % opciones desde dentro del entorno de programacin$ teniendo (ue acudir a la documentacin del !abricante.

2E

Tutorial 1 Introduccin a Code Composer Studio (v1.9)

Curso 2013/201

R 9 R )CIAS 798 Gettin" Started Cit! t!e Stellaris E<=@5#612:?@ @aunc!Pad MorEs!op MorEAooE. Septiembre 2F92$ re3isado Diciembre 2F92$ Te)as Instruments. 728 Tutorial 5SP#>:. @aboratorio de ;ise%o de Sistemas ;i"itales $ +urso 2F9902F92$ Eduardo *erez >odriguez$ DTE. 7E8 +ode +omposer Studio IDE 3H.) 2i1i$ en http:NNprocessors.CiEi.ti.comNinde4.p!pNCate"ory:CodeFComposerFStudioFv&$ Enero 2F9A$ Te)as Instruments.

2A

Potrebbero piacerti anche