Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2019-окт-19 03:23

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: 2019-май-11 11:43 
Не в сети

Зарегистрирован: 2019-май-01 09:13
Сообщения: 3
Уважаемые, программисты и разработчики!
Здравствуйте! Хочу создать простой инструмент для сборки прошивок для К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, так что должно работать.
Очень прошу Вашей помощи, т.к. проблема специфическая и сам я ее вряд ли решу.
Заранее благодарен!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-май-11 12:21 
Не в сети
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-май-11 13:27 
Не в сети

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


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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-май-12 11:58 
Не в сети

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-май-12 12:40 
Не в сети

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2019-май-30 16:38 
Не в сети

Зарегистрирован: 2016-ноя-24 15:30
Сообщения: 1
Дмитрий111, а как вы прошиваете контроллер?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB