This repository contains the bootloader of the Pocket Science Lab (PSLab) open hardware platform.
The bootloader makes it possible to flash new firmware to the device over a USB connection, whereas without it a special programming tool is required.
The PSLab provides an array of test and measurement instruments for doing science and engineering experiments. Its built-in instruments include an oscilloscope, a waveform generator, a frequency counter, programmable voltage and current sources, and a logic analyzer. The PSLab also has UART, I2C, and SPI buses, via which external devices can be connected and controlled.
The PSLab is a fully open device, and FOSSASIA provides a complete hardware and software stack under open source licenses:
You can get a Pocket Science Lab device from the FOSSASIA shop
More resellers are listed on the PSLab website
The PSLab chat channel is on Gitter
Please also join us on the PSLab Mailing List
The following tools are required to build the bootloader:
This project is built with CMake. After cloning this repository, you must first initialize and update the toolchain submodule:
git submodule init
git submodule update
This will populate the external/cmake-microchip directory, after which the
bootloader can be built:
mkdir build
cd build
cmake ..
make
This will create a build artifact in the build directory:
pslab-bootloader.hex.
It is possible to create a HEX file containing both the bootloader and the firmware. To do this, follow these steps:
Build the bootloader
Build the firmware
Move firmware.hex into the build/ directory of the bootloader repository
Run combine_hex.sh. The hexmate program, distributed as part of
MPLAB-X, needs to be in your $PATH. Alternatively, modify combine_hex.sh
to include the full pathname to hexmate.
Flashing the bootloader requires a programmer such as the PICkit3.
Flashing with a programmer requires the mdb.sh script, which is distributed as
part of Microchip's MPLAB-X software suite. On Linux, the default installation
path for mdb.sh is /opt/microchip/mplabx/<version>/mplab_platform/bin/mdb.sh.
This script is used to run the file flash.mdbscript, located in the repository
root. Before following the below steps, you may need to modify flash.mdbscript
depending on which programmer you are using and the location of the firmware
HEX.
mdb.sh flash.mdbscript📦pslab-bootloader
┣ 📂src # PSLab bootloader source code
┃ ┣ 📂mcc_generated_files # Source C files
┃ ┣ 📜 ...
┃ ┣ 📜main.c # Entry point to PSLab Bootloader
┣ 📂external
┃ ┣ 📂cmake-microchip # Toolchain submodule
┣ 📜CMakeLists.txt
┣ 📜flash.mdbscript
┣ 📜LICENSE
┗ 📜README.md
298 followers · starred Dec 2017
62 followers · starred Sep 2019
136 followers · starred Feb 2018
107 followers · starred Sep 2018
This repository contains the bootloader of the Pocket Science Lab (PSLab) open hardware platform.
The bootloader makes it possible to flash new firmware to the device over a USB connection, whereas without it a special programming tool is required.
The PSLab provides an array of test and measurement instruments for doing science and engineering experiments. Its built-in instruments include an oscilloscope, a waveform generator, a frequency counter, programmable voltage and current sources, and a logic analyzer. The PSLab also has UART, I2C, and SPI buses, via which external devices can be connected and controlled.
The PSLab is a fully open device, and FOSSASIA provides a complete hardware and software stack under open source licenses:
You can get a Pocket Science Lab device from the FOSSASIA shop
More resellers are listed on the PSLab website
The PSLab chat channel is on Gitter
Please also join us on the PSLab Mailing List
The following tools are required to build the bootloader:
This project is built with CMake. After cloning this repository, you must first initialize and update the toolchain submodule:
git submodule init
git submodule update
This will populate the external/cmake-microchip directory, after which the
bootloader can be built:
mkdir build
cd build
cmake ..
make
This will create a build artifact in the build directory:
pslab-bootloader.hex.
It is possible to create a HEX file containing both the bootloader and the firmware. To do this, follow these steps:
Build the bootloader
Build the firmware
Move firmware.hex into the build/ directory of the bootloader repository
Run combine_hex.sh. The hexmate program, distributed as part of
MPLAB-X, needs to be in your $PATH. Alternatively, modify combine_hex.sh
to include the full pathname to hexmate.
Flashing the bootloader requires a programmer such as the PICkit3.
Flashing with a programmer requires the mdb.sh script, which is distributed as
part of Microchip's MPLAB-X software suite. On Linux, the default installation
path for mdb.sh is /opt/microchip/mplabx/<version>/mplab_platform/bin/mdb.sh.
This script is used to run the file flash.mdbscript, located in the repository
root. Before following the below steps, you may need to modify flash.mdbscript
depending on which programmer you are using and the location of the firmware
HEX.
mdb.sh flash.mdbscript📦pslab-bootloader
┣ 📂src # PSLab bootloader source code
┃ ┣ 📂mcc_generated_files # Source C files
┃ ┣ 📜 ...
┃ ┣ 📜main.c # Entry point to PSLab Bootloader
┣ 📂external
┃ ┣ 📂cmake-microchip # Toolchain submodule
┣ 📜CMakeLists.txt
┣ 📜flash.mdbscript
┣ 📜LICENSE
┗ 📜README.md
298 followers · starred Dec 2017
62 followers · starred Sep 2019
136 followers · starred Feb 2018
107 followers · starred Sep 2018