Yoctoproject meta-fsl-arm and imx53 quick start board

Yoctoproject is a solid framework for creating Linux distributions for embedded devices, and its layering mechanism makes it easy to add Linux OS to new target devices; With highly customization for a particular device it can include custom start-up scripts, software packages built with a high degree of optimization for a particular architecture and different user graphical interfaces from full Gnome desktop to a simple a serial console.

YP has 2 basic layers, board support packages layer and core layer; In the BSP layer is where we include all the custom software and configuration tweaks for a particular platform; The core layer provides the common software stack to provide from a simple command line interface to Sato desktop interface (Matchbox based and Gnome mobile stack). A third layer could be added to provide additional user interfaces such as LXDE, XFCE, Active plasma and more; YP is quite flexible.

One of the problems with Freescale i.MX based platforms is the lack of openness, getting the BSP provided by FSL requires to download a large tarball which bundles the kernel, boot loader, user space applications and Ltib an ancient build system which generates a file system so 2004, literary the software stack is around those years probably older. And that’s why I started working on YP BSP support for i.MX5 targets, and now the project has it’s on life with active members helping on getting the best support possible.

Freescale iMX53 quick start board is an Arm cortex-a8 low cost development board, with interesting peripheral interfaces like Sata II, hdmi and GPU based on AMD Z160. And YP BSP layer has a decent support for it, at github Freescale site there are instructions on how to get started.

But with newest i.MX6 processor a Wandboard should be more appealing.

Advertisements

Xilinx 11.4 on Fedora 12; Playing with Spartan 3e starter kit

A few months ago I was at the Mexico city airport waiting for my flight departure and to kill time I went to look at magazines shop and found a Linux Journal with an article that cough my eye “Bere-Metal hacks with fpga programming” Marco Fioretti
article describes some FPGA basics covering Xilinx design tools, so I give a try to use Xilinx suite using an target platform a Spartan3e starter kit.
Xilinx suite does a better job than Altera Quartus software, installation is simpler not to mention that far less workarounds to get the environment setup and running; I found Gorge’s wiki a well document procedure to install Xilinx tools plus installing an alternative Jtag driver. The next steps are a simplification to get everything working under Fedora 12.
1. Get Xilinx suite.
Go to http://www.xilinx.com/support/download/index.htm and get the full DVD suite or the Web installer client as you prefer; I downloaded the full suite `Xilinx_11.1_ISE_DS_SFD.tar`
2. Untar
tar xf Xilinx_11.1_ISE_DS_SFD.tar
3. Run the installer script
./xsetup
4. Install Jtag driver
Install dependencies
sudo yum -y install fxload libusb-devel
Get source code for alternative usb-driver
git clone git://git.zerfleddert.de/usb-driver
Build the driver
cd usb-driver
make
Copy the driver to a place that Xilinx tools can find it.
cp libusb-driver.so /opt/Xilinx/11.1/common/lib/lin64/
Copy udev rules and Jtag firmaware
cd /opt/Xilinx/11.1/common/bin/lin64/install_script/install_drivers/linux_drivers/pcusb/
sudo cp xusbdfwu.rules /etc/udev/rules.d/
sudo cp *.hex /usr/share/
Reload udev rules *Only needed the first time
sudo udevadm control –reload-rules
5. Create a setup-xlnx script and add the next lines
#!/bin/sh
# Xilinx Webpack 11.1
XILINX_BASE=”/opt/Xilinx”
XILINX_VERSION=”11.1″
DISPLAY=:0
source ${XILINX_BASE}/${XILINX_VERSION}/settings64.sh
source ${XILINX_BASE}/${XILINX_VERSION}/ISE/settings64.sh
source ${XILINX_BASE}/${XILINX_VERSION}/EDK/settings64.sh
# No need to preload usb library if you installed in a location
# where xlnx tools can find it
#export XIL_IMPACT_USE_LIBUSB=0
#export LD_PRELOAD=/usr/local/lib/libusb-driver.so
# Optional Xilinx license definitions, if you have access to them
#export XILINXD_LICENSE_FILE=”2100@pcdesign;X:\licenses\Xilinx.lic”
#export LM_LICENSE_FILE=”2100@pcdesign;X:\licenses\Xilinx.lic”
6. Open a terminal and source the setup-xlnx script
source setup-xlnx
7. Optionally run the xilinxupdate utility to get latest updates
xilinxupdate
8. Start playing with Xilinx tools
ise – hdl design
xps – system integration
xps_sdk – software development environment
impact – programming tool
9. Programming the FPGA
Once a you complete an hdl design you need to generate a bitstream file to program the FPGA the tools also crates a script that can be used to automate the programing process just run
impact -batch <project-path>/etc/download.cmd
10. Continue learning
I have found in youtube several tutorial for hdl design using Xilinx tools even complete courses thanks to several Indian institutes of Technology