U ilizando A duino Due en la docencia de la en ada/salida
Se gio Ba achina Mi , Ge mán Fab ega Llueca, José Vicen e Ma í A ilés
Dp o. de Ingenie ía y Ciencia de los Compu ado es
Uni e si a Jaume I
Cas ellón
{ba achi, ab ega , ma i}@uji.es
Resumen
La p oblemá ica de la en ada/salida y su ges ión suele
o ma pa e de las asigna u as de in oducción a la a -
qui ec u a de compu ado es. La p opia na u aleza del
ema y su di e sidad hace que las sesiones p ác icas
se lle en a cabo habi ualmen e, bien sob e disposi i os
especí icos sencillos, bien sob e simulado es, lo que
las aleja de los disposi i os eales y les es a is osi-
dad.
Sin emba go, es posible u iliza disposi i os ac uales y
sencillos, como las a je as A duino, pa a p esen a a
los es udian es una isión más eal y a ac i a de la en-
ada/salida, man eniendo a su ez la sencillez de uso
de los en o nos y sis emas empleados, lo que conside-
amos p io i a io en los p ime os cu sos de g ado.
En nues o caso, pues o que ac ualmen e undamen a-
mos nues a docencia en a qui ec u a de compu ado es
sob e la a qui ec u a ARM, hemos op ado po el mode-
lo A duino Due, que dispone de un mic ocon olado ,
el ATSAM3X8E, que implemen a la e sión Co ex-
M3 de la a qui ec u a ARM.
Pa a pode ealiza las p ác icas de en ada/salida he-
mos modi icado lige amen e el en o no A duino pa a
pode inclui p og amas en ensamblado , y hemos di-
señado una pequeña a je a con un led RGB y un pulsa-
do , lo que ha pe mi ido p opone eje cicios sencillos
pe o is osos. Los p opios disposi i os del mic ocon-
olado de la A duino DUE han bas ado pa a aba ca
o os aspec os de la en ada/salida y p esen a ejemplos
de mayo complejidad pa a incen i a a los es udian es.
La p ime a expe iencia con es e en o no ha sido sa is-
ac o ia an o pa a el p o eso ado de las asigna u as en
las que se ha u ilizado como pa a los es udian es, en
quienes además se ha omen ado el in e és en con i-
nua abajando con las a je as A duino en sus p opios
p oyec os.
Abs ac
The inpu /ou pu (I/O) and i s managemen is o en pa
o he in oduc o y cou ses o compu e a chi ec u e.
The e y na u e o his opic and i s di e si y makes
ha he p ac ice sessions o en ake place ei he on sim-
ple speci ic de ices, o on simula o s, which hide he
complexi y o ac ual I/O de ices and sub ac s hei ap-
pealing.
Howe e , i is possible o use oday exis ing and sim-
ple de ices such as A duino boa ds o in oduce s u-
den s o a mo e ealis ic and a ac i e ision o he I/O,
while main aining he ease o use o he equi ed en i-
onmen s and sys ems, which we conside a p io i y on
i s deg ee cou ses.
In ou case, since cu en ly we base ou eaching on
compu e a chi ec u e on he ARM a chi ec u e, we
ha e op ed o he A duino Due model, which has a
mic ocon olle , ATSAM3X8E, which implemen s he
Co ex-M3 e sion o he ARM A chi ec u e.
To ca y ou he labo a o y sessions on I/O we ha e
sligh ly modi ied he A duino IDE in o de o accep
assembly sou ce code. In addi ion, we ha e designed
and buil a small boa d wi h an RGB led and a swi ch,
which allowed us o p opose simple bu colou ul exe -
cises. The buil -in I/O included in he ARM con olle
o he A duino DUE boa d ha e p o ed enough o ex-
plo e o he impo an aspec s o I/O as well as o o e
mo e complex examples o incen i a e he s uden s on
he subjec .
The i s expe ience wi h his en i onmen has been
sa is ac o y o bo h eache s and s uden s, who also
ha e os e ed in e es in con inuing o wo k wi h A -
duino ca ds in hei own p ojec s.
Palab as cla e
A qui ec u a de Compu ado es, En ada/Salida, A -
duino Due, ARM, Thumb, Ensamblado .
Ac as de las XXI Jo nadas de la Enseñanza
Uni e si a ia de la In o má ica
Ando a La Vella, del 8 al 10 de julio 2015
ISBN: 978-99920-70-10-9
58
1. Mo i ación
Suele se habi ual que los cu sos de a qui ec u a
de compu ado es cambien pe iódicamen e sus con e-
nidos pa a así pode segui el paso a la espec acu-
la e olución de la a qui ec u a de los compu ado es.
Po o o lado, la mayo ía de los cu sos de a qui ec u a
de compu ado es ecu en no malmen e a un ha dwa e
de e minado pa a explica los concep os elacionados
con la ma e ia [7].
En 2013 omamos la decisión de modi ica la a -
qui ec u a de e e encia de las asigna u as elaciona-
das con la ma e ia de A qui ec u a de Compu ado es.
Decidimos cambia de la a qui ec u a MIPS a la ARM.
La a qui ec u a ARM p esen a muchas ca ac e ís i-
cas que la dis inguen de o as a qui ec u as con empo-
áneas y, po o o lado, al es a basada en RISC, es ela-
i amen e sencilla [5]. Además, el hecho de que ARM
sea una a qui ec u a ac ual y ampliamen e di undida,
especialmen e en disposi i os mó iles, sma phones y
able s, es un ac o especialmen e mo i ado pa a los
es udian es [6].
Una ez omada la decisión de cambia a la a qui-
ec u a ARM, se inició un p oceso de ede inición de
las guías docen es y de los ma e iales u ilizados en la
enseñanza an o eó ica como p ác ica de las dis in as
asigna u as elacionadas con la ma e ia de A qui ec u-
a de Compu ado es.
En conc e o, en la asigna u a Es uc u a de Compu-
ado es, de p ime cu so, p ime semes e, uno de los
obje i os ue el de ede ini la docencia an o eó ica
como p ác ica de la pa e co espondien e a la ges ión
de la en ada/salida.
Has a ese momen o, en las p ác icas de dicha asig-
na u a [2] se u ilizaba el simulado Q Spim1, an es
llamado xspim en su e sión pa a GNU/Linux. El si-
mulado xspim nos pa ecía un en o no adecuado pa a
las p ác icas de en ada/salida de la asigna u a debido
a que dicho simulado inco po a un pequeño p og a-
ma moni o (cuyo código uen e es á disponible y pue-
de se adap ado) y simula un conjun o de disposi i os
de en ada/salida: eclado, pan alla y eloj, que pueden
sinc oniza se po consul a de es ado o po in e upcio-
nes.
Pues o que e a necesa io adap a las p ác icas de en-
ada/salida a la a qui ec u a ARM, nos plan eamos si
que íamos con inua con una expe iencia docen e ba-
sada en el uso de un simulado . En ese caso, el es-
udian e debe ía p og ama en ensamblado el código
necesa io pa a in e ac ua con los disposi i os de en-
ada/salida p opo cionados po el simulado que ue a
a u iliza se. O si po el con a io, apos ábamos po un
en oque ce cano a lo que se ha dado en llama compu-
ación ísica [10]. En es e caso, el es udian e in e ac-
1h p://spimsimula o .sou ce o ge.ne /
ua ía con disposi i os ísicos, debe ía se conscien e
de qué es lo que quie e que pase en la ealidad y po-
d ía obse a cómo su aplicación es capaz, o no, de
eacciona adecuadamen e an e e en os ex e nos. Si-
guiendo dicho en oque, el es udian e pod ía elaciona
ácilmen e la secuencia de acciones a las que un dispo-
si i o iene que da espues a, con la p og amación que
haya ealizado de dicho disposi i o.
C eemos que es a segunda opción es mucho más en-
iquecedo a pa a el es udian e que simplemen e limi-
a se a obse a en la pan alla de un simulado si su
código de ges ión de la en ada/salida se compo a co-
mo eó icamen e debe ía. Es más, pues o que mucha de
la p oblemá ica de la en ada/salida es á di ec amen e
elacionada con la in e acción homb e-máquina, es a
segunda opción o ece al es udian e la opo unidad de
en en a se a un escena io eal, en el que si no se oman
las debidas p ecauciones, no odo unciona á como se
espe a.
Así pues, una ez op amos po la in e acción con
disposi i os ísicos, quedaba po decidi qué compo-
nen e ha dwa e u iliza en el labo a o io. Pues o que
nues as es icciones e a que dicho componen e es u-
ie a basado en la a qui ec u a ARM y que ue a de
bajo cos e, pa a que el es udian e pudie a adqui i lo en
el caso de que e expe imen a po su cuen a, la a je a
A duino Due, basada en ARM y con un p ecio econó-
mico, nos dio la imp esión de se una buena elección.
O a posible al e na i a, de la que hay expe iencias
que p ueban que es una buena opción, hubie a sido la
de u iliza la ídeo-consola Nin endo DS [9]. Sin em-
ba go, la mayo complejidad de es e disposi i o y de su
en o no, y el hecho de que una a je a desnuda como la
A duino DUE dan al es udian e una isión más e iden-
e del ha dwa e, nos e o za on en nues a decisión.
La a je a A duino2, además de su gi del mundo
académico, ha sido u ilizada ampliamen e y con éxi-
o en la docencia uni e si a ia. Po ejemplo, en [8] se
desc ibe cómo se ha empleado dicha a je a pa a la do-
cencia de sis emas empo ados, con un en oque basado
en p oyec os. De igual o ma, en [11] y [12] se des-
c iben las en ajas que p opo ciona dicho en o no, en
uno de los casos en combinación con los obo s LEGO,
pa a la docencia de p og amación de compu ado es a
es udian es que no son de ingenie ía in o má ica y que
se en en an po p ime a ez a la p og amación.
En conc e o, el modelo Due de A duino3p esen a
las siguien es ca ac e ís icas que conside amos in e e-
san es desde el pun o de is a de la docencia de la en-
ada/salida u ilizando ARM como a qui ec u a de e-
e encia:
•Mic ocon olado A mel SAM3X8E con una
CPU ARM Co ex-M3.
2h p://a duino.cc/
3h p://a duino.cc/en/Main/a duinoBoa dDue
Ac as de las XXI Jo nadas de la Enseñanza
Uni e si a ia de la In o má ica
Ando a La Vella, del 8 al 10 de julio 2015
ISBN: 978-99920-70-10-9
59
•54 pines de en ada/salida digi ales (de los cuales
12 pueden u iliza se como salidas PWM).
•12 en adas analógicas.
•4 UARTs (pue os se ie ha dwa e).
•Conexión USB con capacidad on- he-go (OTG).
•2 con e so es digi al a analógico.
•Reloj (a 84 Mhz).
•Conec o es SPI y JTAG.
Todo lo an e io po menos de 45 ¤.
Po si ue a poco, debido a la g an acogida que ha
enido A duino po pa e de en usias as del hágalo us-
ed mismo [13], el ecosis ema a su al ededo es simple-
men e imp esionan e: exis en mul i ud de p oyec os li-
b emen e accesibles, una g an can idad de ex ensiones
ha dwa e (shields) que se acoplan di ec amen e sob e
la a je a A duino, y una ingen e can idad de so wa e
lib e y de documen ación.
En cuan o al en o no de desa ollo A duino, és e
p opo ciona un conjun o de biblio ecas y unciones
des inadas al manejo de la en ada/salida y a la co-
municación de la a je a A duino con el compu ado a
a és del pue o USB. Po no menciona las biblio e-
cas p opo cionadas po los ab ican es de los dis in os
shields, que se pueden inco po a ácilmen e al en o no
pa a pode u iliza los de una o ma sencilla.
Po o o lado, la p og amación de la a je a A duino
se ealiza habi ualmen e en C/C++. Es más, el en o no
de desa ollo A duino solo sopo a dichos lenguajes.
Teniendo en cuen a la g an a iedad de modelos A -
duino, es a decisión en endemos que es á mo i ada po
la in ención de que si alguien desa olla un código en
C/C++ pa a una de e minada a je a A duino, és e po-
d á u iliza se en o os modelos de a je as A duino sin
ningún p oblema. No ocu i ía lo mismo si se pe mi-
ie a p og ama en lenguaje ensamblado , ya que dicho
p og ama es a ía ligado a la a qui ec u a conc e a de
un de e minado modelo de a je a A duino, pe diéndo-
se la compa ibilidad so wa e en e a je as.
Sin emba go, pa a el caso que nos ocupa, la ges-
ión de la en ada/salida a bajo ni el, las unciones
en C/C++ p opo cionadas po el en o no A duino abs-
aen una g an pa e de la p oblemá ica elacionada con
la ges ión de la en ada/salida desde el pun o de is a
de un a qui ec o de compu ado es. Así que apa en e-
men e no podíamos con a con el en o no de desa ollo
de A duino pa a p og ama di ec amen e la a je a A -
duino Due, a no se que decidié amos ocul a lo que
ealmen e ocu e a ni el del lenguaje máquina.
A o unadamen e, y pues o que el en o no de desa-
ollo de A duino es so wa e lib e, uimos capaces de
in oduci las modi icaciones necesa ias pa a que dicho
en o no acep a a di ec amen e código en ensamblado .
En is a de odo lo an e io , decidimos adqui i unas
cuan as a je as A duino Due y e alua cómo pod ía-
mos u iliza las pa a la docencia de la ges ión de la en-
ada/salida. A pa i de dicho es udio, desa ollamos el
ecu so docen e que p esen amos en es e a ículo y que
ha sido u ilizado más que sa is ac o iamen e du an e el
cu so 2014/15 en los G ados en Ingenie ía In o má i-
ca y en Ma emá ica Compu acional de la Uni e si a
Jaume I.
El es o del a ículo es á o ganizado como sigue. En
el Apa ado 2 se mues a el con ex o docen e en el que
se ha desa ollado el ecu so docen e p opues o. En el
Apa ado 3 se desc ibe el ma e ial del que cons a es e
ecu so docen e. El Apa ado 4 mues a los esul ados
ob enidos. Finalmen e, en el apa ado 5 se desc iben
las conclusiones y abajo u u o.
2. Con ex o docen e
La asigna u a Es uc u a de Compu ado es es de o -
mación básica y se impa e en p ime cu so, p ime se-
mes e en los G ados en Ingenie ía In o má ica y en
Ma emá ica Compu acional de la Uni e si a Jaume I.
Al se una asigna u a de o mación básica, iene
asignada pa e de la siguien e compe encia ijada po
Resolución de 8 de junio de 2009, de la Sec e a ía Ge-
ne al de Uni e sidades4: «Conocimien o de la es uc-
u a, o ganización, uncionamien o e in e conexión de
los sis emas in o má icos, los undamen os de su p o-
g amación, y su aplicación pa a la esolución de p o-
blemas p opios de la ingenie ía».
Con el obje i o de da espues a a dicha compe en-
cia, la asigna u a se ha es uc u ado en es emas, el
e ce o de los cuales aba ca los sis emas de en ada/-
salida. Pa a dicho ema se han de inido los obje i os
o ma i os que se de allan a con inuación.
El es udian e, al inaliza la asigna u a, debe á se
capaz de:
1. Desc ibi la p oblemá ica gene al de la en ada/-
salida.
2. De ini los é minos de la encia, asa de ans e-
encia y p oduc i idad y se capaz de es ima o
calcula sus alo es pa iendo de da os su icien-
es.
3. Ca ac e iza los sis emas de en ada/salida en un-
ción de su compo amien o, in e locu o , asa de
ans e encia y la encia.
4. Desc ibi la es uc u a gene al de los disposi i os
de en ada/salida.
5. Enume a y desc ibi las o mas po medio de las
cuales el p ocesado puede accede a los disposi-
i os de en ada/salida.
6. Enume a los ipos de egis os de los disposi i os
de en ada/salida y explica cómo y pa a qué se
u ilizan.
4Publicada en el BOE el 4 de agos o de 2009
Ac as de las XXI Jo nadas de la Enseñanza
Uni e si a ia de la In o má ica
Ando a La Vella, del 8 al 10 de julio 2015
ISBN: 978-99920-70-10-9
60
7. Explica y e alua el uncionamien o, así como
las en ajas y des en ajas, de los dos sis emas de
sinc onización de la en ada/salida: I) consul a de
es ado (polling) e II) in e upciones.
8. Explica y e alua el uncionamien o, así como
las en ajas y des en ajas, de los dos sis emas de
ans e encia de da os de en ada/salida: I) ans-
e encias po p og ama ealizadas po el p ocesa-
do y II) acceso di ec o a memo ia (DMA).
9. Desc ibi las ca ac e ís icas gene ales de la en a-
da/salida de p opósi o gene al (GPIO) y de los
mecanismos de empo ización de los o denado-
es.
10. Analiza p og amas esc i os en ensamblado
Thumb 2 que ges ionen disposi i os de en ada/-
salida.
11. Desa olla p og amas en ensamblado Thumb 2
que ges ionen disposi i os de en ada/salida.
Pa a la consecución de los an e io es obje i os o -
ma i os, se ha op ado po di idi la ma e ia obje o de
es udio en los siguien es cinco bloques:
1. In oducción y p oblemá ica gene al de la en a-
da/salida.
2. Aspec os gene ales de la en ada/salida de p opó-
si o gene al (GPIO) y de la empo ización.
3. Ges ión de la en ada/salida po medio de consul-
a de es ado.
4. Ges ión de la en ada/salida po medio de in e-
upciones.
5. T ans e encia de da os po p ocesado y po acce-
so di ec o a memo ia.
En cuan o a la ca ga de abajo del es udian e, se han
asignado 1,8c édi os ECTS. La mayo pa e del aba-
jo se ealiza á a lo la go de 5 semanas en los siguien es
ipos de ac i idades:
•5 sesiones de eo ía de 2 ho as cada una.
•4 sesiones de labo a o io de 2 ho as cada una.
•18 ho as de p epa ación en e sesiones.
La o ganización empo al de las sesiones de eo ía
y labo a o io se mues a en la Figu a 1. Con iene des-
aca que se ha apos ado po ealiza las sesiones de
eo ía y labo a o io en el mismo día pa a e i a que
la sesión de eo ía y su labo a o io co espondien e se
desinc onicen debido a la p esencia de es i os. Es a
sinc onización es impo an e ya que nos pe mi e se-
gui una me odología docen e en la que el es udian e
p epa a po su cuen a el con enido que se desa olla á
en la siguien e sesión, an o en la clase de eo ía como
en la de p ác icas.
Además de las ho as ya indicadas, el es udian e de-
be á dedica 9 ho as de es udio pe sonal pa a exámenes
—no necesa iamen e en esas semanas—.
En cuan o a la me odología docen e, se ha segui-
do el siguien e plan eamien o basado en la u ilización
9:00
11:00
11:30
13:30
S10 S11 S12 S13 S14
Teo ía En ada/Salida
P ác icas En ada/Salida
Figu a 1: O ganización empo al de las sesiones de eo-
ía y labo a o io
de en egables y en la me odología de clase in e ida
( lipped class oom):
•En p ime luga , el es udian e debe p epa a de
o ma indi idual una pa e de cada una de las se-
siones de eo ía y labo a o io con an elación. Pa a
ello, una semana an es se le p opo ciona un en e-
gable en el que se indica qué documen ación debe
consul a , además de un conjun o de p egun as y
eje cicios sencillos que debe ía se capaz de e-
sol e a pa i de dicha documen ación.
•La clase de eo ía comienza con la esolución de
o ma conjun a de las dudas que hayan podido
su gi du an e la ealización del en egable, así
como la co ección de las p egun as y eje cicios
plan eados. Una ez hecho lo an e io , se p o un-
diza sob e el ema en cues ión y se plan ean nue-
os p oblemas que deben se esuel os en equipos
de es es udian es.
•Po úl imo, cada equipo ealiza en el labo a o io
la co espondien e p ác ica sob e el ema en cues-
ión.
La e aluación se ealiza de o ma con inua y iene
en cuen a los en egables ealizados, la no a ob enida
en las sesiones de labo a o io, la no a ob enida en el
examen de obje i os básicos co espondien e y la pa e
co espondien e a la en ada/salida en el examen eó i-
co. Pa a la ges ión y cali icación de las ac i idades se
ha u ilizado la he amien a desc i a en [1].
3. En ada/salida con A duino
El ecu so docen e p esen ado en es e a ículo p e-
ende p opo ciona ma e ial eó ico y de labo a o io
con el obje i o de acili a la comp ensión po pa e
del es udian e de la ges ión de la en ada/salida desde
el pun o de is a de la a qui ec u a de compu ado es.
Cons a de:
•Los es úl imos capí ulos de [3].
•P og amas de ejemplo.
•El en o no de desa ollo de A duino modi icado
pa a acep a iche os en ensamblado .
•Esquemá ico de un ci cui o sencillo con un pulsa-
do y un diodo LED RGB.
Ac as de las XXI Jo nadas de la Enseñanza
Uni e si a ia de la In o má ica
Ando a La Vella, del 8 al 10 de julio 2015
ISBN: 978-99920-70-10-9
61
•Solución del p o eso .
Todo el ma e ial an e io , sal o la solución del p o-
eso , que es á disponible bajo demanda, puede desca -
ga se desde la siguien e di ección web:
h p://lo ca.ac .uji.es/book/p ac ARM/
Con iene ene en cuen a que pa a pode ealiza las
p ác icas p opues as, an solo se á necesa io dispone ,
po cada equipo de es udian es, del siguien e ma e ial:
•1 Compu ado con GNU/Linux, MacOSX o Win-
dows.
•1 Ta je a A duino Due.
•1 Ta je a de en ada/salida basada en el esquemá-
ico p opo cionado ( e Figu a 2).
Figu a 2: Ta je a de en ada/salida
Los siguien es subapa ados desc iben con un poco
más de de alle los dis in os ma e iales que o man es e
ecu so docen e.
3.1. Capí ulos de en ada/salida
La pa e del lib o «In oducción a la a qui ec u a de
compu ado es con Q ARMSim y A duino» [3] dedica-
da a la en ada/salida se ha o ganizado en es capí u-
los.
El p ime o de ellos p opo ciona una in oducción
eó ica a la en ada/salida. Comienza hablando de las
gene alidades y p oblemá ica asociada a la en ada/sa-
lida. Desc ibe la es uc u a de los sis emas y disposi-
i os de en ada/salida. Con inúa con la ges ión de la
en ada/salida po medio de consul a de es ado y de in-
e upciones. Po úl imo, desc ibe las ans e encias de
da os y la DMA. Es un capí ulo eminen emen e eó i-
co, que si e como in oducción eó ica de cada uno de
los emas comen ados.
El segundo de los capí ulos se cen a en los disposi i-
os de en ada/salida. El p ime apa ado a a los dis-
posi i os de en ada/salida elacionados con la en a-
da/salida de p opósi o gene al (GPIO). P ime o desde
un pun o de is a gené ico y después, pa icula izado a
la GPIO del ATSAM3X8E (el mic ocon olado inco -
po ado en la a je a A duino Due). El segundo apa ado
aba ca la ges ión del iempo. Al igual que an es, en un
p ime luga de o ma gené ica, pa a después pa icu-
la iza lo a la ges ión del iempo del ATSAM3X8E. El
e ce apa ado cub e la ges ión de excepciones e in e-
upciones en el ATSAM3X8E. El úl imo apa ado, el
con olado de DMA del ATSAM3X8E.
El úl imo de los es capí ulos es á des inado al en-
o no de p ác icas. Comienza desc ibiendo la a je a
A duino Due, la a je a de en ada/salida, el en o no de
desa ollo y la c eación de p oyec os en dicho en o no.
A con inuación, se p oponen eje cicios pa a las cua o
sesiones de labo a o io que se de allan seguidamen e.
In oducción a la en ada/salida. En es a p ime a
sesión se mues a cómo encende o a apaga el LED
de la a je a de en ada/salida; cómo esc ibi in o ma-
ción po medio del pue o se ie de la a je a A duino; y
cómo accede a la in o mación del eloj de iempo eal
pa a ob ene la echa y ho a ac ual de la a je a A duino
Due.
En ada/salida po consul a de es ado. En es a se-
sión se incide sob e la consul a de es ado y su p oble-
má ica. El es udian e debe á p og ama el en o no A -
duino pa a de ec a la pulsación del pulsado de la a -
je a de en ada/salida y ac ua en consecuencia. Tam-
bién end á que p og ama una ala ma en el eloj en
iempo eal de la a je a A duino y a e igua po con-
sul a de es ado si la ala ma ha sal ado o no.
En ada/salida po in e upciones. En es a sesión
el es udian e debe con igu a la a je a A duino pa a
ac i a las in e upciones y p oba las dis in as con i-
gu aciones disponibles. Se p opone u iliza el pulsado
de la a je a de en ada/salida pa a comp oba cómo a-
ía el a amien o de las in e upciones en unción de la
con igu ación seleccionada. El es udian e ambién de-
be á p og ama el eloj en iempo eal pa a ija una
ala ma de al o ma que cuando és a sal e, se gene e
una in e upción (y compa a el compo amien o de es-
a p ác ica con el obse ado en la p ác ica an e io , en
la que se a e iguaba si la ala ma se había gene ado o
no po medio de la consul a de es ado).
Modulación po ancho de pulso (PWM), acceso di-
ec o a memo ia (DMA) y pue o USB. En p ime
luga , el es udian e e á cómo se puede disminui la
in ensidad pe cibida del LED de la a je a de en ada/-
salida sin más que modi ica la p opo ción de iempo
que és e pe manece encendido en un ciclo de aba-
jo. En la segunda pa e de la p ác ica, explo a á la u i-
lización del con olado de acceso di ec o a memo ia
(DMA) pa a la ans e encia de bloques de memo ia.
En la úl ima pa e de la p ác ica, debe á pone en un-
cionamien o un ejemplo más elabo ado capaz de p o-
g ama la a je a A duino Due de al o ma que és a
simule que es un a ón, p ime o, y un eclado, después.
Ac as de las XXI Jo nadas de la Enseñanza
Uni e si a ia de la In o má ica
Ando a La Vella, del 8 al 10 de julio 2015
ISBN: 978-99920-70-10-9
62
3.2. P og amas de ejemplo
Como ya se ha comen ado an e io men e, el obje i o
de las p ác icas es el de ealiza p og amas en ensam-
blado de ARM que sean capaces de con igu a e in e -
ac ua con los disposi i os de en ada/salida p esen es
en la a je a A duino Due.
No se ía ealis a p e ende que en cada sesión de dos
ho as de labo a o io los es udian es ue an capaces de
abo da desde ce o odos los p og amas que se p opo-
nen en cada sesión. Po an o, pa a la mayo ía de los
eje cicios p opues os se p opo ciona una p ime a e -
sión que los es udian es debe án i modi icando, com-
ple ando o ex endiendo en unción de lo que deban ea-
liza inalmen e.
Dichos p og amas de ejemplo se p opo cionan am-
bién como pa e de es e ecu so docen e. En ellos se
han ocul ado agmen os de código y alo es conc e-
os de e ique as, másca as y di ecciones de E/S pa a
que los alumnos los comple en, man eniendo la es uc-
u a del p og ama y los comen a ios desc ip i os de las
acciones que debe ealiza cada sección del código y
cada ins ucción pa a acili a la comp ensión po pa -
e del alumno. La Figu a 4 mues a un agmen o de
código a modo de ejemplo.
3.3. En o no de desa ollo modi icado
El en o no de desa ollo de A duino, que puede des-
ca ga se desde su página web, no sopo a la ealización
de p oyec os A duino en o os lenguajes de p og ama-
ción que no sean C o C++. A o unadamen e, pues o
que dicho en o no de desa ollo es so wa e lib e, he-
mos podido es udia su código y modi ica lo pa a que
ambién acep a a y compila a p og amas en lenguaje
ensamblado .
U ilizando es a e sión modi icada es posible desa-
olla p oyec os que engan iche os uen e an o en
C/C+, como en ensamblado de ARM. Es o nos ha pe -
mi ido g adua la di icul ad de las p ác icas de al o -
ma que de e minadas acciones se ealizan inicialmen e
en C/C++ y pos e io men e se mues a qué acciones
se deben ealiza a bajo ni el pa a consegui el mismo
e ec o.
3.4. Ci cui o sencillo con un pulsado y
un diodo LED RGB
Aunque exis en mul i ud de ex ensiones ha dwa e
(shields) de en ada/salida pa a la a je a A duino Due,
nos plan eamos cuál se ía el ci cui o más simple que
pe mi ie a ealiza p ác icas de en ada/salida que ue-
an sencillas pe o su icien emen e is osas.
Llegamos a la conclusión de que pues o que la a -
je a A duino Due ya p opo ciona o os disposi i os de
en ada/salida como un empo izado , un eloj de iem-
po eal y un con olado de DMA, e a su icien e con
un ci cui o simple como el mos ado en la placa de la
Figu a 2. Dicho ci cui o es á o mado po 4 esis en-
cias, un pulsado y un diodo LED RGB. De es a o -
ma, es posible p o oca e en os en la a je a po medio
del pulsado y isualiza su salida po medio del diodo
LED RGB. Hay que ene en cuen a que, al a a se de
un diodo LED RGB, se dispone en ealidad de es sa-
lidas, cada una de ellas asociada a uno de los colo es:
ojo, e de y azul. Además, se ha diseñado una placa
con dicho ci cui o de al o ma que pueda inse a se
di ec amen e en la a je a A duino Due, al y como se
puede e en la Figu a 3.
Figu a 3: Ta je a A duino/Due con la a je a de en a-
da/salida conec ada
Desde nues o pun o de is a, la u ilización de un
ci cui o ex emadamen e sencillo en luga de un shield
p e ab icado p esen a dos en ajas. Po un lado, el ci -
cui o p opues o iene pocos componen es y un es u-
dian e pod ía ep oduci lo po su cuen a po muy poco
dine o (ni siquie a es necesa io que ab ique una pla-
ca imp esa, pod ía u iliza di ec amen e una placa de
p o o ipos).
Po o o lado, al u iliza un ci cui o an sencillo, el
es udian e es conscien e de que dichos elemen os (pul-
sado y LED RGB) es án di ec amen e conec ados a
los pines de en ada/salida de la a je a A duino. Así,
cuando pos e io men e p og ame la GPIO a bajo ni el,
pod á e que su p og ama en ensamblado es a á con-
igu ando, consul ando o ac i ando jus amen e dichos
pines de en ada/salida.
Un shield más complejo (po ejemplo una pan alla
LCD) pod ía esul a más is oso, pe o además de se
más ca o, una de dos, o se hab ía añadido una com-
plejidad innecesa ia en el caso de ges iona su en a-
da/salida a bajo ni el, o se hubie a ocul ado el uncio-
namien o de la en ada/salida en el caso de habe u i-
lizado las unciones en C/C++ p opo cionadas po el
co espondien e ab ican e.
Ac as de las XXI Jo nadas de la Enseñanza
Uni e si a ia de la In o má ica
Ando a La Vella, del 8 al 10 de julio 2015
ISBN: 978-99920-70-10-9
63
3.5. O os disposi i os in e esan es
La di e sidad de disposi i os p esen es en el mic o-
con olado ATSAM3X8E hace que sea necesa io bus-
ca un equilib io adecuado en e qué es necesa io pa a
aba ca odos los obje i os de la asigna u a y qué pue-
de esul a ú il y is oso, mo i ando al es udian e, pe o
añade una complejidad excesi a pa a p ime cu so.
Nues a elección se conc e ó en el uso, como dispo-
si i os undamen ales, de la GPIO (en ada/salida de
p opósi o gene al) y del eloj de iempo eal como ele-
men o de empo ización. Ambos pe mi en su ges ión
median e p ueba de es ado o in e upciones, y son su-
icien emen e sencillos y áciles de comp ende .
Pa a el segundo g upo, se u ilizó el PWM (modula-
ción de anchu a de pulsos) y la in e az de disposi i-
o USB. Median e modi icaciones sencillas del códi-
go que se les p opo cionaba, los es udian es pudie on
e un uso más a anzado de la en ada/salida, sin que
hubie a una g an complejidad concep ual en los eje ci-
cios.
4. Resul ados
Una ez inalizado el cu so, ealizamos una encues a
con 3 p egun as de escala Like de 1 a 5, siendo 1 « o-
almen e en desacue do» y 5 « o almen e de acue do»,
y 2 de espues a abie a. Con es a on a dicha encues a
28 es udian es (un 19 % de los que siguie on la asigna-
u a).
Las p ime as dos p egun as, elacionadas con el ob-
je i o docen e del ecu so y la sa is acción del es u-
dian e, «Conside o que las p ác icas con A duino me
han se ido pa a en ende mejo cómo unciona y se
p og ama la en ada/salida» y «Recomenda ía que se
siguie a u ilizando A duino en la docencia de a qui ec-
u a de compu ado es» ob u ie on una mediana de 4
y 5, espec i amen e. La e ce a p egun a, di igida ex-
clusi amen e a epe ido es, «Conside o más in e esan-
es las p ác icas de E/S sob e A duino de es e cu so que
las que se ealiza on el cu so pasado con el simulado
XSPIM», ob u o una mediana de 5.
Las espues as ob enidas en la penúl ima p egun a,
«¿Qué aspec os posi i os des aca ías de las p ác icas
con A duino?», des aca on la mo i ación que supone
un sis ema eal y en conc e o el A duino, así como la
mayo acilidad en en ende el uncionamien o de la
en ada/salida sob e dicho sis ema, en e al uso de un
simulado .
Po úl imo, las espues as a la p egun a «¿Qué c ees
que con end ía mejo a de las p ác icas con A duino?»
incidie on en que les hubie a gus ado que la asigna u a
dispusie a de más iempo pa a pode p o undiza más
en la a qui ec u a de compu ado es y que se hubie a
explicado con más de alle el IDE de A duino, que les
esul ó un poco desconce an e al p incipio.
Al ma gen de la encues a, me ece la pena des aca el
que es udian es que ya habían supe ado la asigna u a,
cuando se han en e ado po sus compañe os que había-
mos u ilizado A duino en las p ác icas, nos han pedido
pe miso pa a pode acudi como oyen es a las p ác icas
del p óximo cu so.
En cuan o al endimien o académico, compa ado
con espec o al cu so an e io , se ha aumen ado el po -
cen aje de es udian es que han seguido la asigna u a
del 83 % al 88 % y el núme o de ap obados del 49 %
al 56 %. Si bien es cie o que no es posible conclui
que las mejo as en los esul ados es én di ec amen e
elacionadas con la u ilización de es e ecu so docen e,
ya que hay una g an a iedad de ac o es que pod ían
habe mo i ado dichas mejo as.
Po úl imo, la alo ación de los p o eso es de labo-
a o io ambién ha sido muy posi i a.
5. Conclusiones y abajo u u o
Conside amos que el ecu so docen e p esen ado ha
pe mi ido comple a en buena medida los obje i os que
nos plan eamos al decidi o ien a la asigna u a en-
o no a la a qui ec u a ARM. También c eemos, basán-
donos en los esul ados académicos del p esen e cu so,
así como en las espues as dadas po los es udian es
as el desa ollo de las p ác icas, que el uso de la a -
je a A duino Due ha sido una elección ace ada.
Además, conside amos que se ha p opo cionado a
los es udian es una base de conocimien os su icien e
pa a que puedan con inua desa ollando sus p opios
p oyec os con sis emas A duino y, lo que conside a-
mos más impo an e, c eemos habe susci ado su in e-
és po el desa ollo de es os p oyec os que, en de i-
ni i a, les pe mi i á mejo a múl iples aspec os de su
o mación en a qui ec u a de compu ado es y en dise-
ño de sis emas in o má icos.
Pa a los p óximos años se p e é mejo a y comple-
a an o la documen ación de los aspec os eó icos co-
mo los eje cicios p ác icos, con nue os ejemplos que
incidan sob e o os disposi i os in eg ados en el AT-
SAM3X8E, que se deja án como abajo de ampliación
de conocimien os pa a los es udian es.
Po o a pa e, en el caso de que se amplia a el si-
mulado desc i o en [4] pa a sopo a el conjun o de
ins ucciones Thumb II, que co esponde a la a qui ec-
u a p esen e en la a je a A duino Due, se ía deseable,
en el u u o, enlaza ambos sis emas.
Re e encias
[1] Se gio Ba achina Mi , Asunción Cas año Ál a-
ez, Ma ibel Cas illo Ca alán, Ge mán León Na-
Ac as de las XXI Jo nadas de la Enseñanza
Uni e si a ia de la In o má ica
Ando a La Vella, del 8 al 10 de julio 2015
ISBN: 978-99920-70-10-9
64
1# Espe a ac i ación pulsado y eg esa
2# Decla aciones de cons an es
3.equ PIOB, 0x???????? @ Di ección base del PIO B
4.equ PIO_PER, 0x?? @ O se Pio Enable Regis e
5.equ PIO_IDR, 0x?? @ O se In e up Disable Regis e
6.equ PIO_PUER, 0x?? @ O se Pull Up Enable Regis e
7[...]
8# oid pulsado ()
9# Espe a pulsación pulsado y eg esa de ol iendo el CHIP ID
10 pulsado :
11 # 0 - Di ección base del PIOB
12 # 1 - Másca a del pulsado
13 # 2 - Con enido del egis o de E/S del PIOB
14 push {l } @ No usamos los egis os 4- 7
15 # Con igu ación del pin del pulsado como en ada con pull-up
16 ld 0, =PIOB @ Di ección base del Con olado PIOB
17 ld 1, =PULMSK @ Másca a con el bi del pulsado ac i ado
18 s 1, [ 0, ???????] @ Deshabili a in e upciones asoc. al pin
19 s 1, [ 0, ???????] @ Ac i a el pull-up
20 [...]
Figu a 4: Ejemplo de agmen o de código p opo cionado a los es udian es
a o, Ra ael Mayo Gual y En ique S. Quin ana
O í Aplicación pa a la ges ión y cali icación de
ac i idades ECTS. En Ac as de las XIX Jo na-
das de Enseñanza Uni e si a ia de la In o má ica,
Cas ellón, 2013.
[2] Se gio Ba achina Mi , Ma ibel Cas illo Ca alán,
José M. Cla e Ibo a y Juan C. Fe nández Fe -
nández. P ác icas de in oducción a la a qui ec u-
a de compu ado es con el simulado SPIM. Pea -
son Educación, 2013.
[3] Se gio Ba achina Mi , Ma ibel Cas illo Ca a-
lán, Ge mán Fab ega Llueca, Juan Ca los Fe -
nández Fe nández, Ge mán León Na a o, Jo-
sé Vicen e Ma í A ilés, Ra ael Mayo Gual y
Raúl Mon oliu Colás. In oducción a la A -
qui ec u a de Compu ado es con Q ARMSim
y A duino. h p://lo ca.ac .uji.es/
book/p ac ARM/, 2014.
[4] Se gio Ba achina Mi , Ge mán Fab ega Llue-
ca, Juan Ca los Fe nández Fe nández y Ge mán
León Na a o. ARMSim y Q ARMSim: simula-
do de ARM pa a docencia. En Ac as de las XXI
Jo nadas de Enseñanza Uni e si a ia de la In o -
má ica, Ando a, 2015.
[5] Alan Clemen s. Selec ing a p ocesso o ea-
ching compu e a chi ec u e. En Mic op oces-
so s and Mic osys ems, 23(5), 281-290. Else ie ,
1999.
[6] Alan Clemen s. ARMs o he poo : Selec ing
a p ocesso o eaching compu e a chi ec u e.
En F on ie s in Educa ion Con e ence (FIE), pp.
T3E 1–6. IEEE, 2000.
[7] Alan Clemen s. The unde g adua e cu iculum
in compu e a chi ec u e. En IEEE Mic o, 20(3),
13–22. IEEE, 2000.
[8] Pe e Jamieson. A duino o eaching embedded
sys ems. A e compu e scien is s and enginee ing
educa o s missing he boa ? In P oceedings o
he 2010 In e na ional Con e ence on F on ie s in
Educa ion: Compu e Science and Compu e En-
ginee ing, 289–294, 2010.
[9] Edu ne La aza-Mendiluze, Nés o Ga ay-
Vi o ia, José I. Ma in, Ja ie Mugue za, Txelo
Ruiz-Vazquez, I a xe So aluze, José F. Lukas y
Ka los San iago, Game-Console-Based P ojec s
o Lea ning he Compu e Inpu /Ou pu Subsys-
em, IEEE T ansac ions on Educa ion, ol.56,
no.4, 453–458, 2013.
[10] Dan O’Sulli an y Tom Igoe. Physical Compu-
ing: Sensing and Con olling he Physical Wo ld
wi h Compu e s. Cou se Technology P ess, 2004.
[11] Miguel Ángel Rubio, Ca olina Mañoso Hie o y
Ángel Pé ez de Mad id y Pablo. Using A duino
To Enhance Compu e P og amming Cou ses In
Science And Enginee ing. In P oceedings o
he EDULEARN13 Con e ence, pp. 5127–5133,
Ba celona, 2013.
[12] Miguel Ángel Rubio, Ca olina Mañoso Hie o,
Rocío Rome o Zaliz y Ángel Pé ez de Mad id y
Pablo. Uso de las pla a o mas LEGO y A duino
en la enseñanza de la p og amación. En Ac as de
las XX Jo nadas de Enseñanza Uni e si a ia de la
In o má ica, O iedo, 2014.
[13] Phillip To one. Why he A duino won and why
i ’s he e o s ay. h p://makezine.com/
2011/02/10/why- he-a duino-won-
and-why-i s-he e- o-s ay/, eb e o
2011.
Ac as de las XXI Jo nadas de la Enseñanza
Uni e si a ia de la In o má ica
Ando a La Vella, del 8 al 10 de julio 2015
ISBN: 978-99920-70-10-9
65