[Armadillo:01600] armadillo-300 の物理アドレスにアクセスする方法

和田 直也 email@hidden
2007年 5月 14日 (月) 16:58:56 JST


和田と申します。
度々、お世話になります。

armadillo-300_hardware_manual_ja-1.0.0.pdfのP.6に
記載されている物理メモリマップにアクセスをしたいのですが、
どのような手順を踏んだらよろしいでしょうか。

試してみたのは、ドライバにて指定したアドレスから
直接、値を取得する方法(↓)と、

data = (*(volatile unsigned char *)0x70000000); 

または、物理アドレスを仮想アドレスに変換する方法、(↓)

char *ptr;
ptr = phys_to_virt(0x70000000);
data = (*(volatile unsigned char *)ptr);

以上です。

その際、以下のようなエラーが表示されます。

ご教示お願い致します。


和田 直也

30000000  <1>Unable to handle kernel paging request at virtual address 30000000
pgd = c068c000
[30000000] *pgd=00000000
Internal error: Oops: 5 [#5]
Modules linked in: memoryRW_dev
CPU: 0
PC is at memRW_read+0x88/0xec [memoryRW_dev]
LR is at 0x1
pc : [<bf0000b0>]    lr : [<00000001>]    Not tainted
sp : c0777f28  ip : 60000093  fp : c0777f4c
r10: 70000000  r9 : c0776000  r8 : 00000000
r7 : 0000000a  r6 : 00000000  r5 : 30000000  r4 : 00000000
r3 : c031bd44  r2 : 00000000  r1 : 00000000  r0 : 0000000d
Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  Segment user
Control: 5317F  Table: 0068C000  DAC: 00000015
Process memoryRW_apple (pid: 950, stack limit = 0xc0776194)
Stack: (0xc0777f28 to 0xc0778000)
7f20:                   00000008 00000000 c0772780 beb50dc8 c0776000 c0777f78
7f40: c0777f74 c0777f50 c008fe7c bf000038 c07727a4 c0772780 c0777f78 00000000
7f60: 00000000 40142620 c0777fa4 c0777f78 c0090160 c008fdcc 00000000 00000000
7f80: 00000000 beb50dc8 beb50e14 00000000 00000003 c0041f64 00000000 c0777fa8
7fa0: c0041de0 c0090124 beb50dc8 c0048c38 00000003 beb50dc8 00000008 00000000
7fc0: beb50dc8 beb50e14 00000000 00000002 00000003 00008680 40142620 00000000
7fe0: 00000000 beb50dc4 0000267c 400e1890 60000010 00000003 00029df4 e92d4ff0
Backtrace:
[<bf000028>] (memRW_read+0x0/0xec [memoryRW_dev]) from [<c008fe7c>] (vfs_read+0x
c0/0x138)
[<c008fdbc>] (vfs_read+0x0/0x138) from [<c0090160>] (sys_read+0x4c/0x74)
[<c0090114>] (sys_read+0x0/0x74) from [<c0041de0>] (ret_fast_syscall+0x0/0x2c)
 r8 = C0041F64  r7 = 00000003  r6 = 00000000  r5 = BEB50E14
 r4 = BEB50DC8
Code: e2544001 1afffffb e1a04006 e0877004 (e7d51004)
 Segmentation fault



armadillo メーリングリストの案内