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

компиляция в Linux для MDR1986VE1T
http://forum.milandr.ru/viewtopic.php?f=17&t=3372
Страница 1 из 1

Автор:  vadimjigulin [ 2016-фев-11 13:45 ]
Заголовок сообщения:  компиляция в Linux для MDR1986VE1T

Здравствуйте. Приобрели плату 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. Опыта в сборке для АРМ практически не имею.

Автор:  vadimjigulin [ 2016-фев-13 10:57 ]
Заголовок сообщения:  Re: компиляция в Linux для MDR1986VE1T

Получилось скомпиировать. Теперь задача №2 - как прошивку зашить в процессор. Работаю из-под Линукса. Если кто-то имел подобную задачку и решил, напишите пожалуйста, буду очень признателен. Ну и рою форум дальше...

Автор:  Yurock [ 2016-фев-15 08:05 ]
Заголовок сообщения:  Re: компиляция в Linux для MDR1986VE1T

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

Автор:  vadimjigulin [ 2016-фев-28 20:16 ]
Заголовок сообщения:  Re: компиляция в Linux для MDR1986VE1T

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

Автор:  Yurock [ 2016-фев-29 14:30 ]
Заголовок сообщения:  Re: компиляция в Linux для MDR1986VE1T

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

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