Я пытался запустить SDK на плате более недели.Я кросс-скомпилировал AWS IoT C ++ SDK и попытался запустить двоичный файл pub-sub-sample на моем устройстве.Все, что я получаю, это ошибка сегментации
Я следовал за DevGuide.md, который шел вместе с SDK.Изменен файл ToolchainFile.cmake и выполнен в соответствии с инструкциями.Пожалуйста, найдите ниже параметры платы ниже
Модель платы: Freescale i.MX6 ULL 14x14 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, когда он не дает никакого другого выхода, кроме 'Segmentation Fault'.Любая другая команда, введенная после этого, приводила только к «Сегментации», и плату необходимо перезапустить.Мы не можем попробовать какую-либо команду 'dmesg' или 'gdb', чтобы получить основную причину сбоя.
Я пробовал кросс-компиляцию и запуск простых программ на C ++ с использованием shared_ptr на плате и не столкнулся с какими-либо проблемами.В то время как простые программы, которые я пишу, кросс-компилируются как «общий объект», кросс-компиляция SDK приводила к исполняемому файлу, который динамически связывался.Я не знаю, может ли это быть причиной «Сегментарного сбоя».Я использую Filezilla FTP для передачи моих скомпилированных файлов на плату с типом передачи «двоичный».
Я поместил операторы cout в PubSub.cpp сразу после int main (), чтобы определить, до какого момента программа работает без проблем.Даже эти простые операторы печати выдают ошибку «Ошибка сегментации».
Подскажите, пожалуйста, возможные причины такого сбоя?