Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: компиляция в Linux для MDR1986VE1T
СообщениеДобавлено: 2016-фев-11 13:45 
Не в сети

Зарегистрирован: 2016-фев-11 13:13
Сообщения: 3
Здравствуйте. Приобрели плату LDM-HELPER-K1986BE1QI-FULL. По данной ссылке https://github.com/eldarkg/emdr1986x-std-per-lib скачал компилятор и библиотеку. Скидал makefile такой для Joystick_LEDs (из примеров)
CC=arm-none-eabi-gcc

AS=arm-none-eabi-as

CFLAGS = -mcpu=cortex-m1 -mthumb -O2 -ffunction-sections -fdata-sections -Wall -Wextra -Wshadow -Wredundant-decls -Wno-missing-field-initializers -pipe

ASFLAGS = -g -mthumb -mcpu=cortex-m1

LDFLAGS =

SOURCES = \
main.c \
startup_MDR1986VE1T.S \
system_MDR1986VE1T.c \
MDR32F9Qx_port.c \
MDR32F9Qx_rst_clk.c

ASOURCES = \
startup_MDR1986VE1T.S

INC = \
-I/home/vidok/milandr/std-per-lib/Config \
-I/home/vidok/milandr/std-per-lib/CMSIS/CM1/CoreSupport \
-I/home/vidok/milandr/std-per-lib/MDR32F9Qx_StdPeriph_Driver/inc \
-I/home/vidok/milandr/std-per-lib/CMSIS/CM1/CoreSupport \
-I/home/vidok/milandr/std-per-lib/CMSIS/CM1/DeviceSupport/MDR1986VE1T/inc \
-I/home/vidok/milandr/std-per-lib/CMSIS/CM1/DeviceSupport/MDR1986VE1T/startup

OBJECTS = $(SOURCES:.c=.o)

EXECUTABLE = hello

all: system_MDR1986VE1T.o

system_MDR1986VE1T.o: system_MDR1986VE1T.c
$(CC) $(CFLAGS) -DUSE_MDR1986VE1T -D__STARTUP_CLEAR_BSS -D__START=main ${INC} system_MDR1986VE1T.c -o system_MDR1986VE1T.o

Упростил все лишь бы получить объектный файл хотя бы для данного файла (из рекомендаций https://github.com/eldarkg/emdr1986x-std-per-lib) . В результате получаю
/milandr/Joystick_LEDs$ make
arm-none-eabi-gcc -mcpu=cortex-m1 -mthumb -O2 -ffunction-sections -fdata-sections -Wall -Wextra -Wshadow -Wredundant-decls -Wno-missing-field-initializers -pipe -DUSE_MDR1986VE1T -D__STARTUP_CLEAR_BSS -D__START=main -I/home/vidok/milandr/std-per-lib/Config -I/home/vidok/milandr/std-per-lib/CMSIS/CM1/CoreSupport -I/home/vidok/milandr/std-per-lib/MDR32F9Qx_StdPeriph_Driver/inc -I/home/vidok/milandr/std-per-lib/CMSIS/CM1/CoreSupport -I/home/vidok/milandr/std-per-lib/CMSIS/CM1/DeviceSupport/MDR1986VE1T/inc -I/home/vidok/milandr/std-per-lib/CMSIS/CM1/DeviceSupport/MDR1986VE1T/startup system_MDR1986VE1T.c -o system_MDR1986VE1T.o
/usr/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/armv6-m/libc.a(lib_a-exit.o): In function `exit':
exit.c:(.text.exit+0x18): undefined reference to `_exit'
/usr/bin/../lib/gcc/arm-none-eabi/5.2.1/../../../../arm-none-eabi/lib/armv6-m/crt0.o: In function `_start':
(.text+0x4e): undefined reference to `main'
collect2: error: ld returned 1 exit status
makefile:46: recipe for target 'system_MDR1986VE1T.o' failed
make: *** [system_MDR1986VE1T.o] Error 1

При компиляции startup_MDR1986VE1T.S ассемблером получается объектник. И все - дальше ступор. А в данном проекте, если правильно понял тут https://github.com/eldarkg/emdr1986x-std-per-lib их должно быть 5. Опыта в сборке для АРМ практически не имею.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: компиляция в Linux для MDR1986VE1T
СообщениеДобавлено: 2016-фев-13 10:57 
Не в сети

Зарегистрирован: 2016-фев-11 13:13
Сообщения: 3
Получилось скомпиировать. Теперь задача №2 - как прошивку зашить в процессор. Работаю из-под Линукса. Если кто-то имел подобную задачку и решил, напишите пожалуйста, буду очень признателен. Ну и рою форум дальше...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: компиляция в Linux для MDR1986VE1T
СообщениеДобавлено: 2016-фев-15 08:05 
Не в сети

Зарегистрирован: 2015-фев-06 11:48
Сообщения: 53
Как под виндой, так и под линуксом собираю проекты в eclipse. Прошивку и отладку делаю с помощью openocd и j-link. единственное пришлось "покорявить" сам openocd, чтобы мог с первого раза прошивать 1986ВЕ1Т, работающий на частоте больше 80 МГц, отладку пока не сделал. На частотах не более 80-90, всё замечательно и прошивка и отладка.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: компиляция в Linux для MDR1986VE1T
СообщениеДобавлено: 2016-фев-28 20:16 
Не в сети

Зарегистрирован: 2016-фев-11 13:13
Сообщения: 3
Спасибо. Не имею в наличии J-Link поэтому вынужден через UART работать. Сборку освоил в Eclipse (потом выложу все вместе), а вот с прошивкой пока не совсем разобрался, хотя, думаю, остались нюансы. Но готового не нашел под Линукс... Переписываю viewtopic.php?f=17&t=1739#p8277 и разбираюсь по докам https://ldm-systems.ru/f/doc/catalog/LD ... 6BE1QI.pdf


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: компиляция в Linux для MDR1986VE1T
СообщениеДобавлено: 2016-фев-29 14:30 
Не в сети

Зарегистрирован: 2015-фев-06 11:48
Сообщения: 53
J-link появился не давно, до этого прошивал и отлаживал с помощью самодельного versaloon. Вроде как упоминалась информация, что можно с помощью St-link. А так да, можно переписать загрузчик и для линукса.


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

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


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

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


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

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