Base files for Northwestern course CS397/497: Wireless Protocols for IoT. This repository has applications and board initialization that connects to the build system provided by nrf52x-base.
-
Various tools
- build-essential (make)
- python3
- git
-
ARM cross-compiler toolchain: gcc-arm-none-eabi toolchain
On Ubuntu:
cd /tmp \ && wget -c https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 \ && tar xjf gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 \ && sudo mv gcc-arm-none-eabi-9-2020-q2-update /opt/gcc-arm-none-eabi-9-2020-q2-update \ && rm gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 \ && sudo ln -s /opt/gcc-arm-none-eabi-9-2020-q2-update/bin/* /usr/local/bin/.
On MacOS:
brew tap ArmMbed/homebrew-formulae brew install arm-none-eabi-gcc
-
JTAG programming tools: Segger JLink
Pick the correct package for your OS under "Software and documentation pack".
- Clone the repository
- Change directory into the repository
git submodule update --init --recursive
(this will take a couple minutes to complete)
To build an application, use make
inside of the application's directory.
Two other targets will be particularly helpful:
make flash
uploads the application to the board using JTAGmake rtt
opens a debug window with print output from the board