Savage Board

İşlemci Freescale i.MX6 Cortex A9 1Ghz / Quad Core
RAM DDR3 1GB
Storage eMMC 8GB
GPU 3D GPU Vivante GC2000
Hard FP (eabihf) Var
USB 2x Ext / 1x Int 1with mPCIe
SATA Var
Micro SD Kart Var
Ethernet Var (Gigabit)
HDMI Var
Konsol Var, RS232 DB9
NAND Flash Yok

Toolchain Seçimi

Savage Board hard-floating desteğine sahip olduğundan eabihf toolchain'ler kullanılabileceği, soft-float toolchain'ler de kullanılabilmektedir.

Güncel Linaro, CodeSourcery ve Arago toolchain'leri sorun yaşamadan kullanabilirsiniz.

U-boot

http://www.savageboard.org adresinden Download bölümünden uboot-savage-1.5.tar.gz dosyası indirilmelidir. Aşağıdaki şekilde güncel versiyonu indirilip hardfp veya softfp toolchain'ler ile derlenebilir:

$ wget http://www.savageboard.org/Downloads/uboot-savage-1.5.tgz
$ tar xf uboot-savage-1.5.tgz
$ cd uboot-imx
$ make CROSS_COMPILE=arm-none-linux-gnueabi- mx6q_savage_config
$ make CROSS_COMPILE=arm-none-linux-gnueabi- -j4

İşlem bitiminde uboot.bin dosyası oluşacaktır. Bu dosyayı kullanarak sistemi recovery yöntemiyle açabilirsiniz. Ancak derlediğiniz u-boot binary imajını eMMC içerisinde yer alan imaj ile değiştirmek için yapılması gereken ek işlemler bulunmaktadır. Konunun detayına geçmeden, iMX6 serisinde kullanılan IVT Tablosu Kullanımı konusuna değinmemiz gereklidir.

IVT Tablosu

U-boot Konsolunda Çalışmak

mmc dev 2
setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw
fatload mmc 2:1 0x12000000 uImage
bootm 0x12000000

Kernel

http://www.savageboard.org adresinden Download bölümünden kernel_savage-1.5.tgz dosyası indirilmelidir.

$ wget http://www.savageboard.org/Downloads/savage-arch-kernel-3.10.17-1.1.tar.gz
$ tar xf savage-arch-kernel-3.10.17-1.1.tar.gz
$ cd savage-kernel-3.10.17-20141127
$ cp arch/arm/config/savage_defconfig .config
$ make ARCH=arm imx6q-savage.dtb uImage -j8 \
    LOADADDR=0x10008000 DTB=imx6q-savage.dtb \
    CROSS_COMPILE=arm-none-linux-gnueabi-

Modülleri derlemek için:

$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules -j8

Modüller derlendikten sonra modules_install target'ı kullanılarak, modüllerin kurulacağı kök dosya sistemi INSTALL_MOD_PATH parametresi ile aşağıdaki gibi verilmelidir (kök dosya sisteminin /opt/savage dizininde oluşturulduğunu varsayarsak):

$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- \
    INSTALL_MOD_PATH=/opt/savage modules_install

Recovery

Board'un açılmaması, boot yükleyici alanının bozulması vb. durumlarında kullanabileceğiniz bir recovery mekanizması mevcuttur.

Cihazı bu moda geçirebilmek için, micro-usb kablosu cihaz ile bilgisayarınız arasında takılı durumdayken, kartın ortasındaki küçük butona basılı tutup karta enerji vermeniz gereklidir. Bu şekilde açıldığında bilgisayarınızdan lsusb ile bakıldığında aşağıdaki gibi bir çıktı görünecektir:

$ lsusb
Bus 001 Device 009: ID 15a2:0054 Freescale Semiconductor, Inc. i.MX6Q SystemOnChip in RecoveryMode

Kart recovery modunda iken, micro-usb kablosu üzerinden derlemiş olduğunuz u-boot.bin dosyasını karta gönderebilir ve çalıştırılmasını sağlayabilirsiniz. Ancak bu süreci işletebilmek için, öncelikle imx_usb_loader projesini indirip derlemeliyiz. Projeyi derleyebilmeniz sistemde libusb development paketleri de kurulu olmalıdır, değilse öncelikle aşağıdaki şekilde paketleri yüklemelisiniz:

$ sudo apt-get install libusb-1.0-0-dev libusb-dev

Ardından projeyi clone'layıp aşağıdaki şekilde derleyiniz:

$ git clone https://github.com/boundarydevices/imx_usb_loader.git
$ cd imx_usb_loader
$ make

İşlem bitiminde imx_usb uygulaması oluşacaktır. Uygulamayı sudo aracılığıyla root erişim haklarıyla çalıştırıp, parametre olarak derlediğiniz u-boot.bin dosyasını vermelisiniz:

$ sudo ./imx_usb ../uboot-imx/u-boot.bin

results matching ""

    No results matching ""