NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

OMAP3530x Build enviroment guide beta 3 release

From Texas Instruments Wiki
Jump to: navigation, search

Software[edit]

This section lists the source packages required for creating the software package for WL1271

  • PSP Linux kernel

Version : linux-03.00.01.06.tar.gz
The download location of PSP SDK is <linux-03.00.01.06.tar.gz>


  • PSP tool chain for building packages for ARM cross platform

Version: arm-2009q1-203
The download location of the tool chain is <arm-2009q1-203 tool chain>

  • Bluetooth stack for Linux bluez-4.60.tar.gz
  • Hcidump source package bluez-hcidump-1.42.tar.gz
  • Inter-process communication system BUS dbus-1.2.14.tar.gz
  • EXPAT source package expat-2.0.1.tar.gz
  • Software utility library needed by BlueZ-4.60 glib-2.20.2.tar.bz2
  • Software library for parsing XML documents, libxml2-2.6.32.tar.gz
  • Stream oriented parsing library source package obexftp-0.23.tar.bz2
  • OBEX source package openobex-1.5.tar.gz
  • PCRE source package pcre-7.9.tar.bz2
  • USSP source package ussp-push-0.11.tar.gz
  • WLAN source package WiLink6.1.6.0.3.tar.bz2
  • OpenSSL source package openssl-0.9.8e.tar.gz
  • WPA Supplicant source package wpa_supplicant-0.5.7.tar.gz
  • IP Table source package iptables-1.4.3.2.tar.bz2
  • Iperf network testing tool source package iperf-2.0.5-source.tar.gz


Build Directory Structure[edit]

directory/files description
common This directory contains the source packages to be built
WL1271Build.sh Master script file to build the project
set_wl1271_build_env.sh Script file to set build environment variables
buildlog This directory contains log files generated during the packages build
kernel This directory contains extracted kernel sources along with the built binaries
wireless This directory contains extracted WLAN sources along with the built binaries
image This directory contains the binaries of all the compiled source packages


Software Source Packages[edit]

This section lists the source package information, in detail, and also provides the path for these source packages.

NOTE: Please ensure that all packages mentioned below are in the “common” directory of the build directory structure prior to the start of the build procedure.

kernel_src[edit]

This directory should contain the Linux kernel tar ball. i.e. linux-03.00.01.06.tar.gz. Download the PSP-SDK package from the following link: <linux-03.00.01.06.tar.gz>
Extract the package in a working directory on the Linux host. This should provide the Linux kernel linux-03.00.01.06.tar.gz for OMAP3 EVM in the directory “AM35x-OMAP35x-PSP-SDK-03.00.01.06/src/kernel/”. Copy the Linux kernel tar-ball to "OMAP35x_WL1271_Release/software/OMAP35x_WL1271_6.1.0.1.149_REL-0001/OMAP35x_WL1271_Sources/common/kernel_src"

bluetooth_src[edit]

This directory should contain the BT source tar files.

Package description
bluez-4.60.tar.gz Bluez source package
bluez-hcidump-1.42.tar.gz Hcidump source package
dbus-1.2.14.tar.gz Inter-process communication system BUS
expat-2.0.1.tar.gz EXPAT source package
glib-2.20.2.tar.bz2 Glib library needed by BlueZ-4.60
libxml2-2.6.32.tar.gz Software library for parsing XML documents,
obexftp-0.23.tar.bz2 Obexftp source package
openobex-1.5.tar.gz OBEX source package
pcre-7.9.tar.bz2 PCRE source package
ussp-push-0.11.tar.gz USSP source package

Note: If any of the above listed source packages are missing in the bluetooth_src directory, those packages need to be downloaded from the Web prior to the start of the Bluetooth build procedure.

were to get the required packages for Bluetooth[edit]

Package Release License Location
BlueZ 4.6 GPL, version 2 bluez-4.60.tar.gz
Bluez-hcidump 1.42 GPL, version 2 bluez-hcidump-1.42.tar.gz
Dbus 1.2.14 Academic Free License version 2.1 or GPL version2 dbus-1.2.14.tar.gz
Expat 2.0.1 Free expat-2.0.1.tar.gz
Glib 2.20.2 GPL, version 2 glib-2.20.2.tar.bz2
Libxml2 2.6.32 Free libxml2-2.6.32.tar.gz
Obexftp 0.23 GPL, version 2 obexftp-0.23.tar.bz2
OpenOBEX 1.5 GPL, version 2 openobex-1.5.tar.gz
Pcre 7.9 BSD pcre-7.9.tar.bz2
USSP-Push 0.11 GPL, version 2 ussp-push-0.11.tar.gz


wireless_src[edit]

This directory contains the WLAN source tar files

Package description location
WiLink6.1.6.0.3.tar.bz2 WLAN sources code TI deliverable
openssl-0.9.8e.tar.gz Open SSL source file openssl-0.9.8e.tar.gz
wpa_supplicant-0.5.7.tar.gz WPA Supplicant source file wpa_supplicant-0.5.7.tar.gz


script[edit]

This directory contains the script files described below

Package description
BTDemoScripts_04.tar BT demo script files
install.sh Installation script file
WebBrowse.sh Web browsing script file
wl1271_wlan.sh WLAN demo scripts


tools[edit]

This directory contains:

  1. iperf-2.0.5 source file, downloaded from <iperf-2.0.5-source.tar.gz>


BT_firmware[edit]

This directory contains the BT firmware

gallery[edit]

This directory contains the audio and JPG files

patches[edit]

This directory contains the patch files, as described below

Patch description
bluez-4.60_001_demo_patch Bluez patch file to modify configuration files
openobex-1.5_001_demo_patch OpenOBEX patch file to change timeout value test application
PSP-linux-03.00.01.06-wl1271-support.patch Linux kernel patch file for linux-03.00.01.06 to enable WLAN and Bluetooth support in the kernel configuration file and add GPIO settings for Bluetooth BT_EN signal
ussp-push-0.11_001_demo_patch USSP-push patch file to change Bluez API name


iptables[edit]

This directory contains iptables source tar file. iiptables-1.4.3.2.tar.bz2 - The package is downloaded from <iptables-1.4.3.2.tar.bz2>

Step-by-Step Build Procedure[edit]

This section describes the procedure to build the sources of the WL1271 Daughter card using the build scripts.

PSP-SDK version AM35x-OMAP35x-PSP-SDK-03.00.01.06[edit]

If PSP-SDK package is not installed already, download the PSP-SDK package from the following link: <AM35x-OMAP35x-PSP-SDK-03.00.01.06.tgz>

Installing Linux kernel linux-03.00.01.06.tar.gz[edit]

Extract the PSP-SDK package in a working directory on the Linux host. This should provide the Linux kernel linux-03.00.01.06.tar.gz for OMAP3 EVM in the directory AM35x-OMAP35x-PSP-SDK-03.00.01.06/src/kernel. Copy the linux-03.00.01.06.tar.gz to the directory 'kernel_src'.

Downloading and Installing tool chain[edit]

If arm tool chain is not installed already, download and install it from the following link. Version arm-2009q1-203: For PSP version AM35x-OMAP35x-PSP-SDK-03.00.01.06. The download location of the tool chain is <arm-2009q1-203>

Installing mkimage utility[edit]

In order to generate uImage, 'mkimage' utility is required on Linux host. mkimage source exists in the PSP-SDK package under u-boot source directory. Build the u-boot as per the instructions given in the PSP-SDK user guide. 'mkimage' binary will be generated under 'uboot-<version>/tools'. Copy the mkimage binary file to the ARM Toolchain bin directory.

Ex: cp tools/mkimage <tool chain>/bin

Building the project[edit]

This section describes the procedure to build the sources of the WL1271 Daughter card using the build scripts.

Downloading and Installing PSP-SDK version AM35x-OMAP35x-PSP-SDK-03.00.01.06[edit]

If PSP-SDK package is not installed already, download the PSP-SDK package from the following link: AM35x-OMAP35x-PSP-SDK-03.00.01.06.tgz

Installing Linux kernel linux-03.00.01.06.tar.gz[edit]

Extract the PSP-SDK package in a working directory on the Linux host. This should provide the Linux kernel linux-03.00.01.06.tar.gz for OMAP3 EVM in the directory AM35x-OMAP35x-PSP-SDK-03.00.01.06/src/kernel. Copy the linux-03.00.01.06.tar.gz to the directory 'kernel_src'.

Downloading and Installing tool chain[edit]

If arm tool chain is not installed already, download and install it from the following link. Version arm-2009q1-203: For PSP version AM35x-OMAP35x-PSP-SDK-03.00.01.06. The download location of the tool chain is arm-2009q1-203

Installing mkimage utility[edit]

In order to generate uImage, 'mkimage' utility is required on Linux host. mkimage source exists in the PSP-SDK package under u-boot source directory. Build the u-boot as per the instructions given in the PSP-SDK user guide. 'mkimage' binary will be generated under 'uboot-<version>/tools'. Copy the mkimage binary file to the ARM Toolchain bin directory.

Ex: cp tools/mkimage <tool chain>/bin/

Building the project[edit]

The script WL1271Build.sh is used to build entire packages or individual ones.

The build environment variables to be set in the file 'set_wl1271_build_env.sh';

  1. PSP_MAIN_VER – main version of the PSP SDK installed. default value should be 3
  2. PSP_REL_VER - version of PSP Linux kernel tar-ball included in the PSP-SDK PSP_REL_VER=03.00.01.06 for AM35x-OMAP35x-PSP-SDK-03.00.01.06
  3. ARM_TOOLCHAIN_PATH - absolute path of tool chain directory. Recommended tool chains is arm-2009q1-203

Ex: ARM_TOOLCHAIN_PATH=/opt/crosstools/codesourcery/arm-2009q1


  • Build script help

To find the build options that are supported by the WL1271Build Script, use the following command Usage: ./WL1271Build.sh --help

  • Build all

To build the kernel, WLAN, BT, iptables and iperf, use the following command Usage: ./WL1271Build.sh build all

  • Clean all

To clean the kernel, WLAN, BT, iptables and iperf build, use the following command Usage: ./WL1271Build.sh buildclean all

  • Rebuild all

To clean and build the kernel, WLAN, BT, iptable and iperf, use the following command Usage: ./WL1271Build.sh rebuild all

  • Delete all

To delete temporary build directories of the kernel, WLAN, BT, iptable and iperf, use the following command Usage: ./WL1271Build.sh builddel all

  • Kernel build

To build the kernel, use the following command Usage: ./WL1271Build.sh build kernel

  • Kernel clean

To clean the kernel build, use the following command Usage: ./WL1271Build.sh buildclean kernel

  • Kernel rebuild

To clean and build the kernel, use the following command Usage: ./WL1271Build.sh rebuild kernel

  • Kernel delete

To delete the kernel build directory, use the following command Usage: ./WL1271Build.sh builddel kernel

  • WLAN build

To build the WLAN, use the following command Usage: ./WL1271Build.sh build wlan

  • WLAN clean

To clean the WLAN build, use the following command Usage: ./WL1271Build.sh buildclean wlan

  • WLAN rebuild

To clean and build the WLAN, use the following command Usage: ./WL1271Build.sh rebuild wlan

  • WLAN delete

To delete the WLAN build directory, use the following command Usage: ./WL1271Build.sh builddel wlan

  • BT build

To build the BT, use the following command Usage: ./WL1271Build.sh build bluetooth

  • BT clean

To clean the BT build, use the following command Usage: ./WL1271Build.sh buildclean bluetooth

  • BT rebuild

To clean and build the BT, use the following command Usage: ./WL1271Build.sh rebuild bluetooth

  • BT delete

To delete the BT build deirectory, use the following command Usage: ./WL1271Build.sh builddel bluetooth

  • Iptable build

To build the iptable, use the following command Usage: ./WL1271Build.sh build iptable

  • Iptable clean

To clean the iptable build, use the following command Usage: ./WL1271Build.sh buildclean iptable

  • Iptable rebuild

To clean and build the iptable, use the following command Usage: ./WL1271Build.sh rebuild iptable

  • Iptable delete

To delete the iptable build directory, use the following command Usage: ./WL1271Build.sh builddel iptable

  • Iperf build

To build the iperf, use the following command Usage: ./WL1271Build.sh build iperf

  • Iperf clean

To clean the iptable build, use the following command Usage: ./WL1271Build.sh buildclean iperf

  • Iperf rebuild

To clean and build the iperf, use the following command Usage: ./WL1271Build.sh rebuild iperf

  • Iperf delete

To delete the iperf build directory, use the following command Usage: ./WL1271Build.sh builddel iperf

Built binaries setup[edit]


On successful completion of the build, ensure that uImage (Linux kernel image) and vXX.XX.XX.XX-WL6.1.6.0.tar.bz2 (WLAN and Bluetooth binaries) are available under image directory of the build directory structure.

  1. uImage - This is the Linux kernel image for OMAP3 EVM
  2. v03.00.01.06-WL6.1.6.0.3.tar.bz2 - This is the binaries tar ball file, which contains the following
  • Binaries of the WLAN
  • Binaries of the BT
  • Utilities (iperf, iptable and so on)
  • Script files (BT script, web browse script, installation script and so on)


Building kernel Modules[edit]


On successful compilation of the build, the contents of the directory would be as shown below; Ex. [arago@localhost Sources]$ ls bluetooth buildlog common image kernel README set_wl1271_build_env.sh wireless WL1271Build.sh

Execute the following commands to build the modules;
1 Change the directory to the kernel source directory
cd kernel/linux-03.00.01.06/
Ex. [arago@localhost Sources]$ cd kernel/linux-03.00.01.06/
2 Export the tool chain path
export PATH=<ARM_TOOLCHAIN_PATH>/bin:$PATH ---- where the <ARM_TOOLCHAIN_PATH> is the path of the toolchain installed on the host machine;
Ex: [arago@localhost Sources]$ export PATH=/opt/crosstools/codesourcery/arm-2009q1/bin:$PATH
3 Build the modules;
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules
Ex. [arago@localhost Sources]$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules
4 Install the modules into a directory on the host
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules_install INSTALL_MOD_PATH=<root fs path> ----- where the <root fs path> is a temporary directory on the host machine
Ex. [arago@localhost Sources]$ make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- modules_install INSTALL_MOD_PATH=~/omap_rootfs_modules
5 Change the directory to the <root fs path>
cd <root fs path>
Ex. [arago@localhost Sources]$ cd ~/omap_rootfs_modules/
6 Compress the modules;
tar -czf libmodules.tar.gz lib/
7 Copy the "libmodules.tar.gz" to the TFTP server as in case of uImage and v03.00.01.06-WL6.1.6.0.3.tar.bz2

In case of compilation issue[edit]

Q1 : Do I need to build any package manually? Ans :

  1. No, The script WL1271Build.sh can be used to build the Linux kernel, WLAN, BT, Iptables and Iperf.

Q2 : If the kernel build fails, what are the steps to follow? Ans :

  1. If the kernel build fails, check the following steps;
  2. Check that the “.config” file is available in the kernel source.
  3. Delete the kernel build directory ./WL1271Build.sh builddel kernel
  4. Build the kernel again ./WL1271Build.sh build kernel

Q3 : Build is successful, however, uImage (Linux kernel binary) is not generated under the directory “image”, what are the steps to follow? Ans :

  1. Check the following steps;
  2. Check that the “mkimage” tool is installed into the tool chain directory.
  3. Delete the kernel build directory ./WL1271Build.sh builddel kernel
  4. Build the kernel again ./WL1271Build.sh build kernel

Q4 : If WLAN build fails and says that “ln: creating symbolic link `/usr/local/bin/perl': Permission denied ERROR: Can not create symbolic link”, what are the steps to follow? Ans :

  1. Check that 'perl' is installed on the Linux host. If yes, create a soft link to /usr/local/bin/perl as super user.

Ex: (ln -s /usr/bin/perl /usr/local/bin/perl)

  1. Delete the wlan build directory ./WL1271Build.sh builddel wlan
  2. Build the wlan again. ./WL1271Build.sh build wlan

Q5 : Where can I get the built binaries? Ans :

  1. All the build binaries are available under the "image" directory.

Q6 : How can I check the build failure? Ans :

  1. For the build failure, please check the log file under the "buildlog" directory.

Q7 : Where can I find individual module build? Ans :

  1. There are individual modules build options available, please check below:
  2. Check "kernel" directory for kernel build
  3. Check "Wireless" directory for WLAN build
  4. Check "bluetooth" directory for BT build

Q8 : BT build fails on Ubuntu host? Ans :

  1. If BT build fails on Ubuntu host, because of missing utilities like gettext, libglib2.0-dev, flex and so on; install those packages and build the BT again.
  2. sudo apt-get install gettext
  3. sudo apt-get install libglib2.0-dev
  4. Delete the bluetooth build directory ./WL1271Build.sh builddel bluetooth
  5. Build the bluetooth again ./WL1271Build.sh build bluetooth

Q9 : Iptables build fails due to error in tool chain header file(linux/pkt_sched.h), how to continue build? Ans :

  1. There is an error in the file linux/pkt_sched.h included in the codesourcery toolchain version arm2009q1.
  2. Replace u32 with __u32 in the header file.
  3. Build the package again ./WL1271Build.sh build all

Q10 : Build fails on some Ubuntu host machines(Version 10.04) because of missing "patch" utility. Ans :

  1. User should check whether "patch" utility has been installed already. If no, install the same.
  2. Ex. sudo apt-get install patch.



HomepageIcon.jpgHOME

E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article OMAP3530x Build enviroment guide beta 3 release here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article OMAP3530x Build enviroment guide beta 3 release here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article OMAP3530x Build enviroment guide beta 3 release here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article OMAP3530x Build enviroment guide beta 3 release here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article OMAP3530x Build enviroment guide beta 3 release here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article OMAP3530x Build enviroment guide beta 3 release here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article OMAP3530x Build enviroment guide beta 3 release here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article OMAP3530x Build enviroment guide beta 3 release here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article OMAP3530x Build enviroment guide beta 3 release here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity