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

Мой сборщик и флешер

Neov

Member
Вам написал - не создает правильных бинарников, не позволяет менять многие вещи, необходимые для отладки и прочего.
очевидно, что проект не компилируется, рас нет бинарников. Для этого я и прошу у Вас STDERR, чтобы разобраться в причинах.

Кроме того требует перевода на него всей задуманной структуры, а его решения не оптимальны
Вот прямо сейчас скачал проект с гит, и собрал с первого раза :) но тем не менее Ваше пожелание об указании пути к SDK в работе.
 

pvvx

Активный участник сообщества
очевидно, что проект не компилируется, рас нет бинарников. Для этого я и прошу у Вас STDERR, чтобы разобраться в причинах.
У сожалению уже всё стер. Надо опять качать, пихать команды... :(
Скачайте то, что есть - оно создаст бинарники, с которыми можно сравнить и логи все будут.
Вот что оно говорит на проекте RTL00_AT:
Код:
source not found: 'component\\soc\\realtek\\8195a\\cmsis\\device\\system_8195a.c' in bld(posted=True, compile_nodes=[], target='', idx=2, link_nodes=[], _name='SRC compile', meths=['ameba_preparation', 'ameba_compile', 'process_rule'], includes=['project\\realtek_ameba1_va0
.....
, '-fno-short-enums', '-mcpu=cortex-m3', '-std=gnu99', '-fsigned-char'], path=E:\RTL87xx\tst1\RTL00_AT, defines=['M3', 'CONFIG_PLATFORM_8195A', 'GCC_ARMCM3', 'ARDUINO_SDK', 'F_CPU=166000000L'], features=['ameba_compile']) in E:\RTL87xx\tst1\RTL00_AT
+ Снимок1333.gif
 
Последнее редактирование:

pvvx

Активный участник сообщества
На проекте RTL00MP3 файлы ram_1.bin, ram_all.bin неверны.
app.nmap - не сортирован, а создается для просмотра не машиной.
Файлов ram_1.p.bin, ram_1.r.bin - нет.
В директории проекта зачем-то нужны *.ld и export-rom_v04.txt, когда они лежат в SDK.
Создается куча ненужных директорий, кучи каких-то файлов - нафиг они?
Если стереть бинарники - новых не создается.
Если стереть build, чтобы перетранслировал - нового не создает. Надо делать всё с нова...
Ничего не поменять в файлах питона - нужен специальный редактор, различаюший таб и пробелы, ещё кроме синтаксиса команд make надо соблюсти язык питона - это всё в нагрузку, чтобы никогда не получить правильные бинарники? :)
Как проверить в RAM полученную прошивку и boot-loader?

И ещё раз - Параллельная компиляция с имеющимися make работает быстрее вашей версии - [inline]mingw32-make.exe -j[/inline], но гарантии, что будет работать у всех - нет. Зависит от операционки и её поддержки кол-ва реальных ядер у проца. Нет патча - будет срываться. Ryzen на 8 реальных ядрах, патча на десятку win пока нет.
В flasher.mk параллелька отключена [inline].NOTPARALLEL[/inline] - там нечего параллелить - только ошибки собирать :)
 
Последнее редактирование:

Neov

Member
Наконец то, радует что хоть ram_all.bin уже получили :)

"И тут Остапа понесло" :) Начинаются придирки в стиле "а тут файлики какие то, я к ним не привык...", а эти файлики нужны, они хранят в том числе базу других файликов, их хеши и много другой полезной инфы, трогать их не нужно, и раздражаться от них тоже не желательно :)

ram_all.bin неверны
Тем не менее заливал ram_all.bin и она загружается и работает.

нужен специальный редактор, различаюший таб и пробелы, ещё кроме синтаксиса команд make надо соблюсти язык питона
Скажу по-секрету, открываете notepad.exe и аккуратно пробелами выравниваете под строчку выше, у Вас обязательно получится, я в Вас верю. Ничего нового на питоне там, в принципе, писать не нужно, достаточно редактировать в местах где есть кавычки :)


В директории проекта зачем-то нужны *.ld и export-rom_v04.txt, когда они лежат в SDK.
app.nmap - не сортирован, а создается для просмотра не машиной.
Это я уже исправил, теперь достаточно до скрипта прописать прямой путь, и nmap теперь отсортирован.
Файлов ram_1.p.bin, ram_1.r.bin - нет.
Их специально нет, принял немного другую номенклатуру: .bin.raw - дергнутые секции, .bin - секции с шапой (а в случае Image1 ещё и растянутые). Впрочем называйте их как угодно, в wscript все интуитивно расписано, если уж сложно воспринять могу комментарии накидать :)

Если стереть build, чтобы перетранслировал - нового не создает. Надо делать всё с нова...
А вот тут клеветать не надо, удаляете что-то из build - файл заново генерируется :)

И ещё раз - Параллельная компиляция с имеющимися make работает быстрее вашей версии
Оооочень смелое утверждение :)

А вообще болезненная реакция у Вас, однако :)
 
Последнее редактирование:

pvvx

Активный участник сообщества
А вообще болезненная реакция у Вас, однако :)
Нет у меня никакой реакции, кроме "подсталом" - просили помочь, а теперь наезжаете :)
Давно крышу чинили?
Файлы у вас от старого SDK. Пользуйтесь наздоровье. :)
Не работает ваша сборка как надо - я в этом не виновен и предупреждать по сто раз не обязан :p
А в кавычках сами как нибудь разберетесь - пока ещё не смогли :) C простым make совладать не можете, всё логи какие-то надо. :)
Не нужны "дерганутые" секции. Из "дерганутых" там только ram.bin - исключительно для теста (забыл отключить его вывод).
Наконец то, радует что хоть ram_all.bin уже получили :)
Угу - целый день потратили, а правильного так и не вышло. Горе программа - не находите?

"И тут Остапа понесло" :) Начинаются придирки в стиле "а тут файлики какие то, я к ним не привык...", а эти файлики нужны, они хранят в том числе базу других файликов, их хеши и много другой полезной инфы, трогать их не нужно, и раздражаться от них тоже не желательно:)
Давайте я вам добавлю таких файликов, "очень полезных", для автомата, в SDK на git - все будут рады :)
Просто умора - программа трансляции создающая кучи срани вокруг себя :)
Она без них жить не может? :) От сохранения всякой фигни прямо в исходники в SDK от BADI избавились, теперь появился новый скрипт, срущий вокруг :)
 
Последнее редактирование:

Neov

Member
Нет у меня никакой реакции, кроме "подсталом" - просили помочь, а теперь наезжаете :)
Давно крышу чинили?Не работает ваша сборка как надо - я в этом не виновен и предупреждать по сто раз не обязан :pГоре программа - не находите? Угу - целый день потратили, а правильного так и не вышло. кучи срани вокруг себя :)
И это Вы мне про крышу?:-D Был бы другой вопрос, если бы действительно помогали, вместо выдуманных страданий, и о горе :) Раз 5 просил лог прислать, так и не прислали. Но зато "какое горе эта ваша программа". Пока что только 5% замечаний по существу, и 95% страданий и неадеквата :)

Файлы у вас от старого SDK. Пользуйтесь наздоровье. :)
А это Вы собственно о чем? :D Файлы от SDK я не поставлял, а судя по огрызку, что присылали выше, _build_src у вас вообще не от rtl00mp3.

А в кавычках сами как нибудь разберетесь - пока ещё не смогли :) C простым make совладать не можете, всё логи какие-то надо. :)
Да уж прекрасно наелся make, и прекрасно знаю его как плюсы так и минусы, от того и начал делать сборку на waf :)
Многие проекты счастливо живут на WAF: Projects using the Waf build system и другие :)

Не нужны "дерганутые" секции. Из "дерганутых" там только ram.bin - исключительно для теста (забыл отключить его вывод).
Серьезно? а ram_2 вы как получаете? :D

Давайте я вам добавлю таких файликов, "очень полезных", для автомата, в SDK на git - все будут рады :)Просто умора - программа трансляции создающая кучи срани вокруг себя :)
Она без них жить не может? :) От сохранения всякой фигни прямо в исходники в SDK от BADI избавились, теперь появился новый скрипт, срущий вокруг :)
Да пожалуйста, создавайте! Если ваш чудо сборщик на make, пардон mingw-make, внезапно начнет параллельно собирать, станет по-настоящему кроссплатформенный, будет анализировать исходники и выборочно компилировать, или хотя бы без засранного зоопарка из bat, то не страшно.
Либо бурная фантазия у Вас, либо помутнение рассудка ввиду приступов агрессии, если вы нашли waf срущим в SDK, когда он в принципе работает в build

В общем, помощи от Вас никакой, но хоть хорошее настроение с утра дарите :)
 

sharikov

Active member
Если ваш чудо сборщик на make, пардон mingw-make, внезапно начнет параллельно собирать, станет по-настоящему кроссплатформенный, будет анализировать исходники и выборочно компилировать, или хотя бы без засранного зоопарка из bat, то не страшно.
параллельно собирает:
Сборка на 1 ядре:
time make-4.2 all
make-4.2[1]: Entering directory '/mnt/w2/rtl8710/rtlhttpd'
===========================================================
......
......
Image (build/bin/ota.bin) size 247624 bytes
Image (build/bin/ram_all.bin) size 292676 bytes
===========================================================
make-4.2[1]: Leaving directory '/mnt/w2/rtl8710/rtlhttpd'
real 0m20.860s
user 0m17.830s
sys 0m2.765s

Сборка на 2 ядрах:
time make-4.2 all
make-4.2[1]: Entering directory '/mnt/w2/rtl8710/rtlhttpd'
===========================================================
......
......
Image (build/bin/ota.bin) size 247624 bytes
Image (build/bin/ram_all.bin) size 292676 bytes
===========================================================
make-4.2[1]: Leaving directory '/mnt/w2/rtl8710/rtlhttpd'
real 0m12.198s
user 0m18.620s
sys 0m3.147s

с каких это пор make перестал быть кроссплатформенным ?
собираю rtl00mp3 на linux - почему то собирается.
bat файлы я не использую - вписал то что мне нужно в свой makefile.

если меняю 1 файл компилирует только его.
 

pvvx

Активный участник сообщества
Вам пример с исправлениями дал. Так и остальное поправите, а то в Питоне тоже оказалось что не шарите, но уже лезете :)
А make на waf выкиньте. Не нужен он никому - срет и больше ничего от него.
В общем дописывайте, что можете - возьму за шаблон, чтобы буков меньше набивать - слеплю программатор. :)
И это Вы мне про крышу?:-D Был бы другой вопрос, если бы действительно помогали, вместо выдуманных страданий, и о горе :) Раз 5 просил лог прислать, так и не прислали.
И читать не умеете - выдано и больше раз.
Но зато "какое горе эта ваша программа". Пока что только 5% замечаний по существу, и 95% страданий и неадеквата :)
Ну вот и признались - и в маке не шарите. Проект в нем собирается и все логи дает - достаточно жать одну кнопку, а не лопатить мантры запуска питонным скриптам. Кроме waf есть ещё варианты. Поищите и поглядите, а то так в безызвестности и помрете...
Подучите типы и преобразования в Питоне - в ваших исходниках видно, что не выучили и вызывают у вас большие проблемы...
Да, и бинарники boot-ов, которые вы любите "дергануть" выкинуты на git - ваш скрипт теперь опять не работает. Нас закрытый код, да ещё и с ошибками, не устраивает.
Да пожалуйста, создавайте! Если ваш чудо сборщик на make, пардон mingw-make, внезапно начнет параллельно собирать, станет по-настоящему кроссплатформенный, будет анализировать исходники и выборочно компилировать, или хотя бы без засранного зоопарка из bat, то не страшно.
Оно уже - с самого начала кросс и параллельно работает. Батники там - нет программатора и его концепция ещё не сформирована. Думал, что вы сделаете. Но оказалось, что можете только предложить чужой waf, замещающий уже работающее, а нужную часть без папочки написать не можете :(
 
Последнее редактирование:

Neov

Member
Вам пример с исправлениями дал. а то в Питоне тоже оказалось что не шарите, но уже лезете :)Подучите типы и преобразования в Питоне - в ваших исходниках видно, что не выучили и вызывают у вас большие проблемы...
А, вы уже научились отступы в питоне делать? теперь ещё мьсе и учит :) А что вы там "исправили" ? обернули в __main__ ? А вот про типы, вызывающие "большие проблемы" подробней ? :)

Нас закрытый код не устраивает.
А make на waf выкиньте. Не нужен он никому - срет и больше ничего от него.лопатить мантры запуска питонным скриптам
Ваше невежество во всем что выходит за рамки make и С уже перешло все границы разумного и дискутировать на эту тему уже смысла нет.

Кроме waf есть ещё варианты. Поищите и поглядите, а то так в безызвестности и помрете...
Смотрите за собой, "эксперт", а то так и помрете ограниченным костылям make в windows.
 
Последнее редактирование:

Neov

Member
с каких это пор make перестал быть кроссплатформенным ?
собираю rtl00mp3 на linux - почему то собирается.
Примерно те же результаты по скорости и у меня.
Я же не утверждал о непригодности make, все же как никак негласный стандарт, ровно как ничего против make не выражал.
Впервые решил сделать сборку на waf, и оценил ряд преимуществ.
 

pvvx

Активный участник сообщества
Примерно те же результаты по скорости и у меня.
Я же не утверждал о непригодности make, все же как никак негласный стандарт, ровно как ничего против make не выражал.
Впервые решил сделать сборку на waf, и оценил ряд преимуществ.
А в чем преимущества? Стандартной конфигурации для Eclipse или IAR не понимает. Создать makefile не может, сожрать установки из сред - тоже. Есть уже готовые, которые это всё делают. А у нас тут детсад и всё для начинающих - чем проще - тем лучше, чем меньше внешних либ в том-же питоне - тем лучше.
Те-же батники и оставлены - с ними разберется любой и поправит как ему надо. Меньше вопросов :)
 
Последнее редактирование:

Neov

Member
А в чем преимущества? Стандартной конфигурации для Eclipse или IAR не понимает. Создать makefile не может, сожрать установки из сред - тоже. Есть уже готовые, которые это всё делают. А у нас тут детсад и всё для начинающих - чем проще - тем лучше, чем меньше внешних либ в том-же питоне - тем лучше.
Те-же батники и оставлены - с ними разберется любой и поправит как ему надо. Меньше вопросов :)
А тем что это Python, и вся его гибкость. Можно слепить все необходимое, включая лепку бинарников, прошивку и др. И все будет работать с пол пинка без костылей на любой ОС. Python и WAF прекрасно работают с переменными окружения, настройка Eclipse проста до безобразия, как и любая IDE. В wscript указаны все необходимые данные, в достаточно простом виде.

чем меньше внешних либ в том-же питоне - тем лучше
О чем вы снова, "эксперт"? :) Нужен _только_ питон и больше ничего.
 

pvvx

Активный участник сообщества
Универсальное, удобное, быстрое, кроссплатформенное, самодостаточное решение для сборки и прошивки RTL87xx чипов. Отличная альтернатива ардуинам.
Сборка основана на waf, прошивка подсмотрена на форуме, требуется jlinkarm(.dll/.so/.dylib).
Что это дает:
  • Быстрый старт
  • Никаких bash, mingw, cygwin, binutils, makefile etc.
  • Кросплатформенно, требуется только Python 2.7 и arm-none-eabi-(gcc/nm/objcopy), которые есть почти под все ОС.
  • Высокая скорость
  • Флешер в комплекте
  • Любая IDE
Ни один из лозунгов пока не выполнен. :(
Может ещё прикрутите kconfig и спец среду, как это сделано в esp-idf для ESP-32S. Там вообще ничего не поменять начинающему, без года обучения.
 

pvvx

Активный участник сообщества
А тем что это Python, и вся его гибкость. Можно слепить все необходимое, включая лепку бинарников, прошивку и др. И все будет работать с пол пинка без костылей на любой ОС. Python и WAF прекрасно работают с переменными окружения, настройка Eclipse проста до безобразия, как и любая IDE. В wscript указаны все необходимые данные, в достаточно простом виде.
О чем вы снова, "эксперт"? :) Нужен _только_ питон и больше ничего.
Эксперта мы тут наблюдаем. :) Пытается собрать элементарный проект на питоне и не может :) Где гибкость и скорость? :) Пока одна голословщина и лозунги :)
Промоушин уже стекает, а проект так и не собирается как надо.
До программатора - дальше луны пешком в данном проекте?
Может CMAKE? Или на Java попробуете сделать то, что уже есть? :)
Новых предложений или решений пока не предложили - не оправдывается название темы "Мой ..." :)
Может перепишите gcc на waf?
 
Последнее редактирование:

Neov

Member
Ни один из лозунгов пока не выполнен. :(
Вы же читать умеете, это бета, написанная на скорую руку. И вообще каждый пункт успешно выполняется :) возможно не выполняется у вас или у кого-то ещё, открыт к адекватной обратной связи, от вас её никак нет.

Пытается собрать элементарный проект на питоне и не может :) Где гибкость и скорость? :) Пока одна голословщина и лозунги :)
Промоушин уже стекает, а проект так и не собирается как надо.Новых предложений или решений пока не предложили - не оправдывается название темы "Мой ..." :)
"рукалицо", предлагаю вам срать в других ветках.

До программатора - дальше луны пешком в данном проекте?
Срите в других ветках. Минимальая функция флешера есть и успешно работает :)

Может CMAKE? Или на Java попробуете сделать то, что уже есть? :)
А мысль неплохая, собрать на maven, займитесь если есть желание.

Может перепишите gcc на waf?
интересный ход мыслей, уже были попытки переписать gcc? на make? ваша адекватность вам это позволяет :)
 

pvvx

Активный участник сообщества
"рукалицо", предлагаю вам срать в других ветках.
:p :)
Сдулись - уже виноватых ищите? :)
Вам деваться с подводной лодки некуда. Всё рекомендованное придется исполнить, иначе не выйдет сборщика :p Так шо можете сразу закрывать тему и сваливать, раз не справились.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Жду болванки для программатора на Питоне. Как-нибудь вставлю в исходники на свой git и в rtlDuino :p
И не беспокойтесь – кроме вас и меня ваш скрипт никто не использовал и не знает, что он не работает :). Учтете написанное – выкину waf, а остальное встрою куда – пусть народ развлекается.
 
Последнее редактирование:

Neov

Member
Однако задела эта темка вас, аж не заткнуть пыл истерии:D медом вам тут помазано?
в этой ветке от вас помощи никакой, лучше не отвлекайтесь а пилите свой сдк, а я по мере времени буду синхронизировать wscript :)
 

pvvx

Активный участник сообщества
Однако задела эта темка вас, аж не заткнуть пыл истерии:D медом вам тут помазано?
в этой ветке от вас помощи никакой, лучше не отвлекайтесь а пилите свой сдк, а я по мере времени буду синхронизировать wscript :)
Мне это не мешает. Незя без перерывов корпеть над SDK и т.д. Сообщения не только для вас - не впечатляйтесь :)
 
Сверху Снизу