也许是我的问题太过弱智了,都没人看一眼,自己顶一下好了
我基本弄清楚了过程,首先,发生IRQ中断时,处理器是将PC强制设为0x00000018,但是由于MMU的干预,这个地址会被映射到0x30000018处,经过b HandlerIRQ进入一个宏段,在此会继续跳到另外一个段处,在这里根据偏移值就可以查找到具体的中短服务地址,C中只需要做好对接即可。
启动代码中首先是用NAND读写函数将NADN0地址开始的4M代码搬运到SDRAM中,然后进行加载域和运行域的搬移,包括RO RW ,ZI全部初始化为0,。我发现将搬运代码的函数注释掉,然后编译下载,程序依然没有任何问题,但是如果不进行加载域和运行域的搬移,程序上电后没有任何反应,这个怎么回事?难道搬运4M代码的工作可以取消?还不懂
|