Ошибка сегментации при попытке запустить двоичный файл aws-iot-cpp ‘pub-sub-sample’ на моей плате

Я пытался запустить SDK на плате более недели. Я кросс-скомпилировал AWS IoT C ++ SDK и попытался запустить двоичный файл pub-sub-sample на моем устройстве. Все, что я получаю, это ошибка сегментации

  • Я следовал за DevGuide.md, который шел вместе с SDK. Изменен файл ToolchainFile.cmake и выполнен в соответствии с инструкциями. Пожалуйста, найдите ниже параметров платы ниже

  • Модель платы: Freescale i.MX6 ULL 14×14 Доска EVK

  • Процессор платы: Процессор ARMv7 версии 5 (ARMv7), cr = 10c53c7d

  • Дистрибутив ОС для ОС: Debian Jessie

  • Параметры платы uname-a: Linux MYS-IMX6UL 4.1.15+ # 1 SMP ПРЕДИСЛОВИЕ Пт 28 сентября 05:44:29 PDT 2018 armv7l GNU / Linux

  • Кросс-компилятор, используемый в родной системе: arm-linux-gnueabihf-g ++

  • AWS Embedded C SDK работал нормально, без каких-либо сбоев. Но кросс-скомпилированный исполняемый файл pub-sub-sample из C ++ SDK при запуске не дает никакого другого выхода, кроме «Ошибка сегментации». Любая другая команда, введенная после этого, приводила только к «Сегментации», и плату необходимо перезапустить. Мы не можем попробовать какую-либо команду ‘dmesg’ или ‘gdb’, чтобы получить основную причину сбоя.

  • Я попробовал кросс-компиляцию и запуск простых программ на C ++ с использованием shared_ptr на плате и не столкнулся с какими-либо проблемами. В то время как простые программы, которые я пишу, кросс-компилируются как «общий объект», кросс-компиляция SDK привела к выполнению исполняемого файла, который динамически связывается. Я не знаю, может ли это быть причиной «Сегментарного сбоя». Я использую Filezilla FTP для передачи своих скомпилированных файлов на плату с типом передачи «двоичный».

  • Я поместил операторы cout в PubSub.cpp сразу после int main (), чтобы определить, до какого момента программа работает без проблем. Даже эти простые операторы печати выдают ошибку «Ошибка сегментации».

Подскажите, пожалуйста, возможные причины такого сбоя?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …