Название: ARM, Bus Error Отправлено: bra1ss от Июнь 16, 2011, 12:29 Имеется плата AT91SAM9M10-EKES с Linux Angstrom на борту. Хелловорлд на C++ запускается без проблем. Кросс-компилирую тулчейном от CodeSourcery из-под Убунты. Сейчас пробую написать простейшее приложение с GUI. Собрал qt-everywhere-opensource-src-4.7.3 под ARM, написал простенький код (создание и показ QWidget), откомпилил (зачем-то еще потребовалась libpng). Закинул исполняемый файл на плату вместе с либами QtCore, QtGui и QtNetwork. При запуске выдает ошибку "Bus Error". В чем может быть проблема и в какую сторону копать?
Название: Re: ARM, Bus Error Отправлено: ритт от Июнь 16, 2011, 16:17 похоже на misaligned memory access (но вполне может оказаться и ещё чем-нибудь) - без бэктрейса сложно гадать...
вот проблема, которую я знал - http://www.qtcentre.org/threads/36952-segment-fault-with-any-QT-GUI-program - якобы, в 4.7.2 пофиксили, но я не проверял. возможно, имеет смысл попробовать собрать 4.7.2 и запустить Ваш простенький гуй на ней - вдруг регрешшн? - в худшем случае потеряете пару часов времени на пересборку ) если это не поможет, можно попробовать включить проверку-и-исправление misaligned доступа для всех процессов (не знаю есть ли такая фича в ангстроме, для ваниллы когда-то искал - не нашёл) ну, а иначе нужен бэктрэйс - собрать кьют и дэмку в дэбаге и запустить на железке под гдб, например... Название: Re: ARM, Bus Error Отправлено: bra1ss от Июль 05, 2011, 14:21 Таки удалось запустить графическое приложение. Обновил версию библиотеки libstdc++ в Ангстроме, прописал переменные путей до шрифтов и т.д., от ошибки удалось уйти. Но приложение запускается с какими-то аццкими глюками (скрин (http://i24.fastpic.ru/big/2011/0705/cf/2d38d9e249ea191b4c50cde13fb843cf.png)), как будто конфликтует с оконной системой, в итоге нормально работать с интерфейсом нельзя. Оконная система - Xfbdev. Приложение запускаю с ключом -qws.
Название: Re: ARM, Bus Error Отправлено: gogi от Июль 05, 2011, 21:36 >Оконная система - Xfbdev
Попробуй запускать без него. Ведь этого >Приложение запускаю с ключом -qws. достаточно для работы автономного Qt embedded-приложения. |