вывод сборки

Октавио
Вторник 23 мая 2017 г. 14:16
Здравствуйте, я использую Arduino 1.16.13 (Windows10) и хотел бы увидеть выход компилятора в сборке, если это возможно.

Стивестронг
Вторник 23 мая 2017 г. 14:19
Используйте опцию -s для GCC (или G ++).

Вам нужно отредактировать платформу.Файл TXT и добавьте директиву «-s» в флаги C и/или CPP.

Октавио
Вторник 23 мая 2017 г. 14:53
Каждый раз, когда я редактирую файл, я получаю ошибки компиляции.какую линию прилагаемого файла необходимо изменить?

Стивестронг
Вторник 23 мая 2017 г., 17:01
Какие ошибки вы получаете?
Может быть, вам нужно удалить какую -то другую директиву компилятора, чтобы получить эту работу.

Октавио
Сб 27 мая 2017 г. 15:01
Я отредактировал эту строку: компилятор.CPP.flags = -c -g -os -s {компилятор.Warning_flags} -mmd -ffunction -sections -fdata -section.вариант} -d {build.vect} -derror_led_port = {build.error_led_port} -derror_led_pin = {build.error_led_pin} и получить это сообщение об ошибке: Arduino: 1.6.13 (Windows 10), плата: «Generic STM32F103C Series, STM32F103CB (20K ОЗУ. 128K Flash), сериал "

В файле, включенном из C: \ users \ octa \ documents \ arduino \ octa5 \ octa5.Ино: 2: 0:

C: \ users \ octa \ documents \ arduino \ arpware \ arduino_stm32 \ stm32f1 \ libraries \ fastled-stm32f103/fastled.H: 17: 21: Примечание: #Pragma Сообщение: Фаст Версия 3.001.005

# Pragma Message "Fasted Version 3.001.005 "

^

C:/users/octa/appdata/local/arduino15/packages/rfduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.Exe: Sketch \ octa5.Ино.CPP.o: формат файла не распознается; Обработка как сценарий линкера

C:/users/octa/appdata/local/arduino15/packages/rfduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/../lib/gcc/arm-none-eabi/4.8.3/../../../../arm-none-eabi/bin/ld.Exe: Sketch \ octa5.Ино.CPP.o: 1: синтаксическая ошибка

COLLECT2.EXE: Ошибка: LD вернул 1 статус выхода

Статус выхода 1
Компиляция ошибок для платы Generic STM32F103C Series.

В этом отчете будет больше информации с
«Покажите многословный выход во время компиляции»
опция включена в файле -> Предпочтения.

Рик Кимбалл
Сб 27 мая 2017 г. 15:05
Почему бы вам просто не использовать Arm-none-eabi-objdump:
$ ~/.arduino15/packages/arduino/tools/arm-none-eabi-gcc/4.8.3-2014q1/bin/arm-none-eabi-objdump -cs/tmp/arduino_build_224002/blinkwithoutdelay.Ино.эльф | меньше это версия Linux .. Изменить пути для Windows

Октавио
Сб 27 мая 2017 г. 15:28
>Почему бы вам просто не использовать Arm-none-eabi-objdump:
Потому что я понятия не имею.
Я попробую позже, когда узнаю, где протекают пути для Windows.

Рик Кимбалл
Сб 27 мая 2017 г. 15:43
Наверное для вас:

c: \ users \ octa \ appdata \ local \ arduino15 \ packages \ rfduino \ tools \ arm-none-eabi-gcc \ 4.8.3-2014q1 \ bin \ arm-none-eabi-objdump.Exe

Октавио
Сб 27 мая 2017 г. 16:16
ОК, спасибо.
AppData - это скрытый каталог, но я нашел файлы, и он работает.

Rogerclark
Сб 27 мая 2017 г., 21:24
% Appdata% доставляет вас в папку AppData в Windows

В зависимости от вашей версии Arduino IDE, он либо в Appdata Local, либо Appdata Roaming.

Я думаю, что вы можете использовать %appdata %\ local \ arduino15 \ .....и т. д...и т. д. На более новых версиях Arduino

Фотисл
Солнце 2 июля 2017 г. 6:27 утра
При добавлении параметра -s GCC выводит файл сборки вместо файла объекта. Итак, .o Файлы на самом деле являются кодом сборки вашей программы. Когда линкер пытается связать их, он не может распознать допустимые объектные файлы, поэтому он интерпретируется как сценарии линкера, но они все еще недействительны.
Objdump - хорошее решение, но вы потеряете ценную информацию, такую ​​как этикетки и т. Д. Если вы решите использовать objdump, не забудьте использовать опцию -d с файлом ELF (вы можете найти его в каталоге сборки) или бинарные опционы -d -b с окончательной прошивкой.
Если бы я был тобой, я бы изменил рецепт.в.о.образец и рецепт.CPP.о.Переменные шаблона для включения 2 команд, одна для генерации сборки и одну для файла объекта. Я думаю, вы можете использовать&'Символ, чтобы связать команды в одной строке под Windows, поэтому я считаю, что вы могли бы сделать что -то вроде: recipe.cpp.o.pattern="{compiler.path}{compiler.c.cmd}" {compiler.c.flags} ... -o "{object_file}" & "{compiler.path}{compiler.c.cmd}" {compiler.c.flags} -S ... -o "{object_file}.s"

Ахулл
Солнце 2 июля 2017 г. 11:53 утра
Есть ряд других предложений для коммутаторов командной строки, которые вы могли бы попробовать здесь -> https: // Stackoverflow.com/вопросы/137 ... rce-in-gcc