主题 : VBOOT移植问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 1372
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2008-08-22
最后登录: 2011-07-24
楼主  发表于: 2011-07-19 14:20

 VBOOT移植问题

我目前一个项目使用2440+一片SDRAM(16位),nand为K9F1208,没有NOR。因为内存是16位的,所以把vboot中的相应寄存器做了修改,主要是以下两个:

#define vBWSCON            0x11111110 //原来的值是0x22111110
#define vBANKSIZE        0xB0      //原来的值是0xB2

其他未做修改(个别板子用到的GPIO口设置了初值)。VBOOT可以启动,但是反复重启。

我在main()函数中增加了打印信息:
void Main(void)
{
    MMU_EnableICache();
    MMU_EnableDCache();

    Port_Init();
    
    
    NandInit();
    
    Uart_SendString("vboot begining...\n\r");   /////

    Uart_SendString("22222222222222...\n\r");     //////
    
        
    if (g_page_type == PAGE_UNKNOWN) {
        Uart_SendString("\r\nunsupport NAND\r\n");
        for(;;);
    }
  
    GetParameters();
    
    Uart_SendString("load Image of Linux...\n\r");
    ReadImageFromNand();
}
启动后发现VBOOT执行Uart_SendString("vboot begining...\n\r")语句,在串口正确输出打印信息后,会重新启动。不会执行到Uart_SendString("22222222222222...\n\r");

不知道什么原因,忘大侠指导!
级别: 新手上路
UID: 1372
精华: 0
发帖: 8
金钱: 40 两
威望: 8 点
综合积分: 16 分
注册时间: 2008-08-22
最后登录: 2011-07-24
1楼  发表于: 2011-07-19 14:57
已解决,,vBANKSIZE改成0xB1就ok了!
#define vBANKSIZE        0xB1