Overview
This page describes how to build your own GNSS executable. See GL GPS Porting guide for further details.
Build your own glgps_win_xp for Windows
You may want to build your own version for customization in glhal.
- Navigate to allPartners\deliverables\glgpsapp
- Open glgpsapp.sln with Visual Studio 2005 and ignore the source control binding
- Right-click on project glgps_win_xp and select "Rebuild"
- The output glgps_win_xp.exe will be located at allPartners\deliverables\glgpsapp\win_xp\debug
Customizing Your Specific Target Device for Linux
This is required if you have a target device with different CPU that requires a specific tool-chain.
- In this section, we assume the working directory is the top directory of the SDK. For example: Unix_Linux_gcc_2.16.4.83827/2.16.4.83827
- Create a directory as customers/YourCompanyName. For example, customers/abc. Here assumes your company name is abc.
- Copy all files and directories under customers/Unix to customers/abc, and rename the file Makefile.UnixLinux.mak to Makefile.abcX.mak. Here assumes your project or device is X. You may have another project named "Y", so you copy Makefile.abcX.mak to Makefile.abcY.mak.
- Install the necessary tool-chain for your target device.
- Update Makefile.abcX.mak to utilize your tool-chain by setting the following variables. Example below:
# Enable the line below. This might be originally commented out.
CONFIG_HAL_GPIO_SYSFS=yes
# Comment out the line below. This might be originally enabled.
#HAL_XTRA_SRCS:=cp2103/glgps_hal_gpio.c
ARCH = arm-wrs-linux-gnueabi-armv6jel-glibc_small
TARGET_PATH = $(HOME)/device_abc_tools/arm11_le-glibc_small
TOOLPATH = $(TARGET_PATH)/x86-linux2
PATH := $(TOOLPATH):$(PATH)
CFLAGS = $(_FLAGS) -c -o
CCFLAGS = $(_FLAGS) -c -Wno-deprecated -o
- Build and run allPartners/deliverables/glhal/unix/serialTest to validate your device can communicate with the Broadcom GNSS chipset.
- Connect the evaluation kit to the serial port of you device per How to connect evaluation board to your platform HW
cd allPartners/deliverables/glhal/unix/serialTest
make CUST=abc PLATF=X
# Copy the executable "serialtest" to your device, and run
./serialtest /dev/ttyS0 115200 # Adjust /dev/ttyS0 to match your device
# Validate that serialtest is getting the correct response
# as indicated in allPartners/deliverables/glhal/unix/serialTest/README.txt
- Send Makefile.abcX.mak to us along with your tool-chain and installation/setup procedure so that we can build the GPS core library files with your tool-chain.
- Be sure that your Linux device support GPIO control by sysfs as utilized by allPartners/deliverables/glhal/unix/src/glgps_hal_gpio_sysfs.c
- The GPIO should be controlling the pins as follows respectively:
REGPU pin of BCM4751, BCM47511, BCM4752, BCM47521
nSTANDBY pin of BCM4750
- Be sure to expose the pin from step above as Test Point (TP) on your board
(Re)build your own glgps executable for Linux/Android
You may want to build your own version for customization in glhal. At this stage, you should have received a custom build from us for your target device.
make help # See section "Typically done by Broadcom customer"
make CUST=abc PLATF=X
- Note that you will likely have linker errors because the GPS core library files were built using gcc/g++ for x86 Linux, and not your tool-chain.
- Send Makefile.abcX.mak to us along with your tool-chain and installation/setup procedure so that we can build the GPS core library files with your tool-chain.