Cross platform firmware framework written by students, alumni, and faculty of San Jose State University. Designed for the original purpose of helping students develop firmware for the SJTwo board.
Built for Ubuntu, Mac OSX, and Windows 10 WSL.
See documentation for a full guide.
One of the easist ways to get started with SJSU-Dev2 is to use a VM with all of the software installed.
Steps to install virtual box and the virtual machine are listed below:
- Install virtualbox for your computer from this link: https://www.virtualbox.org/wiki/Downloads
- Download the usb 2.0/3.0 extensions from here, allows you to connect usb devices from your host machine into the virtual machine: https://download.virtualbox.org/virtualbox/6.0.4/Oracle_VM_VirtualBox_Extension_Pack-6.0.4.vbox-extpack
- Open the "Oracle_VM_VirtualBox_Extension_Pack-6.0.4.vbox-extpack" and install it into VirtualBox when prompted.
- Download the prebuilt virtual machine: Ubuntu SJSU-Dev.ova
- Open "Ubuntu SJSU-Dev.ova" and import into VirtualBox.
- Done!
- Open the "Ubuntu SJSU-Dev" Virtual Machine on the left hand side.
- Login by entering the password "osboxes.org"
- To program your board, you will need to connect it to your host machine and
bring it into the virtual machine by using the top menu:
Devices > USB > CP2102n...
- At this point you can run commands like
make application
andmake flash
from within the SJSU-Dev2 folder which is located/home/osboxes/SJSU-Dev2
If you are using Windows, follow these steps to install WSL and make sure to install the Ubuntu as the linux distro. Once you have installed WSL, all instructions below for Linux should work for Windows.
To download and setup the environment, simply copy and paste this into a terminal:
git clone https://github.com/kammce/SJSU-Dev2.git && cd SJSU-Dev2 && ./setup
If you find that git is not installed on your machine follow these steps to install GIT.
The starter HelloWorld
project can be found in the firmware/
folder along
with the the firmware/examples
folder which is full of examples you can run
on your board. To build HelloWorld
:
cd firmware/HelloWorld
make application
From within a project, run make flash
.
The preferred method for communicating with a serial device is via Google
Chrome, using the online serial terminal tool,
Telemetry.
You can also open this up on your browser using the make telemetry
command in
a project directory.
The Hyperload bootloader is used to rapidly quickly program the device. SJTwo and SJOne boards should both have the bootloaders pre-installed on them, but in case it is not installed, run the following from the root of the SJSU-Dev2 directory:
cd firmware/Hyperload
make burn
make burn
will build the application using make bootloader
and if that
finishes successfully, then it will burn the bootloader to the first 64kB of the
board, allowing you to use make flash
later on.
- Khalil Estell: Creator of the SJSU-Dev2.
- Since this repository borrows heavily form SJSU-Dev repo, the people in that contrib list are also contributors to this repository.
- Mikko Bayabo: Windows surface destructive testing
- WSL testing: Sameer Azer, Aaron Moffit, Ryan Lucus, Onyema Ude