我目前用的是6410+wince6的平台,我改动了RTC中的内容,之前用的是CPU的RTC,目前我们加了一个外部的RTC,我通过iic对它进行读和写。
问题1:如果采用我在驱动中的iic驱动,通过deviceiocontrol的时候单独编译RTC的时候可以编译的过去。但是如果使用编译选项build current bsp的时候就出错了,调试信息显示好像是找不到deviceiocontrol的库。手动加进去也不行,不知道为什么?
问题2:用上面的方面不行了,我便采用了通过gpio模拟了iic但是用的还是iic的那俩个脚,在读写之前,先把这俩个脚设置成普通io口。在读写完之后再设置成iic的sda和scl,这样编译成功后,系统却启动不了了,打印串口消息如下:
Windows CE Kernel for ARM (Thumb Enabled) Built on Sep 30 2007 at 22:37:06
[OAL] S3C6410_APLL_CLK : 532000000
[OAL] ARMCLK : 532000000
[OAL] HCLK : 133000000
[OAL] PCLK : 66500000
[OAL] ++InitializeDisplay()
[OAL] --InitializeDisplay()
[OAL] InitializeGPIO()
DCache: 128 sets, 4 ways, 32 line size, 16384 size
ICache: 128 sets, 4 ways, 32 line size, 16384 size
Arguments area has some values. Do not Initialize
-OALArgsInit()
+OALTimerInit( 1, 33250, 0 )
-OALIntrRequestSysIntr(irq = 38, sysIntr = 16)
++IIC_Open()
--IIC_Open()
Exception 'Data Abort' (4): Thread-Id=00410002(pth=8dfdf024), Proc-Id=00400002(pprc=82531308) 'NK.EXE', VM-active=00400002(pprc=82531308) 'NK.EXE'
PC=8013e584(NK.EXE+0x0003e584) RA=8013e57c(NK.EXE+0x0003e57c) SP=d001fd5c, BVA=00000007
Exception 'Prefetch Abort' (3): Thread-Id=00410002(pth=8dfdf024), Proc-Id=00400002(pprc=82531308) 'NK.EXE', VM-active=00400002(pprc=82531308) 'NK.EXE'
PC=00000000(???+0x00000000) RA=8015fb90(kernel.dll+0x00006b90) SP=d001fb88, BVA=00000000
Exception 'Prefetch Abort' (3): Thread-Id=00410002(pth=8dfdf024), Proc-Id=00400002(pprc=82531308) 'NK.EXE', VM-active=00400002(pprc=82531308) 'NK.EXE'
PC=00000000(???+0x00000000) RA=8015fb90(kernel.dll+0x00006b90) SP=d001f9b4, BVA=00000000
Exception 'Prefetch Abort' (3): Thread-Id=00410002(pth=8dfdf024), Proc-Id=00400002(pprc=82531308) 'NK.EXE', VM-active=00400002(pprc=82531308) 'NK.EXE'
PC=00000000(???+0x00000000) RA=8015fb90(kernel.dll+0x00006b90) SP=d001f7e0, BVA=00000000
Exception 'Prefetch Abort' (3): Thread-Id=00410002(pth=8dfdf024), Proc-Id=00400002(pprc=82531308) 'NK.EXE', VM-active=00400002(pprc=82531308) 'NK.EXE'
PC=00000000(???+0x00000000) RA=8015fb90(kernel.dll+0x00006b90) SP=d001f60c, BVA=00000000
Exception 'Prefetch Abort' (3): Thread-Id=00410002(pth=8dfdf024), Proc-Id=00400002(pprc=82531308) 'NK.EXE', VM-active=00400002(pprc=82531308) 'NK.EXE'
PC=00000000(???+0x00000000) RA=8015fb90(kernel.dll+0x00006b90) SP=d001f438, BVA=00000000
..........,下面基本上是重复了
最后是BVA=1000001b, dwInfo = 00000001
R0=ffffc800 R1=fffd34f8 R2=fffd3570 R3=10000003
R4=8015a638 R5=00000000 R6=8016088c R7=82533704
R8=fffd34f8 R9=00000000 R10=fffd3570 R11=8016088c
R12=00000000 SP=fffd34c0 Lr=80160a78 Psr=80000113
Exception
希望大牛们给解答