Version 9 (modified by rafa, 8 years ago)

--

RoboTitos

Encore ENTC-1000

Direccion de la Imagen en la FLASH

Empecé 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 0x60001000 :)

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

Testeado con el código :

       ldr     r1, =0x60001000
       ldrb    r0, [r1]
       bl      SendChar

       ldr     r1, =0x60001001
       ldrb    r0, [r1]
       bl      SendChar

       ldr     r1, =0x60001002
       ldrb    r0, [r1]
       bl      SendChar

       ldr     r1, =0x60001003
       ldrb    r0, [r1]
       bl      SendChar

Toolchain

 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.

Falta:

  • Configurar los 64MB de RAM (el uboot de la sim1 es para 32MB)
  • Configurar el ambiente para la ejecucion correcta del Linux kernel

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

wget http://ftp.ua.postgresql.org/pub/mirrors/kernel.org/linux/kernel/v2.6/linux-2.6.24.7.tar.bz2
tar xvjf linux-2.6.24.7.tar.bz2 

wget http://martinwguy.co.uk/martin/4star/linux-2.6.24.7-simone.patch.bz2
bunzip2 linux-2.6.24.7-simone.patch.bz2 

cd linux-2.6.24.7/
patch -p1 < ../linux-2.6.24.7-simone.patch 

export PATH=$PATH:/home/rafa/cirrus/toolchain/4.1.1-920t/bin/
make ARCH=arm CROSS_COMPILE=arm-linux-  simone_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-  menuconfig 
make ARCH=arm CROSS_COMPILE=arm-linux-  uImage

Boot del kernel Linux

Ejemplo:

SIM.ONE tftp c0200000 vmlinux.gz.img
SIM.ONE bootm c0200000