• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Ошибки при сборке примеров в UDK

Alex

Member
Интересно почему 520 у кого то работает а у кого то нет.
У меня вообще ccplus с ошибкой windows вываливается.
 

CHERTS

Moderator
Команда форума
Интересно почему 520 у кого то работает а у кого то нет.
У меня вообще ccplus с ошибкой windows вываливается.
Может дело в железе? У кого какая конфигурация ПК? CPU, Память?
У меня на работе AMD Athlon II X2 270 + DDR3 8Gb
Дома Intel Core i5 (Skylake) + DDR4 16Gb
 

nikolz

Well-known member
Может дело в железе? У кого какая конфигурация ПК? CPU, Память?
У меня на работе AMD Athlon II X2 270 + DDR3 8Gb
Дома Intel Core i5 (Skylake) + DDR4 16Gb
Нет, железо будет влиять если оно неисправное и это будет приводить к зависанию или вылету OC.
 

CHERTS

Moderator
Команда форума
Вопрос на засыпку, тем у кого есть ошибки, а как насчет попробовать компилятор от SysGCC ? Там 5.2 версия, будут ли там ошибки сборки ?
 

CHERTS

Moderator
Команда форума
Прошу проверить новую сборку компилятора на предмет появления ошибки float, качаем тут, в архиве только папка xtensa-lx106-elf
 

serg28serg

New member
при сборке Modbus TCP - RTU ,
компилятор стал ругаться что нет питона
ставлю питон 2.7
ругается на отсутствие "No module named serial"

может общую инструкцию UDK дописать, все одно питон нужен для некоторых проектов , столько времени теряешь на исправление багов когда делаешь с нуля, и ищешь что же там еще в пакетах не хватает

здесь я поиском не нашел, может замыливает постами с подобными ошибками
../Makefile:198: recipe for target
C:\Python27\

установка на винде PySerial :
скачиваем и устанавливаем Python 2.7...
Download Python
при установки указать "прописать PATH" в системные переменные (точной фразы не помню)
скачиваем get-pip.py
Installation — pip 8.2.0.dev0 documentation
запускаем get-pip.py (расширение .py), откроется окно и скачает pip в соответствующую папку питона
запускаем CMD (или другую командную строку)
от администратора и скачиваем PySerial командной строкой
C:\Python27\Scripts\pip.exe install pyserial

после этого Modbus TCP - RTU уже собрался
 

CHERTS

Moderator
Команда форума
может общую инструкцию UDK
В общем случае питон для UDK не нужен, т.к. все питоновсике утилиты уже скомпилированы в exe, но если хочется, то:
1. Скачиваем и ставим Pyton 2.7.x нужной версии x86 или x64
2. Запускаем файл C:\Espressif\utils\ESP8266\py2exe_esptool.cmd который свежий их репо, там я поправил определение разрядности питона для правильной установки нужной версии py2exe
3. Profit.

py2exe_esptool.cmd и ему подобные (py2exe_XXXX.cmd) из C:\Espressif\utils\ESP8266\ компилируют exe файлики их *.py в .exe, при этом они проверяют зависимости и ставят все необходимые модули, в частности pip, pyserial, argparse, py2exe

P.S. Последние версии питона инсталлятора питона сами ставят pip
 

tkont

New member
знать
py2exe_esptool.cmd и ему подобные (py2exe_XXXX.cmd) из C:\Espressif\utils\ESP8266\ компилируют exe файлики их *.py в .exe, при этом они проверяют зависимости и ставят все необходимые модули, в частности pip, pyserial, argparse, py2exe
понял, это ж надо еще знать что нужно такой то файл в такой то папке запустить, после установки питона :)
переделал - заработало
 
Последнее редактирование:

nikolz

Well-known member
А какие ошибки?
16:36:26 **** Build of configuration Default for project rboot ****
mingw32-make.exe -f C:/Espressif/examples/ESP8266/rboot/Makefile all
Building esptool2 firmware tool
mingw32-make.exe[1]: Entering directory 'C:/Espressif/examples/ESP8266/rboot/esptool2'
CC esptool2.c
gcc -O2 -Wall -c esptool2.c -o esptool2.o
esptool2.c: В функции «CreateHeaderFile»:
esptool2.c:214:19: предупреждение: format «%x» expects argument of type «unsigned int», but argument 3 has type «Elf32_Addr {aka long unsigned int}» [-Wformat=]
fprintf(outfile, "const uint32 entry_addr = 0x%08x;\r\n", elf->header.e_entry);
^
esptool2.c:234:20: предупреждение: format «%x» expects argument of type «unsigned int», but argument 4 has type «Elf32_Addr {aka long unsigned int}» [-Wformat=]
fprintf(outfile, "\r\nconst uint32 %s_addr = 0x%08x;\r\nconst uint32 %s_len = %d;\r\nconst uint8 %s_data[] = {",
^
esptool2.c:234:20: предупреждение: format «%d» expects argument of type «int», but argument 6 has type «Elf32_Word {aka long unsigned int}» [-Wformat=]
CC esptool2_elf.c
gcc -O2 -Wall -c esptool2_elf.c -o esptool2_elf.o
LD esptool2
gcc -o esptool2 esptool2.o esptool2_elf.o
mingw32-make.exe[1]: Leaving directory 'C:/Espressif/examples/ESP8266/rboot/esptool2'
Building rBoot boot loader
mingw32-make.exe[1]: Entering directory 'C:/Espressif/examples/ESP8266/rboot/rboot'
mkdir -p build
mkdir -p firmware
CC rboot-stage2a.c
LD build/rboot-stage2a.elf
E2 build/rboot-hex2a.h
CC rboot.c
LD build/rboot.elf
E2 firmware/rboot.bin
mingw32-make.exe[1]: Leaving directory 'C:/Espressif/examples/ESP8266/rboot/rboot'
Building rBoot sample project
mingw32-make.exe[1]: Entering directory 'C:/Espressif/examples/ESP8266/rboot/rboot-sampleproject'
CC main.c
CC rboot-api.c
CC uart.c
CC rboot-ota.c
LD rom0.elf
FW rom0.bin
LD rom1.elf
FW rom1.bin
mingw32-make.exe[1]: Leaving directory 'C:/Espressif/examples/ESP8266/rboot/rboot-sampleproject'

16:36:58 Build Finished (took 31s.140ms)
 

nikolz

Well-known member
И где тут ошибка? это предупреждения, прошивка собирается
А Вы полагаете, что предупреждения от нечего делать пишутся?
Они не являются фатальной ошибкой, а лишь предупреждают, что если что не так, то виноваты Вы сами. Я предупреждения учитываю и убираю причины их порождающие.
-----------------------------------------------
Это как предупреждение, что не надо ходить через дорогу на красный светофор.
Но некоторые ходят, а потом их с дороги собирают.
 

pvvx

Активный участник сообщества
А Вы полагаете, что предупреждения от нечего делать пишутся?
Они не являются фатальной ошибкой, а лишь предупреждают, что если что не так, то виноваты Вы сами. Я предупреждения учитываю и убираю причины их порождающие.
Тогда во всех примерах поставьте опции компилятору -Wall -Werror. Иначе это 'китайский стиль' написания программ.
 

nikolz

Well-known member
Тогда во всех примерах поставьте опции компилятору -Wall -Werror. Иначе это 'китайский стиль' написания программ.
А почему не русский стиль?
Это так по русски. Плевать в колодец, после того как напился.
Т е Вы предлагаете не учитывать предупреждения. Типа знай наших!!!
Хоть и хаваем с китайского рынка, но обязательно оплюем их , чтобы утешить собственное самолюбие.
Может предложите вариант , как убрать данное предупреждение?
 

CHERTS

Moderator
Команда форума
Т е Вы предлагаете не учитывать предупреждения. Типа знай наших!!!
Вы предлагаете мне ковырять чужой код (rboot, nodemcu) с целью доведения его до идеала? Простите, но это не входит в мои планы, мне проще тогда оставить 1 пример helloworld. Вы этого хотите? Для чего вся эта полемика? Вы бы вместо этого вязли да исправили код и сделали pull request, но нет, мы же русские, будем чесать языком еще 10 страниц форума. Херней какой-то страдаете, простите за грубое выражение.

pvvx правильно говорит, ставьте -Wall -Werror и вы увидите столько ошибок в китайском коде, что мама не горюй.
хотите идеальный код, дак пишите его, вам никто не запрещает, что толку обсуждать чужой код (он даже не мой, я про rboot, nodemcu).
 
Сверху Снизу