Миландр
http://forum.milandr.ru/

Проблемы со сборкой прошивки для К1986ВЕ92QI c GNU GCC ARM
http://forum.milandr.ru/viewtopic.php?f=17&t=4044
Страница 1 из 1

Автор:  Дмитрий111 [ 2019-май-11 11:43 ]
Заголовок сообщения:  Проблемы со сборкой прошивки для К1986ВЕ92QI c GNU GCC ARM

Уважаемые, программисты и разработчики!
Здравствуйте! Хочу создать простой инструмент для сборки прошивок для К1986ВЕ92QI, с использованием GNU GCC toolchain for ARM. Взял соответственно тулчейн с официального сайта GNU GCC, скрипт линковщика и startup_MDR32F9Qx.S для GCC с официального сайта Миландр. Пытаюсь собрать проект командой:
Код:
«arm-none-eabi-ld -g -nostartfiles -O0 --gc-sections build/main.o build/startup_MDR32F9Qx.o -T MDR32F9Qx.ld -o build/main.elf»
Линковщик выдает ошибки:
Код:
«arm-none-eabi-ld: build/startup_MDR32F9Qx.o: in function `Reset_Handler':
(.text+0x5a): undefined reference to `SystemInit'
arm-none-eabi-ld: (.text+0x5e): undefined reference to `__START'
arm-none-eabi-ld: (.text+0x64): undefined reference to `__copy_table_start__'
arm-none-eabi-ld: (.text+0x68): undefined reference to `__copy_table_end__'
arm-none-eabi-ld: (.text+0x78): undefined reference to `__zero_table_start__'
arm-none-eabi-ld: (.text+0x7c): undefined reference to `__zero_table_end__'
arm-none-eabi-objcopy.exe: 'build/main.elf': No such file»

Я так понимаю, это ссылки созданного объектного файла, которые должны быть найдены в скрипте линковщика. В скрипте линковщика они вроде даже есть, но почему-то не работает. В интернете решение данной проблемы не нашел. Где-то читал, что GAS не понимает конструкций типа ifdef, но без них также не работает. Тем более, что Миландр выложил startup_MDR32F9Qx.S именно для GCC, так что должно работать.
Очень прошу Вашей помощи, т.к. проблема специфическая и сам я ее вряд ли решу.
Заранее благодарен!

Автор:  Shrek [ 2019-май-11 12:21 ]
Заголовок сообщения:  Re: Проблемы со сборкой прошивки для К1986ВЕ92QI c GNU GCC A

Судя по всему ассемблерный файлик startup.s не нашел. Там же нужно указать какой "чип" используется чтобы линковщик автоматом подтянул все необходимое. Это вроде бы в настройках проекта для asm и c в разделе define указывается.
P.S. Для кортексов можно и обойтись без ассемблерного стартапа) Стэк настраивается сразу после сброса.

Автор:  Дмитрий111 [ 2019-май-11 13:27 ]
Заголовок сообщения:  Re: Проблемы со сборкой прошивки для К1986ВЕ92QI c GNU GCC A

Shrek писал(а):
Судя по всему ассемблерный файлик startup.s не нашел. Там же нужно указать какой "чип" используется чтобы линковщик автоматом подтянул все необходимое. Это вроде бы в настройках проекта для asm и c в разделе define указывается.
P.S. Для кортексов можно и обойтись без ассемблерного стартапа) Стэк настраивается сразу после сброса.


Большое спасибо за помощь! Я новичок в данной теме и по скриптам линковщика понятной информации нашел очень мало. Видел, как в проекте для QT использовали стартап файл от STM32, но мне хочется все сделать по правильному. Мало ли где всплывет какая проблема))) Да и самому интересно понять этот загадочный линковщик))) Зачем-то его сделали именно для этого чипа...
Не совсем Вас понял, я собираю не в IDE. Прошу ответить по подробнее. Как передать название чипа линковщику? Куда и что прописать?

П.С. Сомневаюсь, что тулчейн GCC знает про миландровские контроллеры

Автор:  Sergey3141592 [ 2019-май-12 11:58 ]
Заголовок сообщения:  Re: Проблемы со сборкой прошивки для К1986ВЕ92QI c GNU GCC A

Посмотрите в этой теме. Там в приклепленных файлах есть исходный код именно для контроллеров Миландр и правильный Makefile
http://forum.milandr.ru/viewtopic.php?f=17&t=3954

Автор:  Дмитрий111 [ 2019-май-12 12:40 ]
Заголовок сообщения:  Re: Проблемы со сборкой прошивки для К1986ВЕ92QI c GNU GCC A

Спасибо! Нашел пример от Миландр на Гитхабе (https://github.com/eldarkg/emdr1986x-std-per-lib). Наверное надо было его брать, а я пытался что-то соорудить по форумам STM32. Еще у меня компилятор стал виснуть, когда доходит до Сore_cmInstr.h. Не знаю почему. Другие библиотеки нормально собираются. Читал про эту библиотеку, некоторые говорят, что можно без нее жить. Там вроде как "обертики инструкций", "специфические команды ядра Cortex-m". Буду дальше разбираться, но если кто-то что-то подскажет, буду очень признателен.

Автор:  dimon075 [ 2019-май-30 16:38 ]
Заголовок сообщения:  Re: Проблемы со сборкой прошивки для К1986ВЕ92QI c GNU GCC A

Дмитрий111, а как вы прошиваете контроллер?

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/