Skip to content
This repository was archived by the owner on Jun 24, 2025. It is now read-only.

swift-nav/piksi_firmware_private

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

piksi_firmware_private

Build status

Firmware for the Swift Navigation Piksi GPS Receiver.

Checking Out Submodules

Several dependencies are submodules of this git repository. Check them out using:

git submodule update --init --recursive

Remember to run git submodule update after pulling in the latest changes to ensure all the submodules are in sync.

Development Environment Setup

Cross Compiling Toolchain

We currently use the ARM GCC Embedded Toolchain, version 6-2017-q2-update, released by ARM. We mirror the correct version for our most common dev environments:

On Unix systems it is recomended to extract the toolchain to the ~/gcc-arm-none-eabi/ directory. Here is an example tar command to achieve this: tar -x -C ~/gcc-arm-none-eabi/ --strip-components=1 <tarbal_name_here>

Once extracted add the bin directory to your PATH environment variable.

macOS Packages

We maintain a set of homebrew formulas that install all of the dependencies. To install then simply run

brew tap swift-nav/homebrew-swift-devs
brew install piksi-firmware-toolchain

Ubuntu Packages

The following command installs the required packages for development:

sudo apt-get install git build-essential cmake

Building

To build the firmware run the following command from the root of the repository once the development environment has been set up and all of the submodules have been updated.

make PIKSI_HW=v3 PIKSI_REV=prod

Building With Docker

While building in your native environment is usually the easiest, the container described by the Dockerfile is the canonical build environment. To build and run the docker container run this command from the root of the repository.

docker-compose run piksi_firmware

Once the container is started you can follow the above directions to build the firmware.