Qt Segmantation fault error가 발생하는데요. 도와주세요 ㅠㅠ
Qt embedded : 3.0.4 입니다.
- Host Pc에 VmWare에서 RedHat 9로 작업하였습니다.
- Target Board : Huins Pxa 255 Pro 1 입니다.
- 최종 생성된 실행 파일을 보드에 포팅하고 실행시에
library에서 Segmantation fault 발생합니다.
- source
- error 나는 부분을 찾기 위해 printf 함수 사용하였습니다.
터미널 화면에 QApplication Instance line 출력 하고.
디바이스가 오픈되고, connect() 에러가 발생하네요.
#include "MainForm.h"
#include
int main(int argc, char** argv)
{
printf("QApplication Instance line \");
QApplication a(argc, argv);
printf("MainForm Instanceline");
MainForm *mainForm = new MainForm(0, "MainForm", true );
a.setMainWidget(MainForm);
mainForm->show();
return a.exec();
}
터미널에 출력된 내용입니다.
QApplicaton Instance line
ads7846_open()
connect() error!: Connection timed out
pc : [<0000e524>] lr : [<001e8481>] Not tainted
sp : bf7ff80c ip : 00000000 fp : 40694b30
r10: 4069750c r9 : bf7ffc00 r8 : 00000000
r7 : 00000000 r6 : bf7ff818 r5 : 0000000b r4 : 00000104
r3 : bf7ff91c r2 : 00000003 r1 : 00000000 r0 : bf7ff818
Flags: nzcv IRQs on FIQs on Mode USER_32 Segment user
Control: 397F Table: A0B40000 DAC: 00000015
ads7846_close()
Segmentation fault
실제 전체 컴파일 되는 소스에는 제가 만든 몇개의 자료구조(Array LinkedList) 라이브러리와 c++ 코드들 입니다.
폼과 분리해서 내부 구현만 컴파일해서 타겟에 내리면 정상적으로 메모리에 적재되는데, Qt로 만든 폼과 함게 컴파일해서
실행시키면 위와 같에 에러를 토해 냅니다. 폼만 따로 분리해서 띄우면 정상적으로 뜨고..
Qt안에 있는 예제 프로그램들은 정상적으로 동작 합니다.
둘만 합치면 저런 현상이 나타납니다.
제발 도와주세요. ㅠㅠ
터치 스크린 장치가 동작을 안하는 것 같은데요.
ads7846이면 보통 국내에서 만드는 개발 보드에서 터치 스크린 입력용으로 쓰는 장치입니다. 해당 장치의 드라이버가 장치를 검출해보니 없어서 종료시켜버린 모양입니다. QT의 입력 장치를 바꾸셔야 할 것 같습니다. (QT의 UI쪽에서는 포인팅 장치가 없으면 동작이 안되는 구조라서요) 그리고 printf의 마지막에 \로 끝나는 부분이 보이는데... 용케 동작이 되는군요. (결과를 보면 글을 올릴 때 삭제된 것으로 보입니다만...)
댓글 달기