韦老大在群里简单说了一下,这是我现在的一点看法,不一定对。
链接地址:应该是修改链接脚本(如果有)中的地址为SDRAM的地址。
重定位代码:应该就是copy_to_sdram这部分代码。
不要初始化SDRAM:在U-Boot中见到过SDRAM的初始化,但是裸机程序里还没太注意到,至少“按键中断点亮LED灯”的裸机程序没有用到初始化SDRAM吧。
对于“按键中断点亮LED灯”这个程序,要想在SDRAM中运行,还要复制中断向量表到SDRAM中,具体怎样做还不是很清楚。发生中断时CPU默认的就是去0地址那一块去查询中断向量表,这一点好像是无法改变的,那只能“改变”这个0地址,那是不是要用到MMU呢?
韦老大在群里简单说了一下,这是我现在的一点看法,不一定对。
链接地址:应该是修改链接脚本(如果有)中的地址为SDRAM的地址。
重定位代码:应该就是copy_to_sdram这部分代码。
不要初始化SDRAM:在U-Boot中见到过SDRAM的初始化,但是裸机程序里还没太注意到,至少“按键中断点亮LED灯”的裸机程序没有用到初始化SDRAM吧。
对于“按键中断点亮LED灯”这个程序,要想在SDRAM中运行,还要复制中断向量表到SDRAM中,具体怎样做还不是很清楚。发生中断时CPU默认的就是去0地址那一块去查询中断向量表,这一点好像是无法改变的,那只能“改变”这个0地址,那是不是要用到MMU呢?
举报