nand本来不能运行程序,实际由stepping stone实现,上电后s3c2440上的nand控制器自动将前4K复制到s3c2440内置的stepping stone(SRAM)中,然后stepping stone会将这个地址映射到nGCS0(即0地址处),然后开始执行程序,接着由用户的程序实现将nand中的程序复制到SDRAM(即0x30000000),这里有几个疑问,google搜啦很多也没看懂,求教各位大神
①stepping stone将地址映射到0x0,可是这里不是nand的起始地址,已经下载啦用户的程序吗??怎么还可以映射呢????
②实现地址映射从0x0开始执行程序后,用户的程序需要拷贝那些东西,前面的4K需要吗????还是直接拷贝main函数的内容???还是4K以后的内容???
③自动拷贝到stepping stone的程序原理上只能包含启动代码,可是如果启动代码不足4K,那岂不是吧后面的也拷贝进来啦???而这后面的代码如果包含有需要到SDRAM执行的代码,那又该怎么办????
|