You are here: Foswiki>Basteln Web>MCUME (16 Sep 2026, DanielSchwab)Edit Attach

M.CU.M.E = Multi CompUter Machine Emulator

Programmierung mit dem virtuellen Computer

Toolchain ESP32 installieren

cd $HOME
if [ -e "$HOME/esp" ]; then rm -rf $HOME/esp; fi
if [ -e "$HOME/.espressif" ]; then rm -rf $HOME/.espressif; fi

su

apt-get update
apt-get upgrade -y

apt-get -y install git wget flex bison gperf cmake ninja-build ccache libffi-dev libssl-dev
apt-get -y install dfu-util libncurses-dev build-essential gperf libncursesw6 libtinfo-dev pkg-config
apt-get -y install python3 python3-pip python-is-python3 build-essential libncurses5-dev libncursesw5-dev

apt -y install python3-venv
apt -y install python3-virtualenv

apt update
apt -y install software-properties-common
echo "" | add-apt-repository ppa:deadsnakes/ppa

apt update
apt -y install python3.9 python3.9-venv

exit

python3.9 -m venv venv

source $HOME/venv/bin/activate

python -m pip install --upgrade pip setuptools

# Kontrolle
which python
which pip
python --version

# Outoput
# /home/user/venv/bin/python
# /home/user/venv/bin/pip
# Python 3.9.x

deactivate

MCUME Download

cd $HOME
mkdir -p $HOME/esp
cd $HOME/esp
git clone https://github.com/Jean-MarcHarvengt/espMCUME.git

idf Download

mkdir -p $HOME/esp
cd $HOME/esp
# git tag
# git clone -b v5.5 --recursive https://github.com/espressif/esp-idf.git
git clone -b v3.3.6 --recursive https://github.com/espressif/esp-idf.git
# git clone -b v4.4.8 --recursive https://github.com/espressif/esp-idf.git
# git clone -b v2.1 --recursive https://github.com/espressif/esp-idf.git
# git clone -b v3.0 --recursive https://github.com/espressif/esp-idf.git

# cd $HOME/esp/esp-idf
# git tag

cd $HOME/esp/esp-idf
python3.9 tools/idf_tools.py install-python-env
python3.9 tools/idf_tools.py install

Toolchain ESP32 Arbeiten

source $HOME/venv/bin/activate

export PYTHON=$(which python3.9)
export IDF_PYTHON_ENV_PATH=$HOME/.espressif/python_env/idf3.3_py3.9_env
export PATH="$IDF_PYTHON_ENV_PATH/bin:$PATH"
source $HOME/esp/esp-idf/export.sh

cd $HOME/esp/esp-idf
./install.sh
. ./export.sh

Toolchain Test

idf.py --help

MCUME kompilieren

sed -e "s/cc -x c - -o/cc -std=gnu89 -x c - -o/g" -i $HOME/esp/esp-idf/tools/kconfig/lxdialog/check-lxdialog.sh
sed -i 's/^COMPONENTS := .*$/COMPONENTS := esptool_py bootloader_support efuse log spi_flash micro-ecc soc main/' $HOME/esp/espMCUME/espboot/components/bootloader/subproject/Makefile

cd $HOME/esp/espMCUME/espboot/components/bootloader/subproject/main
if [ -e "esp32.bootloader.ld" ]; then echo "OK"; else cp -v esp32.bootloader.ld esp32.bootloader.ld.pre336.bak; fi
cp -v $HOME/esp/esp-idf/components/bootloader/subproject/main/esp32.bootloader.ld esp32.bootloader.ld
sed -i 's/^cryptography>=2\.1\.4,<35$/cryptography>=2.1.4/;   s/^pyparsing>=2\.0\.3,<2\.4\.0$/pyparsing>=2.0.3/' "$IDF_PATH/requirements.txt"

cd $HOME/esp/espMCUME/espboot
sed -e "/LibFC14/d" -i main/component.mk
sed -e "/delete-non-virtual-dtor/d" -i main/component.mk
echo "# LibFC14/ liegt unter main/ und ist nicht im Komponenten-Suchpfad -> explizit bauen" >>main/component.mk
echo "COMPONENT_SRCDIRS := . LibFC14" >>main/component.mk
echo "COMPONENT_ADD_INCLUDEDIRS := . LibFC14" >>main/component.mk
echo "CPPFLAGS += -Wno-error=delete-non-virtual-dtor" >>main/component.mk

cd $HOME/esp/espMCUME/espboot
export GNUMAKEFLAGS=""
export IDF_PATH=$HOME/esp/esp-idf
export PATH="$HOME/.espressif/tools/xtensa-esp32-elf/1.22.0-97-gc752ad5-5.2.0/xtensa-esp32-elf/bin:$PATH"

make
# make flash


# cd $HOME/esp/espMCUME/esp64
# make
# bash flashapp.sh

ToDo

... todo ...

Notizen


Topic revision: r20 - 16 Sep 2026, DanielSchwab
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback