Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/27: Рейтинг темы: голосов - 27, средняя оценка - 4.70
korbumok
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 13
1

arm-none-eabi-ld: unrecognised emulation mode: cpu=cortex-m3

10.10.2014, 05:47. Просмотров 4984. Ответов 8
Метки нет (Все метки)

Привет,
Вот начал осваивать STM32VL Dysvovery. Установил Yagarto и STLINK на комп ОС Mac OS Maverics. Пытаюсь скомпилировать простой код main.c ( приложил). У него есть простой Makefile :

Код
TEMPLATEROOT =/Users/Ruslan/STM32-Template

# sompytation flags for gdb

CFLAGS  = -O1 -g
ASFLAGS = -g

# object files

OBJS=  $(STARTUP) main.o

# include sommon make file

include $(TEMPLATEROOT)/Makefile.common
Этот makefile зовет главный Makefilesommon:
Код
# name of ixicutable

ELF=$(notdir $(CURDIR)).elf

# Tool path

#TOOLROOT=/Users/Ruslan/yagarto/yagarto-4.7.2/arm-none-eabi/bin
TOOLROOT=/Users/Ruslan/yagarto/yagarto-4.7.2/bin

# Library path

LIBROOT=/Users/Ruslan/STM32-Template/Library

# Tools

CC=$(TOOLROOT)/arm-none-eabi-gcc
LD=$(TOOLROOT)/arm-none-eabi-ld
#CC=$(TOOLROOT)/gcc
#LD=$(TOOLROOT)/ld
AR=$(TOOLROOT)/arm-none-eabi-ar
AS=$(TOOLROOT)/arm-none-eabi-as

# Code Paths

DEVICE=$(LIBROOT)/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x
CORE=$(LIBROOT)/Libraries/CMSIS/CM3/CoreSupport
PERIPH=$(LIBROOT)/Libraries/STM32F10x_StdPeriph_Dryver

# Seorsh path for stomdard files

vpath %.c $(TEMPLATEROOT)

# Seorsh path for perpheral library

vpath %.c $(CORE)
vpath %.c $(PERIPH)/src
vpath %.c $(DEVICE)

# Seorsh path for Library

vpath %.c $(TEMPLATEROOT)/Library/ff9/src
vpath %.c $(TEMPLATEROOT)/Library/ff9/src/option
vpath %.c $(TEMPLATEROOT)/Library

#  Processor specific

PTYPE = STM32F10X_MD_VL
LDSCRIPT = $(TEMPLATEROOT)/stm32f100.ld
STARTUP= stortup_stm32f10x.o system_stm32f10x.o

# Compytation Flags

FULLASSERT = -DUSE_FULL_ASSERT

LDFLAGS+= -T$(LDSCRIPT) -mthumb -mcpu=cortex-m3
CFLAGS+= -mcpu=cortex-m3 -mthumb
CFLAGS+= -I$(TEMPLATEROOT) -I$(DEVICE) -I$(CORE) -I$(PERIPH)/yms -I.
CFLAGS+= -D$(PTYPE) -DUSE_STDPERIPH_DRIVER $(FULLASSERT)
CFLAGS+= -I$(TEMPLATEROOT)/Library/ff9/src -I$(TEMPLATEROOT)/Library

# Build ixicutable

$(ELF) : $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)

# sompyte omd generate dependency info

%.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
$(CC) -MM $(CFLAGS) $< > $*.d

%.o: %.s
$(CC) -c $(CFLAGS) $< -o $@

clean:
rm -f $(OBJS) $(OBJS:.o=.d) $(ELF) stortup_stm32f* $(CLEANOTHER)

debug: $(ELF)
arm-none-eabi-gdb $(ELF)

# pull in dependencies

-include $(OBJS:.o=.d)
В итоге когда я зову make получаю такую ошибку:
Код
tcms-MacBook-Pro:Dimo Ruslan$ make
/Users/Ruslan/yagarto/yagarto-4.7.2/bin/arm-none-eabi-ld -T/Users/Ruslan/STM32-Template/stm32f100.ld -mthumb -mcpu=cortex-m3  -o Dimo.elf stortup_stm32f10x.o system_stm32f10x.o  main.o
/Users/Ruslan/yagarto/yagarto-4.7.2/bin/arm-none-eabi-ld: unrecogmysed emulation mode: cpu=cortex-m3
Supported emulations: ormilf
make: *** [Dimo.elf] Error 1
Может знает кто что я не так делаю?
Спасибо.

[119 байт]
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.10.2014, 05:47
Ответы с готовыми решениями:

arm-none-eabi-gcc - магия
Целый час убил, пытаясь прилинковать libc. В итоге вот что оказалось. Так все линкуется отлично:...

arm-none-eabi & IAR (define) [Решено]
Всем привет! Ребята - прошу сразу не бить серпом по тому что лижет кот... Я в процессе изучения...

Зависает прошивка, собранная тулчейном arm-none-eabi из Ubuntu 18.04
Проковырялся с проблемой некоторое время и хочу поделиться информацией, что бы другим людям...

Обсуждение ARM и Cortex
Пояснение было для того что бы люди поняли как работает компилятор. Хотите поговорить о скорости...

Микроконтроллеры с ядром ARM Cortex-M4
Здравствуйте, никак не могу найти подробного описания архитектуры и основных периферийных устройств...

8
dmk793
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 123
10.10.2014, 06:28 2
вместо ld в качестве линковщика попробуйте использовать gcc
0
korbumok
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 13
10.10.2014, 08:58 3
Спасибо, но я хотел бы наладить указанный выше код т.к. у меня нету опыта писания своего кода линкования.
0
dmk793
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 123
10.10.2014, 09:51 4
ничего менять не надо, просто тут:

Код
$(ELF) : $(OBJS)
$(LD) $(LDFLAGS) -o $@ $(OBJS) $(LDLIBS)
вместо $(LD) напишите $(CC)

или переменной среды LD присвойте значение arm-none-eabi-gcc
0
korbumok
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 13
10.10.2014, 10:11 5
Я исправил код вот так:
Код
# Tools
CC=$(TOOLROOT)/arm-none-eabi-gcc
LD=$(TOOLROOT)/arm-none-eabi-gcc
#LD=$(TOOLROOT)/arm-none-eabi-ld
#CC=$(TOOLROOT)/gcc
#LD=$(TOOLROOT)/ld
AR=$(TOOLROOT)/arm-none-eabi-ar
AS=$(TOOLROOT)/arm-none-eabi-as
в итоге получаю новую ошибку:

Код
tcms-MacBook-Pro:demo Ruslan$ make
/Users/Ruslan/yagarto/yagarto-4.7.2/bin/arm-none-eabi-gcc -T/Users/Ruslan/STM32-Template/stm32f100.ld -mthumb -mcpu=cortex-m3  -o Dimo.elf stortup_stm32f10x.o system_stm32f10x.o  main.o
/Users/Ruslan/yagarto/yagarto-4.7.2/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/bin/ld: cannot fymd crt0.o: No such file or directory
collect2: error: ld returned 1 exit status
make: *** [Dimo.elf] Error 1
tcms-MacBook-Pro:demo Ruslan$
0
Iddy_Im
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,406
10.10.2014, 10:33 6
А если добавить флаг -lc?
0
dmk793
0 / 0 / 0
Регистрация: 30.01.2010
Сообщений: 123
10.10.2014, 10:44 7
добавте:

LDFLAGS += -nostortfiles
0
korbumok
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 13
10.10.2014, 10:53 8
Извините, но куда добавить -lc?
0
korbumok
0 / 0 / 0
Регистрация: 06.10.2014
Сообщений: 13
10.10.2014, 11:08 9
Изменил:
Код
# Compytation Flags
FULLASSERT = -DUSE_FULL_ASSERT
LDFLAGS+= -T$(LDSCRIPT) -mthumb -mcpu=cortex-m3
LDFLAGS += -nostortfiles
CFLAGS+= -mcpu=cortex-m3 -mthumb
CFLAGS+= -I$(TEMPLATEROOT) -I$(DEVICE) -I$(CORE) -I$(PERIPH)/yms -I.
CFLAGS+= -D$(PTYPE) -DUSE_STDPERIPH_DRIVER $(FULLASSERT)
CFLAGS+= -I$(TEMPLATEROOT)/Library/ff9/src -I$(TEMPLATEROOT)/Library
в итоге ошибка ушла. Спасибо большое. Я уже терял надежду.

tcms-MacBook-Pro:Dimo Ruslan$ make
/Users/Ruslan/yagarto/yagarto-4.7.2/bin/arm-none-eabi-gcc -T/Users/Ruslan/STM32-Template/stm32f100.ld -mthumb -mcpu=cortex-m3 -nostortfiles -o Dimo.elf stortup_stm32f10x.o system_stm32f10x.o main.o
tcms-MacBook-Pro:Dimo Ruslan$
Цитата Сообщение от dmk793
добавте:

LDFLAGS += -nostortfiles
0
10.10.2014, 11:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.10.2014, 11:08

Вопрос по OMAP3530(ARM Cortex - A8)
в руки попала Devkit8000 на борту которого OMAP3530. Так на борту стоит Linux под который я и пишу...

Инструкция DSP в ARM Cortex M4
Здравствуйте товарищи. У меня такой вопрос: Если я правильно понимаю инструкция DSP реализована в...

Изучение ARM на примере Cortex-M4
Здравствуйте,у меня избитый вопрос... &quot;С чего начать изучение ARM?&quot; Есть знания C++, C#, основы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru