creacion de imagenes - sase · 2018. 11. 9. · tftp 0x72200000 linux.bin baja el linux.bin desde...

46
Copyright 2009 ATMEL CONFIDENTIAL ® Creacion de Imagenes Santiago Morrison FAE 1

Upload: others

Post on 12-Nov-2020

25 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

Creacion de Imagenes

Santiago Morrison

FAE

1

Page 2: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

2

Agenda

Inicialización y descarga de Imágenes

Conceptos

Sobre herramientas de compilación

Conceptos relacionados con el Core

Breve reseña de la estructura de Linux- Espacio de Kernel y de Usuario,drivers

Comenzando a trabajar con AT91- Descargando Imagenes con SAM-BA

- Modificando SAM-BA

- Modificando BootStrap

- U-Boot

- Creacion de Imagenes

->BuildRoot

->OpenEmbedded

Page 3: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

3

Inicialización y descarga de Imágenes

Herramientas Gratuitas para abrir imagenes :

VirtualBox , VMPlayer

Imagenes de VMWARE

http://www.thoughtpolice.co.uk/vmware/

Sitios de Interes

www.atmel.com,

www.avrfreaks.net ,

www.ubuntu.com ,

www.at91.com ,

www.vmware.com ,

http://www.linux4sam.com/ ,

http://www.at91.com/android4sam

www.yagarto.de

www.buildroot.org

www.buildroot.net

www.kernel.org

www.openembedded.org

Page 4: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

4

Conceptos sobre herramientas de compilación

Distribucion Nativa

Toolchain

Make y otras herramientas

SAM-BA (Aplicacion sobre SO)

BuildRoot http://buildroot.uclibc.org/

OpenEmbedded http://www.openembedded.org

Page 5: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

5

SAM-BA

SAM-BA GUI (AT91 ISP)

Modificacion de SAM-BA es posible mediante archivos scripts

TCL

Page 6: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

6

SAM-BA GUI: Solucion gratuita para grabar memorias on board

Serial port, USB and JTAG SAM-ICE support

Interface grafica y por linea de comandos

Facil customizacion de la herramienta

AT91Boot_DLL.dll: Solucion gratuita para aquellos que desean

hacer su propia interface grafica

4. NVM Programming SolutionsSAM-BA

Page 7: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

7

SAM9G20 Boot Sequence

Power Up

BMS = 1Yes No

NandFlash-Boot on

EBI Chip Select 3

SAM-BA Boot

Boot From

External Memory

on EBI Chip Select 0

User Application

SDCard-Boot on MCI

EEPROM-Boot on TWI

SerialFlash-Boot then

DataFlash-Boot

on SPI0 Chip Select 0

SerialFlash-Boot then

DataFlash-Boot

on SPI0 Chip Select 1

Optional

Page 8: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

8

SAM9G45/46/M10/M11 Boot Sequence

Power Up

BMS = 1Yes No

NandFlash-Boot

SAM-BA Boot

Boot From

External Memory

on EBI Chip Select 0

Boot on on-chip RC

User Application

SDCard-Boot on MCI

EEPROM-Boot on TWI

SerialFlash-Boot then

DataFlash-Boot

on SPI0 Chip Select 0

OptionalBoot on on-chip RC

Page 9: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

9

BuildRoot

Es un conjunto de scripts que nos permitirán configurar nuestra sistema

operativo para el sistema embebido .

Es un Makefile configurable el cual baja , configura y crea cross

compilers , el kernel , busybox , y casi todas librarías necesarias para

una simple , y pequeña instalación de una distribución de Linux , asi

también como un sistema de archivos basado en uClibc

Este utiliza un sistema de archivos denominado KConfig , al cual

tenemos acceso .

Cuando guardamos la configuración genera archivos .config , los cuales

son los que finalmente se encargan de decir que debe ser construido ,

bajado , instalado , etc

Por otra parte es relativamente fácil agregar la aplicación al árbol de

archivos dentro del KConfig

BuildRoot se puede descagar de http://buildroot.uclibc.org/

Que es BuildRoot?

Page 10: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

10

Buildroot

Una vez descargado

Ejecutaremos “make menuconfig”

Una vez configurado

Ejecutaremos solo “make “

y complirara nuestra configuracion

Page 11: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

11

OpenEmbedded

OpenEmbedded es usualmente definido como

una meta-distribucion , la que busca proveer

distribuciones de Linux Embebidas hechas a

mano desde cero

Por lo tanto no podemos definir a OpenEmbedded

como una distribucion de Linux en si misma

Es una coleccion de unidades metadata

conducidas por una herramienta , que convierta

estos datos / unidades en tareas de ejecucion

Que es OpenEmbedded?

Page 12: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

12

Conceptos relacionados con el Core

Secuencia de Boot

BootStrap

U-Boot

Imagen que contiene el kernel

Root File System

Page 13: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

13

Secuencia de Boot

Standard Application Deployment

1st Level Bootloader(NVM Memory Bootloader)

2nd Level

Bootloader

(Optional)

3rd Level

Bootloader

Main Application

AT91 AT91

BootstrapBootstrap

UU--bootboot

EE--bootboot

LinuxLinux

WinCEWinCE

Standalone AppStandalone App

FLASH

Media(s)

Page 14: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

14

Secuencia de Boot

Page 15: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

15

AT91 Bootstrap

Free 2nd Level Bootloader for SAM9 MPU

AT91Bootstrap integrates several sets of algorithms:

Device initialization such as clock speed configuration, PIO settings,

SDRAM initialization

Physical media algorithms such as DataFlash, NAND Flash, etc.

Loaded thanks to NVM Memory Bootloader located in ROM

Latest Version is integrated in our software packages

NVM Memory Bootloader Support GNU IAR Keil

NAND Flash

AT45 DataFlash

25xxx Serial Flash

SD Card

CFI NOR Flash

3. Application Deployment Bootstrap

Page 16: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

16

U-Boot

Nombre

Das U-Boot

Universal Bootstrap Loader

Plataforma que soporta

ARM, 32-bit AVR, MIPS, X86, PPC and other

Codigo Fuente

http://git.denx.de/

Licencia: GNU GPL

Page 17: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

17

En la fase desarrollo , ayuda a desplegar el kernel , driver , rootfs a

traves de la red

Provee soporte de red

No es necesario borrar la flash cuando el kernel o rootfs son

desplegados

Provee comandos de usuario

Provee comandos de read/write para flash y tambien para la

memoria volatil

Operaciones de Hardware

Pasa parametros al kernel en la fase boot

Por que U-Boot es necesario?

U-Boot

Page 18: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

18

NVM Boot

U-Boot es necesario? – Secuencia Local de Boot

SRAM

NandFlash-Boot

SAMBA Boot

ROM

DDRAM

NandFlash-Boot

0x00300000 0x73F00000

Current running Application in Red

U-Boot

0x00000000

0x00200000

0x00020000

NAND FLASH

Linux Kernel

AT91BootstrapAT91Bootstrap

Linux Kernel

U-Boot

AT91Bootstrap U-Boot

Linux Kernel0x72200000

Root FS0x00400000

Physical Addr: Physical Addr:

NAND flash offset:

U-Boot

Page 19: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

19

MyIP: 10.0.0.20

Server IP: 10.0.0.10

Kernel Name: uImage

NFS position: /opt/rootfs

Zipped Linux

kernel

Linux

kernel

OpenEmbedded

rootfs (/opt/rootfs/)

NFS server

Linux image

(/srv/tftp/uImage)

TFTP server

10.0.0.10

u-boot

DDRAM

Why U-Boot is needed? - Network

Virtual MachineTarget board

U-Boot

Page 20: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

20

Imagen que contiene el kernel

Page 21: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

21

Comenzando a trabajar con AT91

Descargando Imagenes con SAM-BA

Modificando SAM-BA

Modificando BootStrap

U-Boot

Creacion de Imagenes

->BuildRoot

->OpenEmbedded

Page 22: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

22

Modos de Boot (SAM-BA)

AT91SAM9G45

Page 23: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

23

SAM-BA (cont)

Si SAM-BA esta corriendo y el proceso de enumeracion fue

exitoso deberimos ver un nuevo USB Device

Si es la primera vez , pedira de instalar el driver , el cual se

hara de forma automatica si SAM-B GUI fue instalado

Page 24: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

24

SAM-BA (Desde la linea de comandos)

Una vez que el Host detecto a USB Device ,corremos el demo para

descargar en la nandFlash la distribucion de Angstrom

Link del demo www.linux4sam.com

Page 25: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

25

En lugar de correr el .bat , abriremos la aplicacion ,y presionamos “Connect”

SAM-BA (GUI)

Page 26: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

26

Modificando SAM-BA

En el caso de que el hardware sea diferente del kit de evaluacion

,deberemos moficicar el applet

Buscar en el directorio applets , un archivo denominado build.log

En el se encuentra las diferentes posibilidades de compilacion

para distintas memorias

Si todo saliera bien luego de bajar el kernel/rootfs,la pantalla

deberia lucir asi

Page 27: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

27

Modificando SAM-Ba (cont,)

Tambien podria ser modificadomediante Eclipse

Ventaja :tiene editor incorporado

Desventaja: configuracion debe ser adecuada

Page 28: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

28

Modificando BootStrap

Los comentarios realizados para SAM-BA sobre como

deben moficarse valen para BootStrap tambien

Se puede modificar por lineas de comando o Eclipse

http://www.atmel.com/dyn/resources/prod_documents/AT91Bootst

rap1.16.zip

Page 29: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

29

U-Boot - Comandos

Memory

base – print or set base address

crc32 – calculate the crc32 checksum over an address range

cmp – compare two memory ranges (cmp staddr1 staddr2 size (hex))

cp – copy memory ( cp source targer size (hex))

md – display memory ( md (.b,.w,.l) addr size (hex))

- .b-byte , .w-word, .l-long

mm – modify memory (mm (.b,.w,.l) addr (hex)) will prompt for new value

mtest – simple memory test (mtest start end pattern (hex))

mw – memory write (mw [.b, .w, .l] address value [count] (hex))

nm – memory modify (nm [.b, .w, .l] address (hex))

loop – infinite loop on address range (loop [.b, .w, .l] address number_of_objects (hex))

Page 30: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

30

U-Boot Comandos

Flash operation

cp – copy memory (cp [.b, .w, .l] source target count (hex))

flinfo – print Flash memory information

erase – erase flash memory (see help for options)

protect – enable or disable flash protection

Download Commands

bootp - boot image via network using BOOTP/TFTP protocol

dhcp - invoke DHCP client to obtain IP/boot params

loadb - load binary file over serial line (kermit mode)

tftpboot, tftp- boot image via network using TFTP protocol

usbboot - boot from USB device

Page 31: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

31

U-Boot Comandos – Variables

Variables de entorno relacionadas a comandos

print – imprimi todas las variables por la salida standard

setenv – setea las variables de entorno

saveenv - guarda las variables de entorno en flash

run – corre los comandos de variables

bootd - boot default, i.e., run 'bootcmd‘

Page 32: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

32

U-Boot Variables

Que es una variable en U-Boot?

Variable puede ser configuracion

Variable pueden ser scripts de comandos

U-Boot comandos para variables ???

Variable como configuracion

Configuracion de red

- ipaddr – direccion de IP del board

- serverip – direccion de IP del servidor . TFTP o NFS

- netmask – mascara

Parametros de Boot

- bootargs – argumentos que seran pasados al kernel cuando el kernel comienza a correr

Variable como comandos

bootcmd – lista de comandos que seran llamados por el comando boot

Page 33: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

33

Examples - Commands

tftp 0x72200000 linux.bin

Baja el linux.bin desde tftp server hacia target address 0x72200000

md 0x72200000

Muestra contenido de memoria 0x72200000

nand read 0x72200000 0x200000 0x100

Lee 256 bytes desde nand flash a RAM.

- 0x72200000 es el target de RAM

- 0x00200000 es el offeset de la Flash

- 0x00100 es el tama#o de bytes a leer

print – muestras todas la actuales variables

setenv ipaddr 10.0.0.20 - configura Ip

setenv ipaddr ‘10.0.0.20’ - igual

setenv ipaddr - borra variable

Page 34: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

34

U-Boot Ejemplo

Host IP (tftp server) : 10.0.0.1

Kit IP : 10.0.0.20

Imagen:

Comandos :

setenv serverip 10.0.0.1

setenv ipaddr 10.0.0.20

setenv netmask 255.255.255.0

ping 10.0.0.10

setenv bootcmd 'tftp 0x72200000 linux-2.6.30-uImage; bootm 0x72200000'

saveenv

boot

En el Host copiar inux-2.6.30-uImage en la carpeta que se exporta

/srv/tftp

Page 35: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

35

U-Boot Otras Alternativas

Bajada de Imagines via Rs232

Bajada de Imagines via JTAG

Bajada de Imágenes via TFTP + DHCP

Bajada de Imágenes via TFTP SIN DHCP

Descompresion de Imágenes desde un servidor externo TFTP

SDCard

Entre otras

Page 36: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

36

Creacion de Imagenes - BuildRoot

Una vez descargado Buildroot , la carpeta se veria asi

El numero cambia constantmente , dependiendo de la version

Luego para configurarlo debemos correr el siguiente comando

„make menuconfig‟

Page 37: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

37

BuildRoot

Para obtener mas informacion de como modificar los scripts

http://www.at91.com/linux4sam/bin/view/Linux4SAM/BuildRootBuild#Add_your

_own_software_to_BuildRoot

Page 38: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

38

Creacion de Imagenes OpenEmbedded

Una vez instalado , asegurarse de que las variables de entorno ,

hayan sido establecidos ,en este caso las variables se encuentran

en el archivo oe_.env.sh

source ./oe_env.sh

Para corroborarlo correr „env‟

Page 39: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

39

local.conf

Uno de los archivos mas importantes se encuentra en :

/oe.openembedded/conf/local.conf

Dentro los distintos parametros ,podemos encontrar

DL_DIR = "/mnt/hgfs/oe_sources/“

BBFILES :="${TOPDIR}/openembedded/recipes/*/*.bb"

MACHINE = "at91sam9g45ekes"

Page 40: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

40

Actualizacion de Paquetes con OE

En el Target corremos los siguiente

opkg list_installed | less

opkg list_installed | grep busybox

opkg list_installed | grep gdbserver

Sabemos que no tenemos corriendo el gdbserver

Entonces volvemos al host

bitbake gdbserver

bitbake package-index

Vuelvo al Target para actualizar

opkg update

Page 41: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

41

OpenEmbedded

Como dijimos OpenEmbedded , en realidad se conecta con un

servidor externo , que es una distribucion confiable

Para saber adonde se conecta se necesita correr

git branch

Y se deberia ver algo asi

git config --list

Page 42: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

42

Trabajando con OpenEmbedded(2)

El servidor remoto es branch.stable_2009_training_test.remote:

Su nombre es el otorgado por default : “origin”.

remote.origin.url es un servidor interno de ATMEL el cual tiene un

espejo del servidor GIT OpenEmbedded

git://git.openembedded.net/openembedded or

http://repo.or.cz/r/openembedded.git/

branch.stable_2009_training_test.merge Nos dice que viene de un

branch llamado “stable_2009_kerneloe_training “

Page 43: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

43

Para ejemplificar tenemos una aplicacion de entradas – salidas llamada

“mysimplekey”

En el Host

cd openembedded/recipes/

Copiamos el contenido en recipes

mv /mnt/hgfs/src/application_dev/mysimplekey/full mysimplekey

cd mysimplekey

El ejemplo consta de un archivo de configuracion bitbake , archivo fuente

.c y un MakeFile

Compilando una aplicacion:MySimpleKey

Page 44: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

44

Compilando una aplicacion:MySimpleKey

En el archivo de configuracion BitBake vemos que se llama al

makefile

La directiva oe_runmake permite correr Makefile en un archivo .bb

Los flags de Cross compile ya se encuentran en el Makefile

Page 45: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

45

Compilando la aplicacion desde OE con Makefile

bitbake -b openembedded/recipes/mysimplekey/mysimplekey_1.0.bb -c

clean -D

bitbake –f -D -b

openembedded/recipes/mysimplekey/mysimplekey_1.0.bb –c compile

En el Target (placa)

busybox mount -t nfs 10.0.0.10:/opt/AT91SAM/oe/tmp/work/armv5te-

angstrom-linux-gnueabi/ /mnt

cd /mnt/mysimplekey-1.0-r0/

./mysimplekey

La aplicacion ya esta corriendo

Page 46: Creacion de Imagenes - SASE · 2018. 11. 9. · tftp 0x72200000 linux.bin Baja el linux.bin desde tftp server hacia target address 0x72200000 md 0x72200000 Muestra contenido de memoria

Copyright 2009 ATMEL CONFIDENTIAL

®

46

Creando una imagen con la aplicacion

Hasta aqui hemos visto como compilar y correr la aplicacion con OE

En nuestro caso vamos a encontrar recipes para crear imagenes dentro de

/openembedded/recipes/images

Uno de los recipes que nos permite trabajar en consola es

console-at91sam-images

Entonces desde el directorio /opt/AT91SAM/oe corremos

bitbake console-at91sam-iamges

Como nuestra aplicacion ya esta incluida dentro del directorio de recipes , la

imagen producida incluira nuestra aplicacion