Documentos de Académico
Documentos de Profesional
Documentos de Cultura
FACULTAD DE INGENIERÍA EN EN
ELECTRICIDAD Y COMPUTACIÓN
FIEC
PRÁCTICAS DE LABORATORIO DE
SISTEMAS EMBEBIDOS
PRÁCTICA #4
OBJETIVOS
CONTENIDO
¿Que es GNUtoolChain?
El GNU toolchain agrupa a una serie de proyectos que contienen las herramientas de desarrollo de
software producidas por el proyecto GNU. Estos proyectos forman un sistema integrado que es
usado para programar tanto aplicaciones como sistemas operativos.
El GNU toolchain es un componente vital en el desarrollo del núcleo Linux, el desarrollo de BSD y
de software para sistemas embebidos. Partes del toolchain de GNU también son usadas
en Solaris y en Microsoft Windows con Cygwin y MinGW/MSYS.
GNUtoolchain es usado para programar sistemas embebidos con bajos recursos computacionales,
lo cual permite que desde cualquier distribución de Linux programemos un sistema embebido
como es el caso de el atmega328p, la cual usaremos en esta práctica.
b.
5) crear una carpeta nueva:
a. sudo mkdir p1TT (p1+iniciales del estudiante)
6) acceder a la carpeta creada:
a. cd p1TT
7) Crear un archivo:
a. sudo nano p1.c (nano es el editor, existen otros editores)
8) Dentro del archivo copiar el código: #include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB |= ((1 << DDB5)); //asignar a puerto b5 como salida//pin 13 de arduino
DDRB |= ((1 << DDB3)); //asignar a puerto b3 como salida//pin 11 de arduino DDRB
|= ((1 << DDB2)); //asignar a puerto b2 como salida//pin 10 de arduino
while(1) {
CMD_FLASH=avrdude
MCU1 = ATMEGA328P
DEVPORT = /dev/ttyUSB0 #puede que USB0 le salga error y deberá cambiar a ACM0, o el
#número de puerto asignado a su arduino
BAUDRATE=115200
.PHONY: default
default : EXE_FILE HEX_FILE flash
EXE_FILE: $(FNAME).c
$(CC) $(CFLAGS) $(CPPFLAGS) $< -o $(FNAME)
HEX_FILE: $(FNAME)
$(OBJCOPY) -O ihex $< $(FNAME).hex
flash : $(FNAME).hex
$(CMD_FLASH) -F -V -c arduino -p $(MCU1) -P $(DEVPORT) -b $(BAUDRATE) -U $@:w:$<
12) Guardar y cerrar
13) Conectar el arduino y Ejecutar:
a. sudo make FNAME=p1 (ojo aquí va el nombre de su archivo sin la extensión)
14) Físicamente (o en el simulador) conectar dos leds, uno al pin 11 y otro al pin 10, haciendo el uso
adecuado de resistencias.
REPORTE:
1) Elaborar un código haciendo uso de la herramienta GNU-ToolChain
(usando el código aprendido como base) para generar el archivo
nombredeprograma.hex, en el cual se genere encendido y pagado de
8 leds (en forma de ruleta) en diferentes tiempos, use proteus
para la simulación.
2) Únicamente colocar carátula, y en la siguiente hoja, REPORTE:
3) Capturas de la ejecución en el simulador proteus (la captura debe
el circuito de al menos 2 estados y cada uno de ellos se debe
mostrar en la misma posición su nombre apellido y fecha, tal como
se muestra en la imagen anterior.
4) Adjuntar el circuito de proteus en el zip.
5) Conclusiones
6) Recomendaciones