Перейти к содержанию
    

Arm-none-eabi-g++ компилятор

Здравствуйте!

Подскажите, пожалуйста, мне необходимо скомпилировать и запустить простейший код на C++ под ARM.

Пытаюсь сделать:

 

$ arm-none-eabi-g++ -mthumb -mcpu=cortex-m3 -static --specs=nosys.specs test.cpp

 

На выходе получаю файл:

 

$ file a.out

a.out: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, not stripped

 

При запуске:

 

$ qemu-arm -cpu cortex-m3 a.out

qemu: uncaught target signal 11 (Segmentation fault) - core dumped

Ошибка сегментирования (core dumped)

 

В чем моя ошибка? Запуск производится на Fedora

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот тут, например, некто запустил простейшую программу для ARM на qemu.

Я так понял, qemu принимает двоичный образ кода, который следует исполнять. Так что там надо потрудиться, чтобы сформировать этот образ в правильном виде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю поможет-ли, но нашел проект из 2012. Не Cortex-M3, очевидно, но такой способ позволял запустить сырые бинарники без ОС.

all:
    arm-none-eabi-as -mcpu=arm926ej-s -g startup.s -o startup.o
    arm-none-eabi-gcc -c -mcpu=arm926ej-s -g test.c -o test.o
    arm-none-eabi-ld -T test.ld test.o startup.o -o test.elf
    arm-none-eabi-objcopy -O binary test.elf test.bin

run:
    @qemu-system-arm -M versatilepb -m 32M -nographic -semihosting -kernel test.bin

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...