S3C2440,使用H-JTAG仿真,ROM和RAM都是用片外的SDRAM,结果总是不对
S3C2440,使用H-JTAG仿真,ROM和RAM都是用片外的SDRAM,ROM1的地址为0X3000,0000,大小为0X20,0000,RAM1的地址为0X3020,0000,编译器是MDK4.12,使用了MDK自带的启动代码,结果用JTAG仿真的时候,总是调试不对,贴上代码和截图大牛们看一下吧PS:我到网上搜了一下,说片外的SDRAM要使用脚本文件初始化,这个脚本文件怎么写呢,一定用吗?
#include"s3c2440.h"
#define led0mask 0x08
#define led1mask 0x10
#define led2mask 0x20
#define led3mask 0x40
void delay(unsigned int i)
{
unsigned int j,k;
for(j=1;j<i;j++)
{
for(k=1;k>=100;k++){;}
}
}
int main()
{
GPFUP&=0xffffff87;
GPFCON|=0x5540;
GPFDAT|=0XFF;
while(1)
{
GPFDAT=led1mask|led2mask|led3mask; //light led0
delay(1000);
GPFDAT=led0mask|led2mask|led3mask;
delay(1000);
GPFDAT=led0mask|led1mask|led3mask;
delay(1000);
GPFDAT=led0mask|led1mask|led2mask;
delay(1000);
}
return 0;
}
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628494JYG8DX.png
(原文件名:2011-04-04_200544.png)
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628495LBW359.png
(原文件名:2011-04-04_200625.png)
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628496SX57GF.png
(原文件名:2011-04-04_200640.png)
http://cache.amobbs.com/bbs_upload782111/files_38/ourdev_628497VINDCX.png
(原文件名:2011-04-04_200654.png) 我想这个PC的地址,在调试的时候,是不是要设置为0X3000,0000呢,这样是不是说在调试的时候,程序不是从0X0出开始执行的? 你这程序运行之前有没对2440初始化??包括SDRAM等外围硬件? 相关寄存器初始化了 但是和SDRAM的连接地址线 A0-A26 我没有初始化我看了手册上和SDRAM连接的引脚 默认就是地址线 给你一个初始化文件
点击此处下载 ourdev_655923AUVIZN.rar(文件大小:231字节) (原文件名:SDRAM.rar) 请问一下,我现在是在SDRAM里面调试程序,要是想给片外的nor flash某个地址上写入一个值,希望下次上电的时候这个值还在这个地址上,现在可以写成功,但是发现每次重新上电之后存的值都不见了,都变成一个其他的值了,请问这是怎么回事呢?跟MMU_Init这个函数有关系吗? 我把中断与写数据到norflash几个过程写在一个函数里的,从串口输入一个数据,程序进入中断,某个特定的标志位置1,然后才开始对norflash进行写操作。MMU_Init()函数好像跟开中断有关,如果没有这个函数,中断进不去。结果就发现重新上电后写过数据的那个地址上又变成写数据之前的那个数据,不是我刚才写的数据。求教啊!!! 应该是使用的问题吧,我使用H-JTAG基本上没遇到什么问题 郁闷呀,同求,等待答案呀! mark
页:
[1]