[Решено] STM32F303 - Предупреждение: изменение начала раздела .текст на 8 байтов

Францискогимено
Ср. 8 ноября 2017 г. 12:49
Привет после установки всего, когда я скомпилировал программу
Я понимаю это. И когда я собрал его, используя в качестве пункта назначения в Arduino Nano, ничего не вышло. Кто -нибудь знает, что это такое?

лд.Exe: Предупреждение: изменение начала раздела .текст на 8 байтов
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта
лд.Exe: Предупреждение: изменение начала раздела .текст на 8 байтов
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта
лд.Exe: Предупреждение: изменение начала раздела .текст на 8 байтов
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта
лд.Exe: Предупреждение: изменение начала раздела .текст на 8 байтов
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта
лд.Exe: Предупреждение: изменение начала раздела .текст на 8 байтов
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта



Размер программы: 34.932 байта (использовали 53% 65.Максимум 536 байта) (131 секунды)
Минимальное использование памяти: 6844 байта (56% от максимума 12288 байтов)

Загрузка «PROG» в «нукле-32» с использованием «com11»
STM32 ST-Link CLI V3.0.0.0
Интерфейс командной строки STM32 ST-Link
ST-Link SN: 0676FF323535474B43033459
Процесс загрузки завершился.
Версия прошивки ST-Link: V2J29M18
Подключен через SWD.
Частота SWD = 4000K.
Целевое напряжение = 3.3 В.
Режим соединения: нормальный.
Идентификатор устройства: 0x438
Размер вспышки устройства: 64 кбит
Семейство устройств: STM32F303X4-X6-X8/F328XX/F334XX
Загрузка файла...
Флэш -программирование:
Файл: e: \ prog.Ино.бин
Адрес: 0x08000000
Программирование памяти...
± ± ± ± ± ± ± ± ± ± ± мах 0%
0%ûûûûûûûûûû 27%ûûûûûûûû 5 54%ûûûûûûû 8 ûûûûû 54%ûûûûûûû 8 82%ûûûûû 100 100%
Память запрограммирована на 3 и 463 мс.
Программирование завершено.
MCU сброс.
Запустить приложение для выхода
Заявление началось.


Спасибо и с уважением.

fpistm
Ср. 8 ноября 2017 г. 13:08
Привет,
это только предупреждение. Я исправим все эти.
Это только предупреждает нас о смещении раздела в сценарии линкера, но он исправлен линкером.

Чтобы избежать этого предупреждения, коррекция состоит в том, чтобы добавить выравнивание (x) в затронутую секцию. Ex для: лд.Exe: Предупреждение: изменение начала раздела .текст на 8 байтов Заменять: .text :

Францискогимено
Ср. 8 ноября 2017 г. 13:34
Спасибо за ответ, но какой файл изменился?

Большое спасибо.

Фрэн

fpistm
Ср. 8 ноября 2017 г. 14:04
Файл находится в варианте: LDSICT.лд
https: // github.com/stm32duino/arduino_c ... IPT.Ld#161

Францискогимено
Ср. 8 ноября 2017 г., 17:07
Привет, что я изменил его и сообщение 8, и оно не появляется. Но это продолжает появляться:

лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта
лд.Exe: Предупреждение: изменение начала раздела .BSS на 4 байта

Размер программы: 34.940 байтов (использовали 53% 65.Максимум 536 байта) (73,10 секунды)
Минимальное использование памяти: 6844 байта (56% от максимума 12288 байтов)

: шок:

fpistm
Ср. 8 ноября 2017 г., 17:41
Вы исправили только .текстовый раздел. Но вы должны сделать это также для .BSS. с выравниванием (4). ;)

Францискогимено
Ср. 8 ноября 2017 г., 17:48
Но это в том же файле?

Францискогимено
Ср. 8 ноября 2017 г., 18:02
Я уже нашел его и изменил, но когда я компилировал
Это дает мне эту ошибку:

Скомпилирование «проги» для «нукле-32»
лд.exe: адрес 0x100011e4 ....прогик.Ино.эльфийский раздел .BSS не находится в пределах региона Ram
лд.Exe: ...прогик.Ино.эльфийский раздел ._user_heap_stack не будет вписаться в ОЗУ в регионе

Ошибка связывания для платы нукле-32
лд.exe: адрес 0x100011e4 ...прогик.Ино.эльфийский раздел .BSS не находится в пределах региона Ram

Сборка не удалась для проекта 'prog'
лд.Exe: региона ОЗУ переполнена на -268441624 байт

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

Я оставил это так, как это было.

Францискогимено
Ср. 8 ноября 2017 г., 18:09
В этом разделе он отличается от текста



/ * Неинициализованный раздел данных */
. = Выровнять (4);
.BSS: <------------------------------------------------------------------------------Я изменил это на: .BSS выравнивается (4):
{
/* Это используется стартапом, чтобы инициализировать .BSS Secion */
_SBSS = .; / * Определите глобальный символ в BSS Start */
__BSS_START__ = _SBSS;
*(.BSS)
*(.BSS*)
*(ОБЩИЙ)

. = Выровнять (4);
_ebss = .; / * Определите глобальный символ в BSS End */
__bss_end__ = _ebss;
} >БАРАН


/ * Раздел user_heap_stack, используемый для проверки того, что осталось достаточно оперативной памяти */
._user_heap_stack:
{
. = Выровнять (8);
Предоставить (конец = . );
Предоставьте (_end = . );
. = . + _MIN_HEAP_SIZE;
. = . + _Min_stack_size;
. = Выровнять (8);
} >БАРАН



/ * Удалить информацию из стандартных библиотек */
/ОТКАЗАТЬСЯ/ :
{
либ.A ( *)
либем.A ( *)
Libgcc.A ( *)
}

.РУКА.атрибуты 0: { *(.РУКА.атрибуты)}
}

fpistm
Ср. 8 ноября 2017 г., 19:23
Какую доску вы использовали?
Какой набросок?

Францискогимено
Ср. 8 ноября 2017 г. 22:02
Что ж, доска является STM32F303, и программа, составленная в микро компиляциях Arduino без проблем.

fpistm
Чт, 09 ноября 2017 г. 8:29
Хорошо. Эта тема была решена. Пожалуйста, отметьте это как [решенное]
Новая проблема здесь:http: // stm32duino.com/viewtopic.PHP?F = 29&T = 2819

Францискогимено
Чт, 09 ноября 2017 г. 8:40 утра
Привет еще раз, после того, как снова скомпилировался, не изменив ничего другого
кажется, что 4-битное сообщение больше не появляется.

Какие странные вещи.

: шок: : шок: : шок:

Большое спасибо за все

fpistm
Чт, 09 ноября 2017 г. 10:15 утра
К вашему сведению, я сделал пиар, чтобы исправить все предупреждение:
https: // github.com/stm32duino/arduino_c ... 2/upl/149

Я запущу полную сборку этой ночью, чтобы увидеть, исправлены ли все. В моем нынешнем построении у меня нет .Проблема выравнивания BSS.