Skip to content

genoswitch/firmware

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Genoswitch MP Firmware

Installation

Fetch submodules

git submodule init
git submodule update --depth 1

Toolchain

To build this project, a number of extra tools and libraries are required.

Here are the installation instructions for Linux.

Debian-based distros

sudo apt update
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi build-essential libstdc++-arm-none-eabi-newlib python3 git nodejs

Arch-based distros

~2GB install.

sudo pacman -S cmake arm-none-eabi-gcc arm-none-eabi-newlib arm-none-eabi-gdb arm-none-eabi-binutils python git nodejs npm

If you wish to debug a device, you will need to install the following packages from the AUR.

If you have yay installed, you can simply run the following:

yay -S openocd-picoprobe gdb-multiarch

Licensing

The codebase is licensed under MIT.

However, certain files are licensed using other open-source licenses. These files are mainly ones that have heavily based on files from other projects.

A SPDX license header is included in every file in the repository to easily tell which license is in use.

Linux Usage

On Linux, this hardware will not work out of the box. To enable the hardware to work, please follow these steps:

  1. Close your web browser

  2. Check that the plugdev group exists and create the group if it does not. (Fedora/Arch)

| Web browsers expect to run as a user in the plugdev to be able to access physical devices.

getent group plugdev >/dev/null || sudo groupadd -r plugdev
  1. Copy 50-genoswitch.rules to /etc/udev/rules.d/
sudo cp 50-genoswitch.rules /etc/udev/rules.d/
  1. Add you user to the plugdev group.

| Replace with your username!

sudo usermod -a -G plugdev <username>
  1. Reload udev rules
sudo udevadm control --reload-rules
  1. Log out and log back in for the new rules and grouping to take effect.