200 likes | 490 Views
Linux BSP for Vybrid. Carl Chien/Sr. FAE. Agenda. Host Requirements and Setup BSP Download Target Requirements SD Card boot-up. Host Requirements .
E N D
Linux BSP for Vybrid Carl Chien/Sr. FAE
Agenda • Host Requirements and Setup • BSP Download • Target Requirements • SD Card boot-up
Host Requirements • Modern GNU/Linux Distribution. While you can use nearly any modern Linux distribution released in the last 24 months, Timesys recommends one of the following: • Ubuntu (Most recent release or LTS) • Fedora (Most recent release)
Host Setup • Before getting started with the Timesys Factory, make sure the host system has all of the required software packages. Run the checksystem make target from within the factory directory to scan your host system for required software. This utility will inform you of any missing host requirements and how to resolve them. $ make checksystem • Running the build environment as the root user is discouraged in order to ensure the safety of the host work station.
Host Setup (Cont.) https://linuxlink.timesys.com/docs/wiki/factory/FactoryHostRequirements Ubuntu 12.04 LTS or later • apt-get install build-essential libc6-dev libtoolsharutils libncurses5-dev libgmp3-dev libmpfr-dev gawk gettext bison flex gperf indent texinfo libgtk2.0-dev libgtk2.0-bin libsdl1.2-dev swig python-dev texlive-latex3 texlive-extra-utilsbinutils-dev automake guile-1.8 icon-naming-utils libdbus-glib-1-dev wgetgtk-doc-tools libxml-parser-perl zip unzip ecjfastjar x11-xkb-utils libglade2-dev libperl-dev python-libxml2 libexpat1-dev gconf2 groff libc6-dev-amd64 • run sudodpkg-reconfigure dash and respond "No" to the prompt asking "Install dash as /bin/sh?" • For 64-bit host machines only: apt-get install ia32-libs libc6-dev-i386
BSP Download for Freescale TWR-VF65GS10 • MCC demo • MCC WebGL accelerometer • Minimal with gator for DS5 • Theater demo
BSP Download for Freescale TWR-VF65GS10 • Download SDK installertwr_vf600-development-environment.sh • Set executable permissionschmod +x twr_vf600-development-environment.sh • Run the installer ./twr_vf600-development-environment.sh • Download Desktop Factory Installertwr_vf600-factory-installer.sh • Set executable permissionschmod +x twr_vf600-factory-installer.sh • Run the installer ./twr_vf600-factory-installer.sh
Build BSP for Freescale TWR-VF65GS10 make –j4 for all images Common Make/Build Targets The following can be used with make directly on the command line: • menuconfig, oldconfig -- kconfig CLI configuration utilities • sources -- download all sources archives and patches required to build selections • toolchain -- build and package the cross toolchain • host-utilities -- build the host utilities • rfs -- compile all the selections and kernel and create the RFS output • rfs-images -- generate the RFS images (called by RFS) • packages -- generates packages for all selections • installer -- generates the installer for the factory distribution • distclean -- purges build directories and files • rfs-distclean -- reset RFS working directory • packages-distclean -- reset packages • busybox-menuconfig -- fetches files and invokes the busyboxmenuconfig interface • kernel-menuconfig -- fetches files and invokes the Linux kernel menuconfig interface • uclibc-menuconfig -- fetches files and invokes the uClibcmenuconfig interface
Vybrid Release Notes https://linuxlink.timesys.com/docs/wiki/engineering/vybrid_release_notes • MQX 4.0.1 Beta 2 - updated from Beta 1 • mcc-accelerometer-demo • This is an MCC application that will output accelerometer data to the MQX terminal. • mcc-webgl-accelerometer-demo • This is an MCC application that serves WebGL 3D pages to render Vybrid tower tilting in real time. • Bug fixes • For Vybrid Tower board kernel: • Serial driver fix in Linux kernel for binary transfer of files from host to target via serial. • While(1) fix in Vybrid Linux kernel. • A program that consumed 100% CPU cycles starved any other running processes of CPU bandwidth. A kernel patch related to the scheduler for Vybrid has fixed this issue. • Known Issues • A race condition in MCC can cause one side to send a buffer while the other side is deleting the endpoint
Target Requirements To boot the Freescale Vybrid TWR-VF65GS10using NFS (network filesystem), you will need the following items: • Freescale Vybrid TWR-VF65GS10 • Freescale Tower TWR-VF600 Board (Rev E silicon or later) • Freescale Tower Elevator boards • Freescale Tower Serial Expansion module (TWR-SER or TWR-SER2) • Micro USB Cable and USB Power Supply • RS232 Serial Cable • Ethernet Crossover Cable or Ethernet hub/switch and Ethernet Patch Cables • microSD card
Preparing the SD Card 1. Make 2 partitions on your SD card Device Boot Start End Blocks Id System /dev/sdb1 5 8 6360 c W95 FAT32 (LBA) /dev/sdb2 10 669 1049400 83 Linux 2. dd your u-boot binary (u-boot.imx) to a 1KB offset on your SD card. sudodd if=./u-boot.imx of=/dev/sdbbs=1k seek=1 3. Copy the kernel image to SD card sudo cp ./uImage-3.0-ts-armv7l /media/KERNEL/ 4. Untar RFS to SD card cd /media/RFS/ Sudo tar –zxvf ./rootfs.tar.gz
Preparing the SD Card (Cont.) setenvbootcmdfatloadmmc 0:1 0x81000000 uImage-3.0-ts-armv7l\;bootm 0x81000000 setenvbootargsmem=128M console=ttymxc1,115200 root=/dev/mmcblk0p2 rwrootwait saveenv
Preparing the SD Card (Cont.) • mcc-kmod - this is the kernel driver module • libmcc - this is the API user-space library • mqxboot - this is the utility to load and boot an MQX image • cd / /sbin/modprobemccmqxboot pingpong_example_twrvf65gs10_m4.bin 0x3f000000 0x3f000485 mcc-pingpong • You should see MQX output on the console and Linux output on the ssh shell