forked from embox/embox
-
Notifications
You must be signed in to change notification settings - Fork 0
Сборка и запуск
Victor Y. Fadeev edited this page May 11, 2017
·
7 revisions
$ sudo apt-get install git autoconf build-essential gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-i386 python-serial libexpat-dev libtool-bin python-pip minicom
Создаем папку для тулов:
$ sudo mkdir /opt/Espressif
$ sudo chown $USER:root /opt/Espressif
$ cd /opt/Espressif
Скачиваем Crosstool-NG и выбираем нужную конфигурацию:
$ git clone -b lx106-g++-1.21.0 --depth=1 https://github.com/jcmvbkbc/crosstool-NG.git
$ cd crosstool-NG
$ ./bootstrap && ./configure --prefix=`pwd` && make && make install
$ ./ct-ng xtensa-lx106-elf
Скачиваем патчи и собираем:
$ cd local-patches/gcc/5.1.0
$ wget https://github.com/jcmvbkbc/gcc-xtensa/commit/6b0c9f92fb8e11c6be098febb4f502f6af37cd35.patch
$ wget https://raw.githubusercontent.com/crosstool-ng/crosstool-ng/5a5fcbe148acf35372ecac145816c3515e6b8839/patches/gcc/5.3.0/130-build_gcc-5_with_gcc-6.patch
$ cd ../../..
$ ./ct-ng build
Настраиваем переменную окружения и перезапускаем консоль:
$ echo -e "\nPATH=$PWD/builds/xtensa-lx106-elf/bin:\$PATH" >> ~/.bashrc
Скачиваем esptool.py:
$ cd /opt/Espressif
$ git clone --depth=1 https://github.com/espressif/esptool esptool-py
$ cd esptool-py
Собираем и устанавливаем его:
$ sudo pip install --upgrade pip
$ sudo pip install esptool
$ sudo cp /usr/local/lib/python2.7/dist-packages/esptool.py ../crosstool-NG/builds/xtensa-lx106-elf/bin
Скачиваем репозиторий:
$ git clone https://github.com/ilya-nozhkin/embox
$ cd embox
Выбираем конфигурацию и собираем:
$ make confload-xtensa/esp8266
$ make
Создаем прошивку и записываем ее на плату:
$ ./scripts/esp8266/make_image.sh
$ ./scripts/esp8266/flash.sh
Запускаем Embox на контроллере:
$ sudo minicom -D /dev/ttyUSB0
Можно использовать make
с ключем -j5
для распараллеливания сборки, где 5
- это число ядер процессора +1.
Скрипт - disasm.sh
нужен, чтобы целиком дизассемблировать образ Embox.