基于SMDK2450 BSP的nandflash layout简析

本文介绍了SMDK2450如何从nandflash启动,重点解析了Block0的nboot、Block1的TOC结构以及IMAGE_DESCRIPTOR的详细内容。TOC用于存储eboot和NK的索引,IMAGE_DESCRIPTOR描述了每个image的加载和启动信息。nboot会将eboot加载到特定RAM地址并跳转执行,而eboot的OAL进入点地址在NK.bin中可找到。
摘要由CSDN通过智能技术生成

背景

2450从nandflash启动,CPU会自动拷贝nandflash前8K到CPU内部SRAM中

 

描述

Block0烧录nboot(steppingstone),主要任务从nandflash上拷贝eboot到地址为0x30038000(物理地址,因为MMU disabled)的RAM上,然后跳转到eboot进入点函数startup中.

Block1烧录TOC,就是image(eboot,NK)的索引,可以看看它的结构

typedef struct _TOC {
    DWORD               dwSignature;

   //怎样启动image,分别设置ImageIndex和ConfigFlags使用哪一个image以什么方式启动(download还是directly launch)
    BOOT_CFG            BootCfg;

    // image描述符索引(包含了eboot,NK)
    IMAGE_DESCRIPTOR    id[MAX_TOC_DESCRIPTORS];

    CHAININFO           chainInfo;
} TOC, *PTOC;   

typedef struct _IMAGE_DESCRIPTOR {

    // File version info
    DWORD dwVersion;                    // e.g: build number
    DWORD dwSignature;          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值