도와주세요!!
글 수 15,339
2012.09.18 17:15:06 (*.95.167.226)
11954
2012.09.18 19:54:31 (*.52.177.29)
현재 커널 설정이 잘못되어 있다고 판단 됩니다.
(저희 빌드에서는 smdk6410이 들어 가지 않습니다.)
저희 제품은 설정 방법을 잘 모르시는분들을 위한 쉘을 제공 하고 있습니다.
쉘 사용방법은 메뉴얼에 나와있습니다.
쉘을 사용안하시고 빌드를 하신다면 .config 파일 설정을 잘 맞추어 주어야 합니다.
커널에 보시면 arch/arm/configs/ez-s3c6410_defconfig 에 config파일이 있습니다.
쉘은 2개의 파일이 있습니다.
./falinux-config.sh [보드이름]
./make-s3c6410.sh
안녕 하세요.
알려 주신대로 menuconfig를 하기위해
ftp://ftp.falinux.com/kernel/recommendation
에서 linux-2.6.29-ez-s3c6410.tar.gz 를 받고
강좌와 팀에 있는 99~108번까지 있는 내용을 보고 kernel에서
USB setting을 하고 compile을 했습니다.
아래와 같이 compile Error가 납니다.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
arch/arm/mach-s3c6410/built-in.o: In function `smdk6410_machine_init':
/home/linux_arm/linux-2.6.29/arch/arm/mach-s3c6410/mach-smdk6410.c:227: undefined reference to `s3c_ts_set_platdata'
arch/arm/mach-s3c6410/built-in.o:(.init.data+0x2c94): undefined reference to `s3c_device_ts'
arch/arm/mach-s3c6410/built-in.o:(.init.data+0x2c98): undefined reference to `s3c_device_ax88796b'
make: *** [.tmp_vmlinux1] Error 1
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
이러면 어떻게 해야 하나요?
혹시 다른 kernel을 사용 해야 하나요?
1주일 이상 걸리니 마음만 답답 합니다.
저는 Demo용으로 App만 올려서 사용하려고 상용 보드를 쓰는데
Kernel까지 처리를 할지는 몰랐네요... ㅠ.ㅠ
빠른 답변 부탁 드립니다.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
안녕 하세요.
완초보방에 문의 드렸는데 답변이 없어 여기에 다시 올립니다.
자료실과 도와 주세요등 모든 올라와 있는 질문과 답변을 다 보았는데 해결 방법을 못 찾았습니다.
기존 Test는 Linux 서버의 USB(host)와 개인 Module을 USB로 연결하여 Test를 완료 한 상태 입니다.
현재 상황을 말씀 드리면 Embeded 의 USB(host)와 개인 Module을 USB로 연결한 상태 입니다.
그리고 혹시 몰라 /dev 에 있는 모든 연결을 해 보니 open error가 안나는건 tty와 ttySAC쪽 입니다만
실제 메시지는 왔다갔다 하는건 없습니다.
그리고 ttyUSB가 연결이 되어야 할것 같은데 여기서는 open error가 납니다.
1. Embeded USB와 Module과 연결시에는
Embeded 보드 에서는 아래와 같이 나옵니다.
usb 1-1: new full speed USB device using s3c2410-ohci and address 4
usb 1-1: configuration #1 chosen from 1 choice
2. 실행 하는 소스는 아래와 같습니다.
#define BAUDRATE B115200
#define MODEMDEVICE "/dev/ttyUSB0"
USB_fd = open(MODEMDEVICE, O_RDWR | O_NOCTTY | O_NONBLOCK);
if (USB_fd < 0) {
DEBUG_USB("\n ERROR USB= %s", MODEMDEVICE);
return;
}
DEBUG_USB("\n USB starting(%d)(%s)...", USB_fd, MODEMDEVICE);
bzero(&newtio, sizeof(newtio)); /* clear struct for new port settings */
newtio.c_cflag &= ~PARENB;
newtio.c_cflag &= ~CSTOPB;
newtio.c_cflag &= ~CSIZE;
newtio.c_cflag |= CS8;
newtio.c_cflag |= BAUDRATE;
newtio.c_iflag = IGNPAR | ICRNL;
newtio.c_oflag = 0;
newtio.c_lflag = 0;
newtio.c_cc[VINTR] = 0;
newtio.c_cc[VMIN] = 1;
tcflush(USB_fd, TCIFLUSH);
tcsetattr(USB_fd, TCSANOW, &newtio);
FD_ZERO(&readUSB_Fds);
FD_SET(USB_fd, &readUSB_Fds);
while (1) {
rdSet = readUSB_Fds;
retCode = select(FD_SETSIZE, &rdSet, (fd_set *)0, (fd_set *)0, (struct timeval *)0);
if (retCode < 0) {
DEBUG_USB("\n[ERROR] Error in USB select system call errno : %d , retCode : %d", sockerr, retCode);
//exit(3); /* TODO Handle the socket error here */
}
위의 1번과 2번에서 뭐가 잘못 되었나요?
확인 부탁 드리며 꼭 답변 부탁 드립니다.
FA Linux 제품을 구매 한 이유가 Support가 잘 된다고 해서 구입을 하고 개발을 하는데
다시 한번 지원 부탁 드립니다.
감사 합니다.