#cpp #arm #qemu
Мне необходимо скомпилировать и запустить простейший код на 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. Код: #includeint main() { std::cout << "Hello World!" << std::endl; return 0; }
Ответы
Ответ 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!
Комментариев нет:
Отправить комментарий