Lazarus+Arduino

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

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

Re: Lazarus+Arduino

Сообщение dalfy » 11.01.2023 19:13:19

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??
dalfy
новенький
 
Сообщения: 12
Зарегистрирован: 07.10.2021 20:47:01

Re: Lazarus+Arduino

Сообщение wavebvg » 12.01.2023 12:14:44

У Вас
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 (линковщик оттуда выковорить можно и другое по мелочи). Но это не очень быстро будет.
wavebvg
постоялец
 
Сообщения: 354
Зарегистрирован: 28.02.2008 04:57:35

Re: Lazarus+Arduino

Сообщение dalfy » 12.01.2023 21:20:15

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 20:47:01

Re: Lazarus+Arduino

Сообщение dalfy » 14.01.2023 20:35:10

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

Re: Lazarus+Arduino

Сообщение Kopa » 25.05.2023 23:42:19

Кстати, не совсем Ардуино, и не совсем Pascal (Oberon-07) имеется такой проект
Oberon-07 compiler
Oberon-07 compiler for x64 (Windows, Linux), x86 (Windows, Linux, KolibriOS), MSP430x{1,2}xx, STM32 Cortex-M3
Kopa
новенький
 
Сообщения: 41
Зарегистрирован: 29.10.2020 12:24:36

Пред.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

Рейтинг@Mail.ru