Skip to content

Latest commit

 

History

History
144 lines (91 loc) · 4.28 KB

32blit.md

File metadata and controls

144 lines (91 loc) · 4.28 KB

Building & Running On 32Blit

These instructions assume a basic familiarity with the Linux command-line and with compiling software from source.

Prerequisites

Make sure you've prepared your 32Blit by following the instructions in:

You should also make sure you have a cross-compile environment set up on your computer, refer to the relevant documentation below:

Examples

Building An Example

First you need something to build. The 32blit-examples repository includes a series of demos showcasing various 32blit SDK features. These instructions will assume you're building those and have cloned or extracted that repository alongside 32blit-sdk:

git clone https://github.com/32blit/32blit-examples

Your directory tree should look something like:

  • root_dir
    • 32blit-sdk
    • 32blit-examples

To build an example for 32blit using arm-none-eabi-gcc you must prepare the Makefile with CMake using the provided toolchain file.

From the root of the repository:

cd 32blit-examples
mkdir build.stm32
cd build.stm32
cmake .. -DCMAKE_TOOLCHAIN_FILE=../../32blit-sdk/32blit.toolchain

And then run make examplename to build an example.

The result of the build will be a .blit, .bin, .hex and .elf file in the relevant example directory.

For example you might type make raycaster which will give you examples/raycaster/raycaster.blit.

Uploading An Example

Via mass-storage mode

If your 32blit is connected to your computer with a USB cable, you can switch into mass-storage mode and copy files over as if it were a USB storage device.

press the Home button

A "USB Drive" device should pop up, and the text "Mass Storage Mode (MSC Mounted)" will show on your 32blit's screen.

Once you're done copying files, eject the drive and your 32blit should resume.

With make

With your device out of DFU mode (displaying the game list), you can now run:

make [example-name].flash

For example you can:

make logo.flash

To build, flash and run the logo example.

With the 32blit tool

Alternatively, you can use the tool to flash a game directly:

32blit install filename.blit

Or save it to your SD card:

32blit install filename.blit /

(If 32blit is not found you can use python3 -m ttblit instead)

Your Own Projects

You can build a project based on the boilerplate (https://github.com/32blit/32blit-boilerplate) by running:

mkdir build.stm32
cd build.stm32
cmake .. -DCMAKE_TOOLCHAIN_FILE=/path/to/32blit/repo/32blit.toolchain
make

Running games

Launching

Just select the game you want to launch from the menu screen and press A.

Exiting

You can either press Menu and select "Exit Game" or long-press Menu to exit.

long press menu to exit a game

Troubleshooting

Flasher Can't Find 32Blit Port

If make example.flash fails with Unable to find 32Blit, re-run cmake with -DFLASH_PORT=[PORT PATH].

Port-detection does not work if your device is in DFU mode. Either reset it to get it out, or it it's stuck in DFU mode (or just boots into a black screen), you may need to reflash the firmware.

CMake Errors

If you see cannot create target because another target with the same name already exists you've probably run cmake .. in the wrong directory (the project directory rather than the build directory), you should remove all but your project files and cmake .. again from the build directory.