도와주세요!!
글 수 15,339
2004.01.19 11:55:44 (*.186.46.87)
6651
: 1. serial.c 가 인터럽트 구동방식인가, 폴링방식인가??
: ~~ 소스가 넘 길어서 부분적으로만 분석했는데 아무래도 타이머가 돌아가는 것을 보니까
: 폴링방식같은데 실력이 딸려서 파악이 잘 안되네요..또 그와 더불어 인터럽트 방식이라면
: 구조체의 irq에는 무슨 값을 넣어야 하나요? 아래처럼 IRQ_GPIO_2_80 인가요? 아니면 다른 값인가요??
: 폴링방식이라면 irq의 값은 의미가 없는 값인가요?? 인터럽트 방식입니다. 다만 여러 인터럽트를 하나의 핸들러를 통해 받아 들이지요..
타이머는 오랜시간 인터럽트가 들어오지 않을때 동작합니다. 일정의 타임아웃이지요
IRQ 는 하드웨어에 물린 GPIO 의 번호와 연관이 있으며 커널에 알고 있는 번호로 설정해야 합니다.
: 2. PORT_DEFN 부분에서 xmit_fifo_size 에는 무슨 값을 넣습니까??
: ~~ 알기로는 pxa-255는 피포가 TX, RX 각각 64바이트로 알고 있는데 커널 소스에는 32로 되어 있군요..
: 16C554의 경우는 각각 16바이트인데...16을 써야 되나요? 아니면 CPU 처럼 반으로 나눈 8을 써야 되나 요??
사용하시는 칩의 fifo 크기를 입력하세요 보통 16입니다.
:
: 3. io_type 부분에는 무슨 값을 넣나요?
: ~~ SERIAL_IO_MEM32인가요? 아니면 SERIAL_IO_MEM인가요? 그와 더불어 iomem_base에는 무슨 타입을 써야 됩
: 니까?
: 저는 아래와 같이 u32로 하고 있는데 맞는지 확신이 안가네요.. SERIAL_IO_MEM 으로 설정하세요 8비트 버스를 사용하실테니까요..
iomem_base 에는 칩의 베이스 주소를 넣으세요.
:
: 4. serial.c 코드에서 뭔가 수정해야 할 부분이 있습니까?? 인터럽트와 등록하는 부분을 수정해야 합니다.
저희가 제공하는 커널에 외부 확장 시리얼포트에 대한 내용이 포함되어 있습니다.
제공하는 커널에서 include/asm/arch-pxa/serial.h 만 수정하면 됩니다.
GPIO 번호와 베이스 주소만 변경.. (커널버젼 V03 이상)