Firmware Dev Guide

Overview

This document provides a guide for setting up a development environment for developing Tinymovr firmware. Development is currently possible in the Qorvo-supplied Eclipse distribution in Windows. Any help for porting support for development to Macos and Linux would be greatly appreciated!

It is possible to build the Tinymovr firmware using make and gcc, however this configuration is outdated and should be avoided. In particular, this generated a non-bootloader enabled binary and may brick your board.

Hardware Connections

For proper debuggin capabilities you will need a Segger J-Link adapter. Unfortunately original J-Link adapters are quite expensive. A more affordable option is the J-Link EDU adapter at around $60 or the J-Link EDU mini adapter at around $20. In addition, there are J-Link clones that can be purchased for very low prices on ebay or Aliexpress. However, reliability of these clones is not guaranteed.

With the board and J-Link adapter powered off, connect the J-Link to Tinymovr as shown below:

(image)

Setting up the repo

First, clone the Tinymovr repo:

git clone https://github.com/yconst/Tinymovr

The Tinymovr repo includes the firmware source code and supporting files, however the PAC55xx SDK is not included due to licensing restrictions imposed by Qorvo. Thus, you will need to download it from the Qorvo website, where you will need to supply your email.

The file comes in a zipped installer exe (!), which all it does is extract the contents to a directory. Navigate to the extracted files directory and copy the ‘pac55xx_sdk’ directory inside the Tinymovr repo:

cp -r <pac55xx_sdk_location> <tinymovr_location>/firmware/

Now you have the required PAC SDK almost ready. As a final step, there is a small patch that you will need to apply in the pac55xx_sdk directory. It is suggested to use the Python patch package, which is cross-platform. If you do not have the package, install using pip:

pip3 install patch

Then:

cd <tinymovr_location>/firmware
python3 -m patch sdk_patch.patch

Done.

Setting up Eclipse

You will need the Qorvo-supplied Eclipse distribution. Download from the Qorvo website.

Run the downloaded installer that will install Eclipse and the J-Link utility (ver. 6.31) for you.

Once installation is complete, run Eclipse and import the Tinymovr project. Try building to verify everything is ok.