|
Сборка среды программирования под Cortex A9-A7, Одно условие- под Windows 32 bit (XP, Win7) |
|
|
|
Jan 26 2018, 08:00
|
Гуру
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143
|
Приветствую.
Собственно вопрос - может у кого есть методика сборки под указанные ОС системы, включающей в себя компилятор, ИДЕ, еще что там будет нужно, чтоб сделать собственный загрузчик для камней на базе ядра кортекс А7 или А9?
Вопросов по программированию нет, все это я уже давно делал в ИАРе, но клиент просит, чтоб было сделано на свободно распространяемом софте.
Большая просьба не отсылать к гуглу и пр, кто в теме, тот знает сколько недель нужно танцевать с бубном, чтоб все это настроить для нормальной работы.
Настройка отладки(GDB и пр.) не нужна от слова вообще.
Буду очень признателен за все советы и ссылки откуда чего скачать...
|
|
|
|
|
|
Ответов
|
Jan 26 2018, 12:40
|
Гуру
Группа: Свой
Сообщений: 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)
|
|
|
|
|
Jan 26 2018, 15:08
|
Гуру
Группа: Участник
Сообщений: 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)
Дык, изучать все-равно придется, без этого в данном вопросе вообще никак. Просто если уже есть готовые решения, почему б ими не воспользоваться?
|
|
|
|
Сообщений в этой теме
mantech Сборка среды программирования под Cortex A9-A7 Jan 26 2018, 08:00 scifi Linaro? Jan 26 2018, 08:13 Aner так скажи что за камень, может найдется народ, дад... Jan 26 2018, 10:17 mantech Цитата(Aner @ Jan 26 2018, 13:17) так ска... Jan 26 2018, 11:40 aaarrr Не надо IDE. Достаточно упомянутой Linaro + make, ... Jan 26 2018, 11:41 mantech Цитата(aaarrr @ Jan 26 2018, 14:41) Не на... Jan 26 2018, 11:47 aaarrr Цитата(mantech @ Jan 26 2018, 14:47) Это ... Jan 26 2018, 11:56 scifi Цитата(aaarrr @ Jan 26 2018, 14:53) Совер... Jan 26 2018, 11:58 mantech Цитата(aaarrr @ Jan 26 2018, 14:56) Совер... Jan 26 2018, 11:59 aaarrr Цитата(mantech @ Jan 26 2018, 14:59) Я эт... Jan 26 2018, 12:07 mantech Цитата(aaarrr @ Jan 26 2018, 15:07) Есть ... Jan 26 2018, 12:15 aaarrr Цитата(mantech @ Jan 26 2018, 15:15) Это ... Jan 26 2018, 12:25 mantech Цитата(aaarrr @ Jan 26 2018, 15:25) По-мо... Jan 26 2018, 12:33 amiller Вы используете IAR.
А если покопать в сторону того... Jan 26 2018, 17:13 scifi Цитата(amiller @ Jan 26 2018, 20:13) Вы и... Jan 26 2018, 17:37 VladislavS Что такое make-file любой программист либо должен ... Jan 26 2018, 17:54 mantech Цитата(VladislavS @ Jan 26 2018, 20:54) Ч... Jan 26 2018, 18:54 scifi Цитата(mantech @ Jan 26 2018, 21:54) Вот ... Jan 26 2018, 19:48 mantech Цитата(scifi @ Jan 26 2018, 22:48) В то ж... Apr 27 2018, 13:39
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|