shengchina_1981 发表于 2006-4-18 11:10:12

uClinux下的一个问题,请高手帮解决下,多谢

我是用的4510的CPU,在对外部存储器读写的时候就会出错。在hardware.h里面已经配置各个寄存器的值,驱动中一执行到*(volatile unsigned short *)add=mybuf这句的时候就报错
Unhandled fault: alignment exception (93) at 0x00000001
fault-common.c(97): start_code=0xf20040, start_stack=0xf2ff90)
Internal error: Oops: 0
CPU: 0
pc : [<00018f20>] lr : [<00030001>] Not tainted
sp : 00ecde70 ip : 00000004 fp : 00ecdf04
r10: 00ecdf50 r9 : 80000013 r8 : 00000000
r7 : 00000001 r6 : 00000005 r5 : e1c310b0 r4 : 80000013
r3 : 00000000 r2 : 00ecc030 r1 : 00ecde70 r0 : 00000004
Flags: nZcv IRQs off FIQs on Mode SVC_32 Segment kernel
Control: 0
Process dpramtest (pid: 22, stackpage=00ecd000)
Stack:
00ecde60: 00030001 00018f20 40000093 ffffffff 00000004 00000000 00030001 0017faf8
00ecde80: 000007a7 000007a7 000007ba 0018584c 00000004 00ecdf50 00ecdec8 00ecdea8
00ecdea0: 0001d280 00065064 000007ba 0017d5e0 000007ba 0018984c 00000013 00ecdedc
00ecdec0: 00ecdecc 0001d304 0001d234 00000001 fffff846 00189850 00189854 0018984c
00ecdee0: 00000013 00000004 00ecdf50 00ecdf18 e1c310b0 00ecdf3c 00ecdf80 00ecdf08
00ecdf00: 00019d58 00018ef0 00

lumit-support-1 发表于 2006-4-18 23:31:45

先用应用程序的方式在uClinux下实现了,在加到驱动里面吧!!

shengchina_1981 发表于 2006-4-19 08:21:55

大哥,应用程序里面怎么访问外部存储空间啊,也要通过驱动程序的啊

good02xaut 发表于 2006-4-21 16:31:46

对存储器的访问需要驱动嘛??
编译器可以完成对绝对地址的访问。

什么设备都要驱动,唯独CPU可以直接寻址的不要:)

lumit-support-1 发表于 2006-4-21 22:33:12

uClinux是实地址模式,可以访问啊!!
好多驱动都是先以应用程序的方式可以用了,最后再做成驱动,放到核里的啊
页: [1]
查看完整版本: uClinux下的一个问题,请高手帮解决下,多谢