[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 メーリングリストの案内