uncaught target signal 11 в qemu для arm при сборке с помощью arm-none-eabi-g++

290
01 марта 2017, 21:59

Мне необходимо скомпилировать и запустить простейший код на 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. Код:

#include <iostream>
int main()
{
    std::cout << "Hello World!" << std::endl;
    return 0;
} 
Answer 1

Решение:

 $ arm-none-eabi-g++ -mthumb -mcpu=cortex-m3 --specs=rdimon.specs -Wl,--start-group -lgcc -lc -lm -lrdimon -Wl,--end-group -o test test.cpp

Запуск:

 $ qemu-arm -cpu cortex-m3 ./test

Вывод:

Hello World!
READ ALSO
Повторное удаление указателя

Повторное удаление указателя

При вызове конструктора копий указатели ссылаются на один и тот же указательИ при вызове деструктора повторное удаление указателя

249
Тривиальное хеширование [требует правки]

Тривиальное хеширование [требует правки]

Доброго времени суток! Можете привести пример тривиального хеширования? В интернете не смогла найти никакой понятной информации

570
Как изменить разрешение картинки RGB в буфере?

Как изменить разрешение картинки RGB в буфере?

Скриншот экрана хранится в буфере в виде байт RGBНужно независимо от его исходных размеров привести его к разрешению 1280х720

312
Спецификатор final для функции

Спецификатор final для функции

При добавлении спецификатора final мы запрещаем переопределять метод в базовом классеТогда зачем нам нужен в базовом классе создавать виртуальный...

304