реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Сборка среды программирования под Cortex A9-A7, Одно условие- под Windows 32 bit (XP, Win7)
mantech
сообщение Jan 26 2018, 08:00
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Приветствую.

Собственно вопрос - может у кого есть методика сборки под указанные ОС системы, включающей в себя компилятор, ИДЕ, еще что там будет нужно, чтоб сделать собственный загрузчик для камней на базе ядра кортекс А7 или А9?

Вопросов по программированию нет, все это я уже давно делал в ИАРе, но клиент просит, чтоб было сделано на свободно распространяемом софте.

Большая просьба не отсылать к гуглу и пр, кто в теме, тот знает сколько недель нужно танцевать с бубном, чтоб все это настроить для нормальной работы.

Настройка отладки(GDB и пр.) не нужна от слова вообще.

Буду очень признателен за все советы и ссылки откуда чего скачать...
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 26 2018, 08:13
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Linaro?
Go to the top of the page
 
+Quote Post
Aner
сообщение Jan 26 2018, 10:17
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 4 869
Регистрация: 28-02-08
Из: СПБ
Пользователь №: 35 463



так скажи что за камень, может найдется народ, дадут исходники загрузчика под винду.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 26 2018, 11:40
Сообщение #4


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(Aner @ Jan 26 2018, 13:17) *
так скажи что за камень, может найдется народ, дадут исходники загрузчика под винду.


Мне не надо исходники, они у меня есть, просто проект под ИАР, но заказчик у себя не будет ставить софт стоимостью 200килорублей, чтоб вносить правки в 2-3 программы, вот и хочу перевести все свое хозяйство под бесплатный софт, но для этого его нужно установить себе на комп и правильно собрать все элементы(ИДЕ, компилятор, мейкфайлы...) Я этим никогда ранее не озадачивался.

Проц IMX6S, но в данном случае это не важно, важнее ядро А9, на перспективу А7.

Цитата(scifi @ Jan 26 2018, 11:13) *


Я так понимаю, что надо скачать это - https://releases.linaro.org/components/tool...atest/arm-eabi/

Но там только компилятор, потом, так полагаю, нужно скачать эклипс, в принципе скачан уже.

Потом самое интересное - подружить их вместе. Вот тут я полный ноль crying.gif
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 26 2018, 11:41
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Не надо IDE. Достаточно упомянутой Linaro + make, если он не идет в комплекте.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 26 2018, 11:47
Сообщение #6


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(aaarrr @ Jan 26 2018, 14:41) *
Не надо IDE. Достаточно упомянутой Linaro + make, если он не идет в комплекте.


Это когда просто скомпилить уже готовое и портированное, то согласен, а сам процесс портирования все-таки не такой уж тривиальный, поэтому ИДЕ все же желательна

ЗЫ. Ну и все-таки наверно предполагаете, что под такой проц в проекте не один файл main.c... Там около сотни файлов, это ж все нужно собрать в новый проект и уж потом компилить...

Сообщение отредактировал mantech - Jan 26 2018, 11:50
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 26 2018, 11:56
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(mantech @ Jan 26 2018, 14:47) *
Это когда просто скомпилить уже готовое и портированное, то согласен, а сам процесс портирования все-таки не такой уж тривиальный, поэтому ИДЕ все же желательна

Совершенно тривиален - поверьте, делал неоднократно. IDE только помешает.
Всего-то нужно внести минимум правок, написать новый скрипт для линкера и добавить Makefile.
И клиенту передадите аккуратный проект, не требующий документации по установке и сборке.

Цитата(mantech @ Jan 26 2018, 14:47) *
Там около сотни файлов, это ж все нужно собрать в новый проект и уж потом компилить...

Освойте make, и обнаружите, что "собрать проект" - это совсем даже не проблема.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 26 2018, 11:58
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(aaarrr @ Jan 26 2018, 14:53) *
Совершенно тривиален - поверьте, делал неоднократно. IDE только помешает.

+1. Для минимальных правок IDE не нужно. А для сборки нужен только make.
Для просмотра и правки дерева исходников есть соответствующие текстовые редакторы. Сам использую Source Insight.

Цитата(aaarrr @ Jan 26 2018, 14:56) *
Освойте make, и обнаружите, что "собрать проект" - это совсем даже не проблема.

Птичий язык мейкфайлов поначалу пугает, но примеров есть множество, и документация исчерпывающая.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 26 2018, 11:59
Сообщение #9


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(aaarrr @ Jan 26 2018, 14:56) *
Совершенно тривиален - поверьте, делал неоднократно. IDE только помешает.
Всего-то нужно внести минимум правок, написать новый скрипт для линкера и добавить Makefile.
И клиенту передадите аккуратный проект, не требующий документации по установке и сборке.


Освойте make, и обнаружите, что "собрать проект" - это совсем даже не проблема.


Я это понимаю, но в данном вопросе полный ноль, глянул в эти мейкфайлы - все-равно, что птичий язык изучать...
Неужели нет способа проще и понятнее??
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 26 2018, 12:07
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(mantech @ Jan 26 2018, 14:59) *
Я это понимаю, но в данном вопросе полный ноль, глянул в эти мейкфайлы - все-равно, что птичий язык изучать...

Есть такое. Но на начальном этапе во все тонкости можно не вдаваться, да и гугл выручит.

Цитата(mantech @ Jan 26 2018, 14:59) *
Неужели нет способа проще и понятнее??

Ну, можно и из bat-файла все собрать, наверное. Но вряд ли это сильно проще.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 26 2018, 12:15
Сообщение #11


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(aaarrr @ Jan 26 2018, 15:07) *
Есть такое. Но на начальном этапе во все тонкости можно не вдаваться, да и гугл выручит.


Ну, можно и из bat-файла все собрать, наверное. Но вряд ли это сильно проще.


Это понятно, но все-таки ИДЕ как-то должна помогать в этом, например автогенератор мейкфайлов?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 26 2018, 12:25
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(mantech @ Jan 26 2018, 15:15) *
Это понятно, но все-таки ИДЕ как-то должна помогать в этом, например автогенератор мейкфайлов?

По-моему, трудозатраты на борьбу с IDE сведут плюсы от возможной помощи с её стороны на нет.
Тем более, что ценность приобритенного опыта будет равна нулю.

Если бы стояла задача вести разработку - тогда, возможно, и стоило бы смотреть в этом направлении,
но Вам ведь уже отлаженный проект просто собрать надо.
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 26 2018, 12:33
Сообщение #13


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(aaarrr @ Jan 26 2018, 15:25) *
По-моему, трудозатраты на борьбу с IDE сведут плюсы от возможной помощи с её стороны на нет.
Тем более, что ценность приобритенного опыта будет равна нулю.

Если бы стояла задача вести разработку - тогда, возможно, и стоило бы смотреть в этом направлении,
но Вам ведь уже отлаженный проект просто собрать надо.


Почему? Да, сейчас надо просто перепортировать готовый проект, потом возможно будет еще работа по разработке под ядра, которые текущий ИАР не поддерживает.

Раньше можно было покупать его но за последние 3 года он стал стоить бешено дорого.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jan 26 2018, 12:40
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Если у вас проект собирается яром, наверняка процесс сборки простейший. Следовательно, и мейкфайл тоже будет простейшим. Жалко денёк потратить и научиться? Советую для начала сделать gcc+make="Hello world!". В процессе набьёте все шишки, остальное - тупой перенос с яра, чисто мускульная работа.
Вот для примера типичный мейкфайл у меня, работает под windows.
Хитрость в том, что перед вызовом директория проекта делается текущей директорией, в PATH добавляется путь к gcc. Таким образом в мейкфайле не нужны абсолютные пути к файлам, все пути написаны относительно директории проекта.
CODE
NAME=boot
SHELL=cmd
ARCH=arm-none-eabi
CC=$(ARCH)-gcc
OBJCOPY=$(ARCH)-objcopy
SIZE=$(ARCH)-size
ELF=$(NAME).elf
BIN=$(NAME).bin
SRC=$(wildcard src/*.c net/*.c)
OBJ=$(SRC:.c=.o)
DEP=$(SRC:.c=.d)
INC=-Isrc -I.
CFLAGS=-Os -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -gdwarf-2 -Wall -fno-strict-aliasing -std=gnu11
LDFLAGS=-T stm32f407.ld -Wl,--gc-sections -fwhole-program -static --specs=nano.specs -lc -lm -lnosys

.PHONY: all clean

all: $(BIN)

%.o: %.c
@echo CC $<
@$(CC) $< -c -MMD $(CFLAGS) $(INC) -o $@

$(ELF): $(OBJ)
@echo LINK $@
@$(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@
@echo SIZE $@
@$(SIZE) $@

$(BIN): $(ELF)
@echo BIN $@
@$(OBJCOPY) -O binary $^ $@

clean:
@echo CLEAN
@del /q $(subst /,\,$(ELF) $(BIN) $(OBJ) $(DEP)) 2>nul

-include $(DEP)
Go to the top of the page
 
+Quote Post
mantech
сообщение Jan 26 2018, 15:08
Сообщение #15


Гуру
******

Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143



Цитата(scifi @ Jan 26 2018, 15:40) *
Если у вас проект собирается яром, наверняка процесс сборки простейший. Следовательно, и мейкфайл тоже будет простейшим. Жалко денёк потратить и научиться? Советую для начала сделать gcc+make="Hello world!". В процессе набьёте все шишки, остальное - тупой перенос с яра, чисто мускульная работа.
Вот для примера типичный мейкфайл у меня, работает под windows.
Хитрость в том, что перед вызовом директория проекта делается текущей директорией, в PATH добавляется путь к gcc. Таким образом в мейкфайле не нужны абсолютные пути к файлам, все пути написаны относительно директории проекта.
CODE
NAME=boot
SHELL=cmd
ARCH=arm-none-eabi
CC=$(ARCH)-gcc
OBJCOPY=$(ARCH)-objcopy
SIZE=$(ARCH)-size
ELF=$(NAME).elf
BIN=$(NAME).bin
SRC=$(wildcard src/*.c net/*.c)
OBJ=$(SRC:.c=.o)
DEP=$(SRC:.c=.d)
INC=-Isrc -I.
CFLAGS=-Os -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 -gdwarf-2 -Wall -fno-strict-aliasing -std=gnu11
LDFLAGS=-T stm32f407.ld -Wl,--gc-sections -fwhole-program -static --specs=nano.specs -lc -lm -lnosys

.PHONY: all clean

all: $(BIN)

%.o: %.c
@echo CC $<
@$(CC) $< -c -MMD $(CFLAGS) $(INC) -o $@

$(ELF): $(OBJ)
@echo LINK $@
@$(CC) $^ $(CFLAGS) $(LDFLAGS) -o $@
@echo SIZE $@
@$(SIZE) $@

$(BIN): $(ELF)
@echo BIN $@
@$(OBJCOPY) -O binary $^ $@

clean:
@echo CLEAN
@del /q $(subst /,\,$(ELF) $(BIN) $(OBJ) $(DEP)) 2>nul

-include $(DEP)



Дык, изучать все-равно придется, без этого в данном вопросе вообще никак. Просто если уже есть готовые решения, почему б ими не воспользоваться?
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th April 2024 - 22:56
Рейтинг@Mail.ru


Страница сгенерированна за 0.01499 секунд с 7
ELECTRONIX ©2004-2016