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

커널버전은 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
번호 제목 글쓴이 날짜 조회 수sort
228 프로젝트 계획 조언부탁드립니다. [5] 시그인트 2014-02-19 2734
227 [완료]dm9000a [10] 이진우 2007-09-14 2741
226 [완료] 터치 증상이 이상합니다. [6] 강경완 2007-05-11 2751
225 삼성 2440 I/O Speed [1] 전철웅 2007-11-17 2759
224 [질문] 이솝보드에 삼성의 DNW(USB/Sireal 다운로더)사용하려면..? [6] 박재흥 2006-08-16 2760
223 가속도 센서 관련하여 문의글 올립니다. [2] 리오살다 2013-04-02 2767
222 오드로이드 SDCARD의 Root FS를 안보이게 하는 방법은... [2] 김영일 2010-08-25 2768
221 S3C6410 IROM booting [6] 전병환 2009-02-19 2771
220 smpeg질문 [1] 박진수 2006-04-13 2773
219 nand erase error입니다 도움 부탁합니다. [2] 문철민 2007-11-24 2786
218 gtk+-2.12.12 on DirectFB-1.4.9에서 gtk-demo 에러 양철심장 2011-07-19 2787
217 wpa_supplicant에 있어서 문의드립니다. [2] 열심히 2013-07-12 2795
216 busybox compile(Toolchain-aesop6410-090320) [6] 김도윤 2009-04-23 2797
215 [완료] Linux CD에 굽는 방법좀 알려주세요.. [6] 정인권 2007-06-07 2801
214 RTL8100을 두개 붙이려면? [2] 임태진 2008-06-27 2808
213 USB bluetooth 동글을 Android에서 인식하게 하려면? [2] 정낙주 2010-02-10 2811
212 [완료] LX800 여유분이 남았나요? [2] 황순일 2007-06-04 2820
211 git 서버 구축 하여 IP로 접근 할수 있는 방법? [3] 작두 2010-03-26 2827
210 Origenboard (S5PV310) u-boot & kernel 다운로드 [1] gudrl 2013-04-17 2828
209 안드로이드 버전 확인 방법 문의 [1] 임유신 2009-06-24 2830

사용자 로그인