Version 30 (modified by rafa, 8 years ago)

--

RoboTitos

Encore ENTC-1000

  • Informacion de la SDRAM y la FLASH
  • Toolchain
  • U-BOOT
    • Instrucciones para Construir u-boot
    • Flashing u-boot
  • Kernel Linux
    • Construyendo el kernel
    • Boot del kernel Linux
  • Open Embedded
  • Cliente Delgado

Informacion de la SDRAM y la FLASH

Direccion de la Imagen en la FLASH

Empezamos a probar metodicamente 0x60000000, y luego 0x60001000 (como dice la pagina del boot del manual).

El "CRUS" original del Encore entc-1000 está en la direccion FLASH 0x60001000 :)

Pero nosotros hicimos flash del u-boot utilizando el programa download, que puede haberlo colocado en la direccion FLASH 0x60000000

La direccion de RAM base es 0xc0000000

Toolchain

En ubuntu :

apt-get install binutils-arm-linux-gnueabi cpp-4.5-arm-linux-gnueabi gcc-4.5-arm-linux-gnueabigcc-4.5-arm-linux-gnueabi-base

Si no :

 http://arm.cirrus.com/files/tools/arm-linux-gcc-4.1.1-920t.tar.bz2

 http://arm.cirrus.com/files/tools/arm-elf-gcc-3.2.1-full.tar.bz2

U-BOOT

El uboot utilizado es el de la sim1.

Se modificó para :

  • Configurar los 64MB de RAM (el uboot de la sim1 es para 32MB)
  • Configurar el ambiente para la ejecucion correcta del Linux kernel (le pasamos los parametros de root/dev/sda1, etc)
  • Cargar el kernel nuestro desde la FLASH si se puede leer el kernel desde una particion chiquita vfat en un pendrive

Instrucciones para Construir u-boot

Fuente :  http://code.google.com/p/sim1/wiki/BootLoader#Compiling_u-boot_from_source

wget http://sim1.googlecode.com/files/u-boot-1.1.6-sim_one-20110329.tgz
tar xzf u-boot-1.1.6-sim_one-20110329.tgz
cd u-boot-1.1.6
CROSS_COMPILE=arm-linux-gnueabi- make sim_one_config
CROSS_COMPILE=arm-linux-gnueabi- make u-boot.bin

Flashing u-boot

Utilizamos el programa "download" :

 http://arm.cirrus.com/files/download/Download_1-0-5.tar.gz

download u-boot.bin

Kernel Linux

El kernel tiene que ser un uImage

Construyendo el kernel

Kernel para el Encore ent-1000

wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.1.1.tar.bz2
tar xvjf linux-3.1.1.tar.bz2

cd linux-3.1.1
cp arch/arm/configs/ep93xx_defconfig .config

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-  menuconfig
#
#  Seleccionar como SDRAM base 0xc0000000
#
#  Deshabilitar las demas boards. Habilitar solo la edb9307a

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-  uImage

Escribir el kernel Linux en la FLASH

Ejemplo:

ENTC1000> erase 60080000 607FFFFF
ENTC1000> tftp 60080000 uImage

Boot del kernel Linux

Ejemplo:

#### SIM.ONE setenv bootargs 'root=/dev/sda1 rootdelay=10 console=ttyAM video=ep93xx-fb:vout=0,vmode=1'
SIM.ONE setenv bootargs 'root=/dev/sda1 rootdelay=10 console=ttyAM video=ep93xx-fb:800x600-16@60'
SIM.ONE tftp c0200000 uImage
SIM.ONE bootm c0200000

Ejemplo para iniciar un kernel Linux desde la FLASH :

ENTC1000> cp.b 0x60080000 0xc0200000 0x255000 
ENTC1000> bootm c0200000

Openembedded

git clone LINK-openembedded
# se utiliza el commit 10a36a519ce53c9013e117fb8eee169f903070aa 
# Author: Philip Balister <philip@balister.org>
# Date:   Tue Aug 9 10:28:10 2011 -0400

# cat build/conf/local.conf 
BBFILES = "/home/embebidos/encore/ep9307/openembedded/recipes/*/*.bb"
DISTRO = "angstrom-2010.x"
MACHINE = "ep93xx"
TARGET_OS = "linux"

# Version de bitbake : bitbake-1.10.2

Cliente Delgado

En el servidor iniciamos el servidor vnc :

 tightvncserver :1 -geometry 800x600

En el Encore ejecutamos el cliente VNC :

Xfbdev -mouse mouse,,device=/dev/input/mouse0 &
tightvncviewer 10.0.2.253:2 -fullscreen -compresslevel 9 -quality 7