1.0memcpy((unsigned char *)0x0,(unsigned char *)0x30000000,0x1000);含义
用ADS调LED
2010-09-09 17:04
#include "2440addr.h"
#include "2440lib.h"
#include "def.h"
#include "uart.h"
void Main(void)
{
memcpy((unsigned char *)0x0,(unsigned char *)0x30000000,0x1000);
SetSysFclk(FCLK_400M); //设置系统时钟400M
ChangeClockDivider(2, 1); //设置分频1:4:8
CalcBusClk(); //计算总线频
Uart_Select(0); //初始化串口
Uart_Init(0, 115200);
rGPFCON =(rGPFCON | 0xFFFF) & 0xFF55; //保持GPF4~GPF7不变,同时将GPF0~GPF3置为输出
rGPFUP = rGPFUP & 0xFFF0; //低四位使能上拉
rGPFDAT = 0xFF; //灯是熄灭的
while(1)
{
rGPFDAT = 0xFC;
Delay(500);
rGPFDAT = 0xF3;
Delay(500);
}
}
/************************自己分析如下*********************/
如果用J-LINK下载或调试程序,可以把下面一条语句去掉:
memcpy((unsigned char *)0x0,(unsigned char *)0x30000000,0x1000);
这条语句的意思是:将SteppingStone中的4K代码拷贝到SDRAM中,来引导NAND flash中的主程序。
因为在用J-LINK下载程序时,程序不可以下载到NAND-FLASH,而上一条语句是对NAND-FLASH配置的,所以在用J-LINK下载或调试程序时,可以去掉,也可以不去掉,对控制结果没有影响。
人打赏
0人 点赞
主帖获得的天涯分:0
举报 |
楼主
|
楼主发言:1次 发图:0张 | 添加到话题 |