Skip to content

DaRkS0/frame-codebase

Repository files navigation

MicroPython for Frame

A custom deployment of MicroPython designed specifically for Frame. Check out the user docs here.

For those of you who want to modify the standard firmware, keep on reading.

Getting started with development

  1. Ensure you have the ARM GCC Toolchain installed.

  2. Ensure you have the nRF Command Line Tools installed.

  3. Clone this repository along with submodules and build the mpy-cross toolchain:

    git clone https://github.com/brilliantlabsAR/frame-micropython.git
    cd frame-micropython
    
    git submodule update --init
    git -C network_core/micropython submodule update --init lib/micropython-lib
    
    make -C network_core/micropython/mpy-cross
  4. You should now be able to build the project by calling make from the frame-micropython folder.

    make
  5. Before flashing an nRF5340, you may need to unlock the chip first.

    nrfjprog --recover
  6. You should then be able to flash the device.

    make flash

Debugging

  1. Open the project in VSCode.

    There are some build tasks already configured within .vscode/tasks.json. Access them by pressing Ctrl-Shift-P (Cmd-Shift-P on MacOS) → Tasks: Run Task.

    1. Build
    2. Build & Flash Chip
    3. Erase & Unlock Chip
    4. Clean
    5. Release
  2. You many need to unlock the device by using the Erase Chip task before programming or debugging.

  3. To enable IntelliSense, be sure to select the correct compiler from within VSCode. Ctrl-Shift-P (Cmd-Shift-P on MacOS) → C/C++: Select IntelliSense ConfigurationUse arm-none-eabi-gcc.

  4. Install the Cortex-Debug extension for VSCode in order to enable debugging.

  5. A debugging launch is already configured within .vscode/launch.json. Run the J-Link launch configuration from the Run and Debug panel, or press F5. The project will automatically build and flash before launching.

  6. To monitor the logs, run the task RTT Console and ensure the J-Link launch configuration is running.

FPGA

For information on developing and flashing the FPGA binary. Check the Frame FPGA repository.

About

The complete codebase for Frame

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 87.2%
  • SystemVerilog 9.2%
  • Python 1.2%
  • C++ 1.0%
  • Verilog 0.8%
  • Makefile 0.3%
  • Other 0.3%