Skip to content
Branch: master
Find file Copy path
Find file Copy path
1 contributor

Users who have contributed to this file

190 lines (117 sloc) 3.5 KB

Build Maixpy from source code

Only suport Linux now! not test on Windows or macOS

Get source code

  • Clone by https link
git clone
  • Then get submodules
git submodule update --recursive --init

It will regiter and clone all submodules, if you don't want to register all submodules, cause some modules is unnecessary, just execute

git submodule update --init
# or 
git submodule update --init path_to_submodule
# or
git submodule update --init --recursive path_to_submodule

Install dependencies

Ubuntu for example:

sudo apt update
sudo apt install python3 python3-pip build-essential cmake
sudo pip3 install -r requirements.txt

recommend python3 instead of python2

Check CMake version by

cmake --version

The cmake version should be at least v3.9, if not, please install latest cmake manually from cmake website

Download toolchain

Download the latest toolchain from here, or kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz(CDN)

And extract to /opt/kendryte-toolchain/

For example:

sudo tar -Jxvf kendryte-toolchain-ubuntu-amd64-8.2.0-20190409.tar.xz -C /opt
ls /opt/kendryte-toolchain/bin

Configure project

  • Switch path to hello_world project director
cd MaixPy
cd projects/hello_world

or maixpy project

cd MaixPy
cd projects/maixpy_k210
  • Configure toolchain path

The default toolchain path is /opt/kendryte-toolchain/bin, and default toolchain pfrefix is riscv64-unknown-elf-.

If you have copied toolchain to /opt, just use default.

Or you can customsize your toolchain path by

python3 --toolchain /opt/kendryte-toolchain/bin --toolchain-prefix riscv64-unknown-elf- config 

And clean config to default by command

python3 clean_conf
  • Configure project

Usually, just use the default configuration.

If you want to customsize project modules, execute command:

python3 menuconfig

This command will display a configure panel with GUI, then change settings and save configuration.


python3 build

And clean project by:

python3 clean

Clean all build files by:

python3 distclean

The make system is generated from cmake, you must run

python3 rebuild

to rebuild make system after you add/delete source files or edit kconfig files

Flash (Burn) to board

For example, you have one Maix Go board:

python3 -B goE -p /dev/ttyUSB1 -b 1500000 flash

For Maixduino board:

python3 -B maixduino -p /dev/ttyUSB0 -b 1500000 -S flash

-B means board, -p means board serial device port, -b means baudrate, -S or --Slow means download at low speed but more stable mode.

the configuration saved in .flash_conf.json except args: --sram(-s)、--terminal(-t)、--Slow(-S) You don't need to confiure again the next time you burn firmware, just use:

python3 flash


python3 -S flash

More parameters help by :

python3 --help


You can’t perform that action at this time.