sawimuzo 0 27 февраля, 2017 Опубликовано 27 февраля, 2017 · Жалоба Здравствуйте! Подскажите, пожалуйста, мне необходимо скомпилировать и запустить простейший код на 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 27 февраля, 2017 Опубликовано 27 февраля, 2017 · Жалоба Вот тут, например, некто запустил простейшую программу для ARM на qemu. Я так понял, qemu принимает двоичный образ кода, который следует исполнять. Так что там надо потрудиться, чтобы сформировать этот образ в правильном виде. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ataradov 0 27 февраля, 2017 Опубликовано 27 февраля, 2017 · Жалоба Не знаю поможет-ли, но нашел проект из 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться