Publicado el 14 de Enero del 2017
884 visualizaciones desde el 14 de Enero del 2017
115,5 KB
5 paginas
Creado hace 11a (14/10/2013)
Práctica 1: (Tema 2) Instalación de MaRTE OS
Práctica 1:
Instalación de MaRTE OS
(Tema 2)
• Objetivos:
• Instalar MaRTE OS
• practicar el uso del entorno de desarrollo de MaRTE OS
Programación Concurrente
Práctica 1: (Tema 2) Instalación de MaRTE OS
© M. Aldea
oct-13
Acceso a los puestos del laboratorio
Elegir la primera de las opciones de arranque:
• Debian GNU/Linux, with Linux 2.6.32-5-686
Usuario:
• Usuario de MaRTE OS y GNAT GPL de AdaCore
Contraseña:
• marteos
Programación Concurrente
Práctica 1: (Tema 2) Instalación de MaRTE OS
© M. Aldea
oct-13
Descarga de MaRTE OS y GNAT
1
2
1. Descargar la versión GAP-GPL-2012 del compilador GNAT de
http://libre.adacore.com
2. También puede descargarse de:
http://marte.unican.es/downloads/gnat/gnat-gpl-
2012-i686-gnu-linux-libc2.3-bin.tar.gz
3. Descargar MaRTE OS
• Ultima versión (no disponible en la web de MaRTE) http://
marte.unican.es/marte_1.9_27Jul2012_src.tgz
• Versiones anteriores pueden descargarse de la web de MaRTE
http://marte.unican.es sección “Downloads”
Programación Concurrente
© M. Aldea
oct-13
3
Práctica 1: (Tema 2) Instalación de MaRTE OS
Instalación del compilador GNAT
1. Descomprimir e instalar el compilador siguiendo las
instrucciones del fichero INSTALL1 de MaRTE
• instalar en el directorio /home/marteosuser/gnat-2012/
2. no olvidar poner el directorio "bin" del GNAT al frente del path
$ export PATH=$HOME/gnat-2012/bin:$PATH
1. Disponible en http://marte.unican.es/documentation.htm
Programación Concurrente
Práctica 1: (Tema 2) Instalación de MaRTE OS
Instalación de MaRTE OS
© M. Aldea
oct-13
1. Descomprimir en /home/marteosuser/
2. Seguir las instrucciones del fichero “INSTALL”
3. Compilar las arquitecturas:
- linux_lib
- x86 con procesador pii
Programación Concurrente
Práctica 1: (Tema 2) Instalación de MaRTE OS
© M. Aldea
oct-13
Entorno de desarrollo cruzado
4
5
Equipo de desarrollo
• ejecuta el entorno de
desarrollo
Equipo “empotrado”
• ejecuta la aplicación
En el curso utilizaremos dos entornos diferentes:
• equipo empotrado se emulado con QEMU
• equipo empotrado real
Programación Concurrente
© M. Aldea
oct-13
6
Práctica 1: (Tema 2) Instalación de MaRTE OS
Entorno de desarrollo emulado
equipo empotrado
Emulado con QEMU
Programación Concurrente
Práctica 1: (Tema 2) Instalación de MaRTE OS
© M. Aldea
oct-13
equipo de
desarrollo
7
Entorno de desarrollo emulado (cont.)
Computador de desarrollo
Computador de ejecución
(QEMU)
carga de la aplicación
#include
<stdio.h>
int main()
{
printf ("Hola");
return 0;
}
compilación
Núcleo
MaRTE OS
Librerías
Código
objeto
Drivers
MaRTE OS
Inicialización
plataforma
qemu -kernel a.out
enlazado
Programa
Ejecutable
Programa
Ejecutable
Inicializa
el sistema
Ejecuta programa
del usuario
Programación Concurrente
Práctica 1: (Tema 2) Instalación de MaRTE OS
© M. Aldea
oct-13
8
Entorno de desarrollo emulado (cont.)
Ciclo de desarrollo:
1. Compilación y enlazado de la aplicación
$ mgcc -Wall programa.c
- compilar con -g
- ejecutar QEMU de forma que se sincronice con el depurador
2. Ejecución en el equipo empotrado (QEMU)
$ qemu -kernel a.out
3. Depuración "remota"
$ mgcc -g -Wall programa.c
$ qemu -kernel a.out -s -S &
$ gdb a.out
(gdb) target remote localhost:1234
(gdb) break main
(gdb) cont
- ejecutar el depurador
- Configurar el depurador para que se sincronice con QEMU
Programación Concurrente
© M. Aldea
oct-13
9
Práctica 1: (Tema 2) Instalación de MaRTE OS
Entorno de desarrollo “real”
equipo
empotrado
monitor/teclado compartidos por
los equipos empotrado y de desarrollo
switch de
monitor/teclado
equipo de
desarrollo
Programación Concurrente
Práctica 1: (Tema 2) Instalación de MaRTE OS
© M. Aldea
oct-13
10
Entorno de desarrollo “real” (cont.)
Computador de desarrollo
Computador de ejecución
t
o
o
b
r
e
h
t
E
carga de la aplicación
Programa
Ejecutable
Inicializa
el sistema
Ejecuta programa
del usuario
#include <stdio.h>
int main()
{
printf ("Hola");
return 0;
}
compilación
Núcleo
MaRTE OS
Librerías
Código
objeto
Drivers
MaRTE OS
Inicialización
plataforma
Ethernet
enlazado
Programa
Ejecutable
Programación Concurrente
Práctica 1: (Tema 2) Instalación de MaRTE OS
© M. Aldea
oct-13
11
Entorno de desarrollo “real” (cont.)
Ciclo de desarrollo:
1. Compilación y enlazado de la aplicación
$ mgcc -Wall programa.c
2. Copia del programa al servidor
$ marte_exporta a.out
3. Arranque del equipo empotrado
- obtiene el programa del servidor
- ejecuta el programa
4. Depuración "remota"
- posible a través de una línea serie
- no disponible en el laboratorio
- ver la guía del usuario de MaRTE OS (marte_ug.html)
Programación Concurrente
© M. Aldea
oct-13
12
Práctica 1: (Tema 2) Instalación de MaRTE OS
Primer programa
1. Escribir un programa "hola mundo"
2. Configurar MaRTE para que use la arquitectura “linux_lib”
3. Ejecutar el programa
4. Configurar MaRTE para que use la arquitectura “x86” con
procesador “pii”
5. Ejecutar el programa en QEMU
6. Ejecutar el programa utilizando el equipo empotrado real
Programación Concurrente
© M. Aldea
oct-13
13
Comentarios de: Práctica 1: (Tema 2) Instalación de MaRTE OS (0)
No hay comentarios