adan1234567 发表于 2010-11-11 15:05:28

S3C44B0X中读字节数组出现的问题

最近接触ARM的开发,系统使用 S3C44B0X(CPU) + S29AL032D( 4MB FLASH) + K4S281632K(16MB SDRAM) 配置.读CHAR型数组时发现读出的内容与写入的内容不一致,读INT型数组时内容又是相同的.这是怎么回事.
本人第一次使用ARM单片机,原来一直用51单片机.对这个问题一头雾水,望那位高人指点一下,万分感谢!
以下是我的代码有几个地方不清楚,主要是关于SDRAM的配置问题.

void s3c44b0_init(void)
{
        // Watchdog Timer
        WTCNT = 0x8000;
        WTDAT = 0x8000;
        WTCON = 0x8000;                // WT disable
        // interrupt
        INTMSK = 0xffffffff;        // all interrupt disable
        // Clock and Power Management
        LOCKTIME = 0x00000fff;        // LOCK TIME COUNT REGISTER
        PLLCON = 0x00034080;        // Fpllo = 60MHZ晶振10MHZ 倍频到60 MHZ
        CLKCON = 0x7ff8;
        CLKSLOW = 0X09;
        // Memory Controller
        BWSCON = 0x01000002;        // bank6 (0X0C000000 ~ 0X01000000)总线16位宽,零等待,不使用UB/LB。
?????? 使用UB/LB 与 不使用UB/LB 有区别吗?
                        // bank0 (0x00000000 ~ 0X00400000)总线16位宽。
        BANKCON0 = 0x00000600;
        BANKCON1 = 0x00000700;
        BANKCON2 = 0x00000700;
        BANKCON3 = 0x00000700;
        BANKCON4 = 0x00000700;
        BANKCON5 = 0x00000700;
        BANKCON6 = 0x00018009;
        BANKCON7 = 0x00018009;
        REFRESH= 0x00A60591;
        BANKSIZE = 0x00000000;
        MRSRB6       = 0x20;
        MRSRB7       = 0x20;
        // I/O Port
        GPACON = 0x000003FF;
        GPBCON = 0x000007FF;
        GPCCON = 0x4F155545;        // FLASH_WP = INPUT GPC14
        GPCUP= 0x00000000;        // 0 = Pull-up Enabled
        GPDCON = 0x00005554;
        GPDUP= 0x00000000;        // 0 = Pull-up Enabled
        GPECON = 0x00004068;
        GPEUP= 0x00000000;        // 0 = Pull-up Enabled
        GPFCON = 0x0008044A;
        GPFUP= 0x00000000;        // 0 = Pull-up Enabled
        GPGCON = 0x00000000;
        GPGUP= 0x00000000;        // 0 = Pull-up Enabled
        SPUCR= 0x00000004;

        // interrupt
        INTCON = 0x00;                        // Vectored interrupt mode IRQ interrupt enable FIQ interrupt enable
        INTMOD = 0;                            // IRQ mode
        I_ISPC = 0x3ffffff;                //
        INTMSK = ~INT_GLOBAL;        // Global Interrupt Enable
}
页: [1]
查看完整版本: S3C44B0X中读字节数组出现的问题