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 release
Contents
PC requirements[edit]
The build environment was validated on Linux PCs using Ubuntu and a Fedora distribution. There are some slight differences that were noted during the validation of Ubuntu environment, mainly access permissions.
Extracting the Release package[edit]
The package, available from the included DVD in the WL1271_SDK folder or by download from here, uses an installer that can be opened from either the folder window or the terminal window:
[your_prompt]$ ./v2.01.03.11-WL6.1.3.1-1.0-Linux-x86-Install
The installer will ask you to accept the license agreement and then to select the installation folder. Assuming the target folder will be “v2.01.03.11-WL6.1.3.1-1.0” (can be any user defined folder), we will see the following content under this folder:
- documents - some useful documents
- license - release license documents
- software - includes software source code and images that cen be installed on the OMAP3530 EVM and run some demo's
The software folder includes the following subfolders:
- images - images already built that can be installed on the OMAP3530 EVM and scripts to run BT and WLAN demos.
- sources - WLAN and Bluetooth source code.
From the terminal the installation folder looks like the following:
[v2.01.03.11-WL6.1.3.1-1.0] ls -gnh drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 documents drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 license drwxr-xr-x 4 1000 4.0K 2009-12-10 16:14 software [software]$ ls -gnh drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 images drwxr-xr-x 10 1000 4.0K 2009-12-14 17:44 sources [software]$ cd sources [sources]$ ls -gnh drwxr-xr-x 11 1000 4.0K 2009-12-10 16:27 common -rw-r--r-- 1 1000 214K 2009-11-30 08:16 MS_TI_WL1271_Build_Instructions_Guide.doc -rw-r--r-- 1 1000 55K 2009-12-02 09:05 WL1271Build.sh
After extracting the package, the WLAN and the Bluetooth source code are located under folder software\sources\common
[sources]$ ls -gnh common/ drwxr-xr-x 4 1000 4.0K 2009-12-10 16:14 alsa-1.0.20 drwxr-xr-x 2 1000 4.0K 2009-12-10 16:21 bluetooth_src drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 BT_firmware drwxr-xr-x 2 1000 4.0K 2009-12-10 16:23 iptable drwxr-xr-x 2 1000 4.0K 2009-12-10 16:30 kernel_src drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 patches drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 script drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 tools drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 wireless_src
Folder “common” includes the following folders:[edit]
Package | description | |
---|---|---|
alsa-1.0.20 | Contains a tar file with the alsa binaries and include files. | |
bluetooth_src | Bluetooth related sources packages. | |
BT_firmware | Bluetooth init script. | |
gallery | wav and picture files that are used for the Bluetooth demo (for A2DP, OPP, FTP profiles). | |
iptable | Package that is used for Web Browsing with the WLAN demo. | |
kernel_src | Linux Kernel folder, it is empty since the kernel is downloaded separately. | |
patches | Patch files: Kernel patch file to enable WLAN and Bluetooth support in the kernel configuration file and add GPIO settings for Bluetooth BT_EN signal Bluez patch file to modify agent application and set/reset BT_EN signal. OpenOBEX patch file to change timeout value of test application. USSP-push patch file to change Bluez API name. | |
script | Script files: BTDemoScripts_01.tar - BT demo script files install.sh - Installation script file. WebBrowse.sh - Web browsing script file. wl1271_wlan.sh - WLAN demo scripts. | |
tools | iPerf tool binaries. | |
wireless_src | Contains the folowing packages: WiLink6.1.3.1.tar.bz2 - WLAN sources. wpa_supplicant-0.5.7.tar.gz - WPA Supplicant. openssl-0.9.8e.tar.gz - Open SSL (security Algorithms used by WPA Supplicant). |
From the terminal it looks like the following:
[sources]$ ls -gnh common/ drwxr-xr-x 4 1000 4.0K 2009-12-10 16:14 alsa-1.0.20 drwxr-xr-x 2 1000 4.0K 2009-12-10 16:21 bluetooth_src drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 BT_firmware drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 gallery drwxr-xr-x 2 1000 4.0K 2009-12-10 16:23 iptable drwxr-xr-x 2 1000 4.0K 2009-12-10 16:30 kernel_src drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 patches drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 script drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 tools drwxr-xr-x 2 1000 4.0K 2009-12-10 16:14 wireless_src [sources]$
There are several packages that are not part of the delivery and they have to be downloaded from their corresponding web sites. These packages are libraries that are needed to compile Bluetooth sources, and packages needed to demonstrate the web browsing over WLAN on linux.
Download libraries for Bluetooth compilation[edit]
The following libs are needed to compile Bluetooth:
- dbus-1.2.14 - Inter-process communication system BUS
- expat-2.0.1 - EXPAT source package
- glib-2.20.2 - Software utility library needed by BlueZ
- libxml2-2.6.32 - Software library for parsing XML documents,
- pcre-7.9 - PCRE source package
- download Dbus from dbus-1.2.14.tar.gz
- download Expat from expat-2.0.1.tar.gz
- download Glib from glib-2.20.2.tar.bz2
- download Libxml2 from libxml2-2.6.32.tar.gz
- download Pcre from pcre-7.9.tar.bz2
Copy all the above tar files to "common/bluetooth_src" folder. The folder content looks like the following:
[common]$ cd bluetooth_src [bluetooth_src]$ ls -gnh -rw-r--r-- 1 1000 983K 2009-12-02 14:14 bluez-4.40.tar.gz -rw-r--r-- 1 1000 147K 2009-12-02 14:14 bluez-hcidump-1.42.tar.gz -rw-r--r-- 1 1000 1.6M 2009-12-10 16:19 dbus-1.2.14.tar.gz -rw-r--r-- 1 1000 436K 2009-12-10 16:19 expat-2.0.1.tar.gz -rw-r--r-- 1 1000 4.8M 2009-12-10 16:20 glib-2.20.2.tar.bz2 -rw-r--r-- 1 1000 4.6M 2009-12-10 16:21 libxml2-2.6.32.tar.gz -rw-r--r-- 1 1000 394K 2009-12-02 14:14 obexftp-0.23.tar.bz2 -rw-r--r-- 1 1000 392K 2009-12-02 14:14 openobex-1.5.tar.gz -rw-r--r-- 1 1000 842K 2009-12-10 16:20 pcre-7.9.tar.bz2 -rw-r--r-- 1 1000 333K 2009-12-02 14:14 ussp-push-0.11.tar.gz [bluetooth_src]$
Download the iptables package[edit]
The "iptables-1.4.3.2.tar.bz2" package is needed for web browsing over the WLAN demo.
Download iptables from iptables-1.4.3.2.tar.bz2
Copy the iptables-1.4.3.2.tar.bz2 file to common/iptable folder, and verify using the terminal that the folder content looks as the following:
[common]$ cd iptable [iptable]$ ls -ghn -rw-r--r-- 1 1000 423K 2009-12-15 15:02 iptables-1.4.3.2.tar.bz2 [iptable]$
Download and install the Linux kernel[edit]
The Linux kernel is installed using the following steps:
- Download the PSP product installer "OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin" from the link near the bottom of this page (under the "Linux Platform Support Package [PSP]" heading):
- Install the PSP release.
- - Type ./OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin in a working directory on the Linux host.
[your_path]$ ./OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin
- - If the above command does not work, make sure that the installation package has executable rights. In Ubuntu it may be copied without executable rights. Change them using the "chmod" command:
[your_path]$ ls -ghn -rw-r--r-- 1 1000 191M 2009-12-14 11:48 OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin [your_path]$ sudo chmod 777 OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin [your_path]$ls -gnh -rwxrwxrwx 1 1000 191M 2009-12-14 11:48 OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin
- - Now try again and the installer should run using the above command:
[your_path]$ ./OMAP35x-PSP-SDK-setuplinux-02.01.03.11.bin
- - In in some Ubuntu configurations, if trying to open the installer from the file folder, the extention ".bin" may need to be removed to be able to run the installer.
- - The installer will create the directory "OMAP35x-PSP-SDK-02.01.03.11".
- Copy the linux kernel linux-02.1.03.11.tar.gz which is located under the folder “OMAP35x-PSP-SDK-02.01.03.11/src/kernel/” to the folder "$HOME/v2.01.03.11-WL6.1.3.1/software/sources/common/kernel_src/"
[OMAP35x-PSP-SDK-02.01.03.11]$ cp src/kernel/linux-02.01.03.11.tar.gz $HOME/v2.01.03.11-WL6.1.3.1/software/sources/common/kernel_src/
- Verify the content using the following terminal command:
[your_path]$ cd v2.01.03.11-WL6.1.3.1/software/sources/common/kernel_src [kernel_src]$ ls -rw-r--r-- 1 1000 70M 2009-09-14 03:27 linux-02.01.03.11.tar.gz [kernel_src]$
Installing the tool chain[edit]
The toolchain needed to compile the WLAN and the Bluetooth package is "arm-2007q3" by codesourcery.
Follow the next steps to install the toolchain:
- The arm-2007q3 can be downloaded from arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
- Copy the arm-2007q3 tar file to "sources" folder,
From the terminal the source folder looks like the following:
[sources]$ ls -ghn -rw-r--r-- 1 1000 93M 2009-12-15 16:51 arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 drwxr-xr-x 11 1000 4.0K 2009-12-14 14:56 common drwxr-xr-x 8 1000 4.0K 2009-12-10 16:32 arm-2007q3 -rwxrwxrwx 1 1000 55K 2009-12-02 09:05 WL1271Build.sh -rw-r--r-- 1 1000 214K 2009-11-30 08:16 MS_TI_WL1271_Build_Instructions_Guide.doc [sources]$
- Extract the tar file using the folowing command, it will generate a folder name arm-2007q3:
[sources]$ tar -xjf arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
- Then delete the arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 file
[sources]$ rm arm-2007q3-51-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
- From the terminal the source folder looks like the following:
[sources]$ ls -ghn drwxr-xr-x 11 1000 4.0K 2009-12-14 14:56 common drwxr-xr-x 8 1000 4.0K 2009-12-10 16:32 arm-2007q3 -rwxrwxrwx 1 1000 55K 2009-12-02 09:05 WL1271Build.sh -rw-r--r-- 1 1000 214K 2009-11-30 08:16 MS_TI_WL1271_Build_Instructions_Guide.doc [sources]$
- In order to generate uImage, copy the mkimage binary file to the directory sources/arm-2007q3/bin/.
Note: mkimage source exists in the PSP package under u-boot source directory (ie.OMAP35x-PSPSDK- 02.01.03.11/src/u-boot/u-boot-02.01.03.11.tar.gz). Please build the u-boot as per the instructions given in the PSP user guide (UserGuide- 02.01.03.11.pdf). 'mkimage' binary will be generated under 'uboot-02.01.03.11/tools'.
[sources]$ cp tools/mkimage arm-2007q3/bin/
Comment:
we have tested the Driver using arm-2007q3 toolchain
in order to work with arm-2008q1 the WLAN/Bluetooth driver please apply the patch from the Download page in <patch for arm2008q1 support>
Building the project[edit]
In order to build the entire project the WL1271Build.sh script has to be run with super user privileges
[sources]$ [sources]$ su –c ‘./WL1271Build.sh build all’
In Ubuntu use the sudo command instead of su:
[sources]$ sudo ./WL1271Build.sh build all
Make sure the script has executable rights. Use the "chmod" command if needed to change them. You may find errors if you do not have required applications on your Linux platform. The following error was solved by installed the corresponding package:
checking for glib-genmarshal... no configure: error: Could not find a glib-genmarshal in your PATH ERROR: GLIB Build failed, Please refer "/EVM3530/v2.01.03.11-WL6.1.3.1_ver2/software/sources/buildlog/BT_GLIB_Build.log" ...
In this case I needed to instal "libglib2.0-dev". In Ubuntu it can be installed using the Synaptic Package Manager, or the following command on the terminal:
[your_path]$ sudo apt-get install libglib2.0-dev
Other compilation options are as follows:
- Build Script Help
To find the build options that is supported by WL1271Build Script
Usage: su –c ‘./WL1271Build.sh –help’
- Build all
To build kernel, WLAN and BT
Usage: su –c ‘./WL1271Build.sh build all’
- Clean all
To clean kernel, WLAN and BT build, use the following command
Usage: su –c ‘./WL1271Build.sh buildclean all’
- Rebuild all
To clean and build kernel, WLAN and BT
Usage: su –c ‘./WL1271Build.sh rebuild all’
- Kernel Build
To build kernel
Usage: su –c ‘./WL1271Build.sh build kernel’
- Kernel Clean
To clean the kernel build
Usage: su –c ‘./WL1271Build.sh buildclean kernel’
- Kernel Rebuild
To clean and build kernel
Usage: su –c ‘./WL1271Build.sh rebuild kernel’
- WLAN Build
To build WLAN
Usage: su –c ‘./WL1271Build.sh build wlan’
- WLAN Clean
To clean the WLAN build
Usage: su –c ‘./WL1271Build.sh buildclean wlan’
- WLAN Rebuild
To clean and build WLAN
Usage: su –c ‘./WL1271Build.sh rebuild wlan’
- BT Build
To build BT
Usage: su –c ‘./WL1271Build.sh build bluetooth’
- BT Clean
To clean the BT build
Usage: su –c ‘./WL1271Build.sh buildclean bluetooth’
- BT Rebuild
To clean and build BT
Usage: su –c ‘./WL1271Build.sh rebuild bluetooth’