![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| sunnmas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 17.4.2009 Репутация: нет Всего: нет |
Програмирую под контроллеры arm. Перешел на среду code::blocks. Есть готовый мэйк файл который можно использовать. Как указать среде на него?
Либо как отассемблировать файл, написанный на ассемблере и слинковать со всем остальным (скомпилировать то на g++ получается). Просто у меня код стартапа написан на ассемблере. Вот мой мэйк (на всякий случай): TRGT = arm-elf- CPP = $(TRGT)g++ CC = $(TRGT)gcc LD = $(TRGT)ld AS = $(TRGT)as OC = $(TRGT)objcopy SZ = $(TRGT)size MCU = arm7tdmi PROJECT = mit LDSCRIPT = AT91SAM7S64-ROM.ld source_dirs = source out_dir = out #флаги g++ CPPFLAGS = -c -g -O0 #-fexpensive-optimizations #флаги gcc CCFLAGS = -c -g -MD -O0 #флаги as ASFLAGS = -Wa -amhls=$(out_dir)/$(notdir $(<:.s=.lst)) -ahls -mapcs-32 #флаги ld LDFLAGS = -Wl,-T$(LDSCRIPT),-Map=$(out_dir)/$(PROJECT).map,--cref,-lstdc++,-lsupc++ LDFLAGS2= -mcpu=$(MCU) -nostartfiles -T$(LDSCRIPT) -Wl,--no-warn-mismatch #флаги objcopy OCFLAGS = --output-target=binary search_wildcards := $(addsuffix /*.s,$(source_dirs)) $(addsuffix /*.cpp,$(source_dirs)) $(addsuffix /*.c,$(source_dirs)) VPATH := $(source_dirs) OBJECTS = $(addprefix $(out_dir)/, $(notdir $(patsubst %.c,%.o, $(patsubst %.cpp,%.o, $(patsubst %.s,%.o, $(wildcard $(search_wildcards))))))) all: clean binutilsversions $(PROJECT) $(out_dir)/$(PROJECT).elf size .PHONY: clean clean: rm -f $(addprefix $(out_dir)/, *.d *.o *.lst *.map *.out *.bin) binutilsversions: @echo =================================================================== @$(CPP) --version @echo =================================================================== @$(CC) --version @echo =================================================================== @$(AS) --version @echo =================================================================== @$(LD) --version @echo =================================================================== @echo $(out_dir)/$(PROJECT).elf: $(OBJECTS) $(CPP) $(OBJECTS) $(LDFLAGS2) -o $@ $(PROJECT): $(out_dir)/$(PROJECT).out $(OC) $(OCFLAGS) $< $(out_dir)/$(PROJECT).bin #линковка $(out_dir)/$(PROJECT).out: $(OBJECTS) $(CPP) $(LDFLAGS) $^ -o $@ #$(LD) $(LDFLAGS) $^ -o $@ #компиляция $(addprefix $(out_dir)/,%.o): %.c $(CC) $(CCFLAGS) $< -o $@ $(addprefix $(out_dir)/,%.o): %.cpp $(CPP) $(CPPFLAGS) $< -W -o $@ #асемблирование $(addprefix $(out_dir)/,%.o): %.s $(AS) $(ASFLAGS) $< -o $@ size: $(out_dir)/$(PROJECT).out $(SZ) $< include $(wildcard *.d) |
|||
|
||||
| korbian |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 336 Регистрация: 20.2.2007 Где: Penza Репутация: 2 Всего: 14 |
для задействования существующего make файла, нужно сделать следующие:
-------------------- korbian © |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |