기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

커널버전은 2.6.21 이구요, ac97사용할려고 하는데요

waveplay로 wav파일을 열때 문제가 생깁니다.
waveplay에서는        open("/dev/dsp", O_WRONLY..
일때 문제가 발생한것을 확인했구요

커널에서는
arch/arm/mach-pxa/dma.c

    118 static int __init pxa_dma_init (void)
    119 {
    120         int ret;
    122         ret = request_irq (IRQ_DMA, dma_irq_handler, 0, "DMA", NULL);
    124         if (ret)
    125                 printk (KERN_CRIT "Wow!  Can't register IRQ for DMAn");
    126         return ret;
    127 }
등록은 되어서 /proc/interrupt에 DMA등록은되는데


     37 int pxa_request_dma (char *name, pxa_dma_prio prio,
     38                          void (*irq_handler)(int, void *),
     39                          void *data)
     40 {
        ...
     63         if (found) {
     64                 DCSR(i) = DCSR_STARTINTR|DCSR_ENDINTR|DCSR_BUSERR;                <<<----쓰지를 못합니다.

위 함수가 불려졌을때
dma 레지스터인 DCSR에 쓰지를 못하고 Unhandled fault 가 발생하네요;;
dma자체가 동작을 안하는것 같은데 추가로 어디를 봐야될지 모르겠습니다.


아래 로그 첨부합니다.

Unhandled fault: imprecise external abort (0x416) at 0x4012b8cc
Internal error: : 416 [#1]
Modules linked in:
CPU: 0
PC is at vprintk+0x2e4/0x2e8
LR is at pxa_request_dma+0x8c/0x110
pc : [<c00389d0>]    lr : [<c002ca34>]    Not tainted
sp : c37f1d50  ip : c0311324  fp : c37f1d78
r10: c01f8914  r9 : c0c12ae0  r8 : c034a668
r7 : c02eca88  r6 : a0000013  r5 : 00000008  r4 : f2000020
r3 : 00000000  r2 : 00000001  r1 : 00000000  r0 : c02c7120
Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  Segment user
Control: 397F
Table: A0F04000  DAC: 00000015
Process wavplay (pid: 902, stack limit = 0xc37f0250)
Stack: (0xc37f1d50 to 0xc37f2000)
1d40:                                     c3ebfae0 fffffff4 c0c12ae0 00000000
1d60: c0eb8000 ffffffff c034579c c37f1db0 c37f1d7c c01f8b64 c002c9b4 00000000
1d80: 00000012 ffffffff 00000000 c37f1dec c37f1e08 c3ebfac0 c0c1f600 c0d2be40
1da0: 00000000 c37f1dcc c37f1db4 c01dd828 c01f8a54 c0c12ae0 c37f1e30 00000000
1dc0: c37f1e78 c37f1dd0 c01e9fc4 c01dd7d0 0000000e 00000003 c0c1f708 c0c1f714
1de0: c37f0000 00000001 c0d380c4 c01384e8 00000000 00000000 c0caad40 c0034480
1e00: c0c1f714 c0c1f714 00000000 00000000 00000000 00000000 00000000 00000000
1e20: 00000000 00000000 00000000 00000000 70766177 0079616c 00000000 00000000
1e40: c0082a00 c0161f4c c0cc6a00 00e00003 c027d960 00000000 00000003 c0d2be40
1e60: c0d380c4 c37f0000 00000000 c37f1e9c c37f1e7c c01d1b80 c01e9d7c c0c23960
1e80: c0d380c4 00000000 00000000 c0d2be40 c37f1ec4 c37f1ea0 c0082c34 c01d1a3c
1ea0: 00000003 c0d2be40 c0d380c4 c0082ae4 c03f3220 c37bb41c c37f1eec c37f1ec8
1ec0: c007f16c c0082af0 c0d2be40 c37f1f0c 00000000 c3e5b000 ffffff9c 00016cf0
1ee0: c37f1f04 c37f1ef0 c007f288 c007f078 00000000 00000001 c37f1f70 c37f1f08
1f00: c007f2dc c007f260 c37f1f0c c37bb41c c03f3220 00000000 00000000 00000000
1f20: 00000101 00000001 00000000 c37f0000 c0d0eec8 c0d0eec0 ffffffe8 00016cf0
1f40: c37f1f70 c37f1f50 c007f48c c0095368 00000002 00000000 c0d2be40 00000001
1f60: 00000004 c37f1f94 c37f1f74 c007f610 c007f2a8 000180a4 000180a0 00000001
1f80: 00000005 c0023d44 c37f1fa4 c37f1f98 c007f678 c007f5cc 00000000 c37f1fa8
1fa0: c0023d0c c007f660 000180a4 000180a0 0000ca48 00000001 00000000 00000000
1fc0: 000180a4 000180a0 00000001 00018050 000161e8 000164e8 00016cf0 00000000
1fe0: 00000000 be834b88 00003d10 400df1a0 60000010 0000ca48 00030664 e92d4ff0
Backtrace:
[<c002c9a8>] (pxa_request_dma+0x0/0x110) from [<c01f8b64>] (pxa2xx_pcm_open+0x11c/0x188)
[<c01f8a48>] (pxa2xx_pcm_open+0x0/0x188) from [<c01dd828>] (snd_pcm_open_substream+0x64/0xac)
[<c01dd7c4>] (snd_pcm_open_substream+0x0/0xac) from [<c01e9fc4>] (snd_pcm_oss_open+0x254/0x448)
r5 = 00000000  r4 = C37F1E30
[<c01e9d70>] (snd_pcm_oss_open+0x0/0x448) from [<c01d1b80>] (soundcore_open+0x150/0x1d8)
[<c01d1a30>] (soundcore_open+0x0/0x1d8) from [<c0082c34>] (chrdev_open+0x150/0x168)
r8 = C0D2BE40  r7 = 00000000  r6 = 00000000  r5 = C0D380C4
r4 = C0C23960
[<c0082ae4>] (chrdev_open+0x0/0x168) from [<c007f16c>] (__dentry_open+0x100/0x1e8)
r8 = C37BB41C  r7 = C03F3220  r6 = C0082AE4  r5 = C0D380C4
r4 = C0D2BE40
[<c007f06c>] (__dentry_open+0x0/0x1e8) from [<c007f288>] (nameidata_to_filp+0x34/0x48)
[<c007f254>] (nameidata_to_filp+0x0/0x48) from [<c007f2dc>] (do_filp_open+0x40/0x48)
r4 = 00000001
[<c007f29c>] (do_filp_open+0x0/0x48) from [<c007f610>] (do_sys_open+0x50/0x94)
r5 = 00000004  r4 = 00000001
[<c007f5c0>] (do_sys_open+0x0/0x94) from [<c007f678>] (sys_open+0x24/0x28)
r8 = C0023D44  r7 = 00000005  r6 = 00000001  r5 = 000180A0
r4 = 000180A4
[<c007f654>] (sys_open+0x0/0x28) from [<c0023d0c>] (__sys_trace_return+0x0/0x34)
Code: c00273f4 3b9aca00 c02c75e8 c034bae4 (c034bb78)
)    = -1 ENOENT (No such file or directory)

고현철

2008.04.04 22:56:06
*.14.30.76

request dma에 들어가는 dma memory가 제대로 되어 있는지 확인하시기 바랍니다.

오대광

2008.04.05 05:50:23
*.121.121.57

답변 감사드립니다.

죄송하지만 정확히 어느 부분을 봐야되는지요?

고현철

2008.04.06 06:11:12
*.187.44.115

dma로 사용하는 메모리가 제대로 매핑이 된것인지, 아니면 실제로 주소에 있는 것인지 확인하시기 바랍니다.

그 경우 아니면 보통 이런 케이스는 발생안합니다.

오대광

2008.04.10 19:55:51
*.121.121.57

그렇군요..답변 감사드립니다.

좀더 삽질해보고 해결되면 결과 올릴께요

오대광

2008.04.21 20:17:36
*.121.121.57

해결했습니다

dma주소 세팅값이 다른주소세팅과 겹쳐 있었습니다. ㅜㅜ
List of Articles
번호 제목 글쓴이 날짜 조회 수
228 alsa에서 alsa arm device와 soc audio device는 정확히 어떤관계인가... [2] 오대광 2008-04-18 899
227 [질문] 커널 디버깅 메시지 [3] 문철민 2008-04-15 805
226 [질문] 리눅스 커널 책 좀 추천 해 주세요 [1] 손성원 2008-04-15 1355
225 [완료] 낸드플래시에 FAT 파일시스템을 사용할 수 있나요? [4] 이세종 2008-04-11 1107
224 [완료] sd카드 풀스펙 데이터시트를 구합니다. [2] 이세종 2008-04-11 915
223 [완료]가상어드레스에 관하여 [4] 문철민 2008-04-11 734
222 [질문] pxa_request_dma, request_dma 에 대해서 궁금합니다. [2] 오대광 2008-04-10 754
221 [질문] 리눅스용 RS485 드라이버를 찾고 있습니다. [2] 장병남 2008-04-10 1218
» [완료] 이거 어디가 문제일까요??ㅜㅜ [5] 오대광 2008-04-04 1222
219 [완료]2.6용 devicedriver makefile 문의 [2] 문철민 2008-04-04 714
218 [질문] S3C2440 보드에 낸드플래시를 하나 더 달려고 하는데요,, [4] 장병남 2008-04-03 933
217 [질문]파일생성일자 읽어오는법좀~~ [1] 김우겸 2008-04-03 707
216 [완료]이솝보드에 관한건 아니지만.. ㅠ.ㅜ (uC/TCP 관련) [2] 이경준 2008-04-03 728
215 [완료] exception vector table과 cache관련 문의 [3] 김정호 2008-04-03 773
214 [완료]컴파일시 error발생하는 경우 [4] 김진희 2008-04-02 652
213 [완료]Freescale MC9328MX1 포팅 질문 [2] 이태간 2008-04-02 731
212 [질문]arm에서의 mmu setting을 이용한 메모리 설정 [1] 한기태 2008-04-01 971
211 [re] [질문]arm에서의 mmu setting을 이용한 메모리 설정 장석원 2008-04-02 737
210 [질문]usb to parallel ?? [1] 손성원 2008-04-01 709
209 [질문]I/O Memory를 이용한 device 접근 version-2 [1] 한기태 2008-04-01 714

사용자 로그인