VSCode/Arduino: Автоматически удаляется .elf файл после сборки

Дано

  • VS Code
  • Arduino Community extension
  • STM32 аддон (тот который СТМ, а не Кларка)

После сборки проекта вижу, где должен находится .elf файл, например так:

.arduino15/packages/STMicroelectronics/tools/xpack-arm-none-eabi-gcc/14.2.1-1.1/bin/arm-none-eabi-size -A /tmp/arduino_build_69315/dmd_rgb_dma.ino.elf

но когда выхожу в консоль - этой папки нет!

Похоже, где-то есть настройка - удалять билд-каталог сразу после сборки или прошивки. Но убей, не могу найти где. Ничего похожего не нашел ни в VSCode Settings, ни опциях сборки СТМ-аддона. ИИ советует всякую хрень…

Поскажите, как отменить удаление файла, хочу немного дебаггером и дизасмом поиграться с ним.

А сразу листниг asm получить не канает ?

не, я в основном хочу gbd на нем запустить

Хотя, конечно, можно, вместо листинга, прописать тупо копировать ЭЛФ куда-то в бекап каталог… Но это криво, буду пробовать, если не получится найти ответ на заглавный вопрос.

42! Извините :dotted_line_face:

А поставить запрет на изменение в папке из самой винды не прокатит?

А как этот файл тогда создастся, если будет запрет на изменение?

Скорее всего никак. Ардуино кричит о невозможности и предлагает сохранить в другое место. А в VSC вдруг бы прокатило :roll_eyes: Надеждас.

Вот именно 5коп от дилетанта. Должен быт где-то Makefile, и в нём прописана такая опция. Её надо удалить.
Пример:

# cleanup - delete all generated files
clean:	tidy
	rm -rf Debug.elf
	rm -rf A24_LST_PROBA.o
	@# Очистка созданных файлов листинга
	rm -rf A24_LST_PROBA.lst
	rm -rf Debug.lss

В папке “. vscode” проекта есть файл “Arduino.json”. Там добавляешь строку "output: ", в которой указываешь, куда будет идти сборка/компиляция. А системная папка tmp на то и временная, что чистится сразу

Спасибо, попробую.

А что касается “временной папки” - такие же папки, созданные обычной Ардуино ИДе, почему-то никуда не исчезают. Хотя тоже находятся в /tmp

Vs code - среда посерьезнее

Намекаешь, что просто положить файл в папку - это несерьёзно для ВСКоде ? Нужно чтобы юзер помучился? :slight_smile:

Не намекаю. Просто удаление временных файлов - дело программы, которая их туда (во временную папку) положила. Вот Ардуино ИДЕ на это ложит с прибором, а vs code - нет. Вопрос в отношении к делу разработчиков - кто-то за собой прибирает, а кому-то пох )))

Ну может и так… хотя я бы обошелся и без такой заботы…

Ну, это, типа, правила хорошего тона - убирать за собой. Система чистить временную папку не обязана

Спасибо, это сработало!
Добавил строчку

"output" : "build"

  • в каталоге проекта появилась папка “build” , которая использовалась для сборки проекта и где оказались все временные и конечные файлы.

Можно узнать, где это написано?

Это я в логе компиляции (вроде бы) подсмотрел ))