TimeSys Linux BSP for Vybrid

advertisement
TM
Confidential and Proprietary
Freescale, the Freescale logo, AltiVec, C-5, CodeTEST, CodeWarrior, ColdFire, C-Ware, t
he Energy Efficient Solutions logo, mobileGT, PowerQUICC, QorIQ, StarCore and Symphony
are trademarks of Freescale Semiconductor, Inc., Reg. U.S. Pat. & Tm. Off. BeeKit, BeeStack,
ColdFire+, CoreNet, Flexis, Kinetis, MXC, Platform in a Package, Processor Expert, QorIQ
Qonverge, Qorivva, QUICC Engine, SMARTMOS, TurboLink, VortiQa and Xtrinsic are trademarks
of Freescale Semiconductor, Inc. All other product or service names are the property
of their respective owners. © 2011 Freescale Semiconductor, Inc.
1.
2.
3.
4.
Host Requirements and Setup
BSP Download
Target Requirements
SD Card boot-up
Confidential and Proprietary
2
TM
•
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)
Confidential and Proprietary
3
TM
•
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.
Confidential and Proprietary
4
TM
Confidential and Proprietary
5
TM
https://linuxlink.timesys.com/docs/wiki/factory/FactoryHostRequirements
Ubuntu 12.04 LTS or later
• apt-get install build-essential libc6-dev libtool sharutils 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-utils binutils-dev automake guile-1.8 icon-naming-utils
libdbus-glib-1-dev wget gtk-doc-tools libxml-parser-perl zip unzip ecj
fastjar x11-xkb-utils libglade2-dev libperl-dev python-libxml2 libexpat1dev gconf2 groff libc6-dev-amd64
• run sudo dpkg-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
Confidential and Proprietary
6
TM
1.
2.
3.
4.
MCC demo
MCC WebGL accelerometer
Minimal with gator for DS5
Theater demo
Confidential and Proprietary
7
TM
1.
2.
3.
4.
5.
6.
Download SDK installer twr_vf600-development-environment.sh
Set executable permissions chmod +x twr_vf600-developmentenvironment.sh
Run the installer ./twr_vf600-development-environment.sh
Download Desktop Factory Installer twr_vf600-factory-installer.sh
Set executable permissions chmod +x twr_vf600-factoryinstaller.sh
Run the installer ./twr_vf600-factory-installer.sh
Confidential and Proprietary
8
TM
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 busybox menuconfig interface
•
kernel-menuconfig -- fetches files and invokes the Linux kernel menuconfig interface
•
uclibc-menuconfig -- fetches files and invokes theConfidential
uClibcandmenuconfig
interface
Proprietary
9
TM
Confidential and Proprietary
10
TM
Confidential and Proprietary
11
TM
Confidential and Proprietary
12
TM
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
Confidential and Proprietary
13
TM
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
Confidential and Proprietary
14
TM
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.
sudo dd if=./u-boot.imx of=/dev/sdb bs=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
Confidential and Proprietary
15
TM
setenv bootcmd fatload mmc 0:1 0x81000000 uImage-3.0-ts-armv7l\;bootm 0x81000000
setenv bootargs mem=128M console=ttymxc1,115200 root=/dev/mmcblk0p2 rw rootwait
saveenv
Confidential and Proprietary
16
TM
•
•
•
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/modprobe mcc mqxboot
pingpong_example_twrvf65gs10_m4.bin 0x3f000000 0x3f000485
mcc-pingpong
•
You should see MQX output on the console and Linux output on the
ssh shell
Confidential and Proprietary
17
TM
TM
Download