Lazarus+Arduino

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

dalfy
новенький
Сообщения: 12
Зарегистрирован: 07.10.2021 19:47:01

Сообщение dalfy »

wavebvg писал(а):Если включить подробный вывод
Включил полный вывод, но появляется только одна строка:

Код: Выделить всё

Ошибка: ppcavr.exe can't be executed, error message: Failed to execute ""ppcavr.exe" -B -Tembedded -CpAVR5 -MObjFPC -Scgi -O1 -vewnhildubq -FuD:\Prj\me -FuD:\Prj\mkproj\timer\kod\LTimers\ -oD:\Prj\mkproj\timer\kod\LTimers\test -WpATMEGA328P -al timers.lpr
Если переименовать ppcrossavr.exe в ppcavr.exe, ни чего не происходит.
А где Вы взяли файлы ppu и ppcrossavr.exe??
wavebvg
постоялец
Сообщения: 355
Зарегистрирован: 28.02.2008 03:57:35

Сообщение wavebvg »

У Вас
dalfy писал(а):

Код: Выделить всё

-FDC:\fpcupdeluxe\cross\bin\avr-embedded\
-FlC:\fpcupdeluxe\cross\lib\avr-embedded\$fpcsubarch\
и
dalfy писал(а):

Код: Выделить всё

-FuC:\fpcupdeluxe\fpc\units\avr-embedded\$fpcsubarch\
-FuC:\fpcupdeluxe\fpc\units\avr-embedded\$fpcsubarch\*
-FuC:\fpcupdeluxe\fpc\units\avr-embedded\$fpcsubarch\rtl
Могут содержать ppu-шки, скомпилированные под разные версии компилятора, в результате IDE их (ppu-шки) читает и они не подходят компилятору: автодополнение не работает. Если компилятора нет, то автодополнение работает, пользуясь любыми объектными файлами (я не особо разбираюсь, как IDE готовит автодополнение).
dalfy писал(а):А где Вы взяли файлы ppu и ppcrossavr.exe??
Собрал из исходников. Но под винду я не пробовал этого делать, поскольку для кросса она, на мой взгляд, не очень пригодна.

Почитал как Вы настраивали: https://habr.com/ru/post/706364/ , не очень понятна стадия сборки (готовые файлы выкачивались или собрались из исходников? Меняли ли Вы версию компилятора во время опытов?). Могу лишь попробовать подготовить сценарии автоматической сборки под винду, поковыряв fpcupdeluxe (линковщик оттуда выковорить можно и другое по мелочи). Но это не очень быстро будет.
dalfy
новенький
Сообщения: 12
Зарегистрирован: 07.10.2021 19:47:01

Сообщение dalfy »

wavebvg писал(а):Могут содержать ppu-шки, скомпилированные под разные версии компилятора, в результате IDE их (ppu-шки) читает и они не подходят компилятору: автодополнение не работает
Где скачать ppu из интернета я не нашёл, но на официальном сайте fpc о кросс-компиляции говорилось об fpcupdeluxe. fpcupdeluxe - это отдельная программка позволяющая скачать файлы для кросс-компиляции, в том числеи для avr; выбрал avr, семейство avr5 и нажал скачать. fpcupdeluxe скачивает откуда-то ppu и компилятор ppcrossavr.exe. Если ppcrossavr.exe скопировать в bin папку Lazarus или в настройках проекта явно указать ppcrossavr.exe, то всё компилируется, но без поддержки автодополнения. Если ppcrossavr.exe ни куда не копировать и не указывать, то при запуске Lazarus скажет, что fpc.exe не поддерживает embedded, но тогда работает автопополнение, а компиляция нет. Как тогда получается, если мы ставим ppcrossavr.exe, то ppu, скачанные одновременно с ppcrossavr.exe (и очевидно из одного и того же места), не определяются ppcrossavr.exe, было бы понятно, если они не подхватывались fpc.exe.
wavebvg писал(а):готовые файлы выкачивались или собрались из исходников?
Выкачавались программой fpcupdeluxe.
wavebvg писал(а):Меняли ли Вы версию компилятора во время опытов?
Только между стандартным fpc.exe и ppcrossavr.exe. Как собрать ppcrossavr.exe я не знаю и силы на исходе... Ведь ppcrossavr.exe появляется вместе с ppu и другими файлами, значит, он должен быть с ними совместим... Голова раскалывается от этих загадок. :roll:
wavebvg писал(а):Могу лишь попробовать подготовить сценарии автоматической сборки под винду, поковыряв fpcupdeluxe
Был бы признателен или понять откуда можно скачать ppu, не охота возвращаться к CV.
dalfy
новенький
Сообщения: 12
Зарегистрирован: 07.10.2021 19:47:01

Сообщение dalfy »

Благодарю wavebvg, натолкнул на мысль с не теми версиями ppu. Оказывается, чтобы всё работало быстрее я установил fpcupdeluxe 64х, а Lazarus использую 32х (чтоб везде работало). Я думал что с fpcupdeluxe можно установить и 32х приложения, там есть такие галочки, но видимо что-то не так работает. Установил fpcupdeluxe 32х, переустановил FPC и компилятор для avr. Всё заработало!!! Опишу установку компилятора в статье на Хабре.
Теперь всё компилируется и работает автопополнение.
Спасибо за помощь!
Kopa
новенький
Сообщения: 41
Зарегистрирован: 29.10.2020 11:24:36

Сообщение Kopa »

Кстати, не совсем Ардуино, и не совсем Pascal (Oberon-07) имеется такой проект
Oberon-07 compiler
Oberon-07 compiler for x64 (Windows, Linux), x86 (Windows, Linux, KolibriOS), MSP430x{1,2}xx, STM32 Cortex-M3
Ответить