蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOC文档下载
 

从nandflash启动uboot的基本原理.doc

  • 资源ID:588475       资源大小:35.00KB        全文页数:7页
  • 资源格式: DOC        下载权限:游客/注册会员    下载费用:8积分 【人民币8元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要8积分 【人民币8元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

从nandflash启动uboot的基本原理.doc

从NANDFLASH启动UBOOT的基本原理CITEDFROMHTTP//HIBAIDUCOM/ZENGZHAONONG/BLOG/ITEM/4B901EE9B5EF343CB90E2D16HTML前4K的问题如果S3C2410被配置成从NANDFLASH启动配置由硬件工程师在电路板设置,S3C2410的NANDFLASH控制器有一个特殊的功能,在S3C2410上电后,NANDFLASH控制器会自动的把NANDFLASH上的前4K数据搬移到4K内部RAM中,并把0X00000000设置内部RAM的起始地址,CPU从内部RAM的0X00000000位置开始启动。这个过程不需要程序干涉。程序员需要完成的工作,是把最核心的启动程序放在NANDFLASH的前4K中。启动程序的安排由于NANDFLASH控制器从NANDFLASH中搬移到内部RAM的代码是有限的,所以在启动代码的前4K里,我们必须完成S3C2410的核心配置以及把启动代码UBOOT剩余部分搬到RAM中运行。UBOOT源码不支持从NANDFLASH启动,可是S3C2410支持从NANDFLASH启动,开发板SBC2410X加电后S3C2410将NANDFLASH的前4K保存有UBOOT的部分功能拷贝功能把NANDFLASH中的内容拷贝到SDRAM拷贝到SRAMS3C2410芯片内的SRAM。这就需要修改UBOOT源码,增加UBOOT的功能使UBOOT在得到执行权后能够将其自身拷贝到开发板上SDRAM中,以便处理器能够执行UBOOT。CDUBOOT116在BOARD/BKS2410加入NANDFLASH读函数,建立NAND_READC,加入如下内容COPYFROMVIVIVIBOARD/SBC2410X/NAND_READCINCLUDEDEFINE__REGBXVOLATILEUNSIGNEDCHARXDEFINE__REGIXVOLATILEUNSIGNEDINTXDEFINENF_BASE0X4E000000DEFINENFCONF__REGINF_BASE0X0DEFINENF__REGBNF_BASE0X4DEFINENFADDR__REGBNF_BASE0X8DEFINENFDATA__REGBNF_BASE0XCDEFINENFSTAT__REGBNF_BASE0X10DEFINEBUSY1INLINEVOIDWAIT_IDLEVOID{INTIWHILENFSTATI9NFADDRI17NFADDRI25WAIT_IDLEFORJ0JCOBJSSBC2410XOFLASHONAND_READOVICPU/ARM920T/STARTS从NANDFLASH中把数据拷贝到RAM,是由COPY_MYSELF程序段完成1在“LDRPC,_START_ARMBOOT“之前加入223行IFDEFCONFIG_S3C2410_NAND_BOOTBLCOPY_MYSELFJUMPTORAMLDRR1,ON_THE_RAMADDPC,R1,0NOPNOP1B1BINFINITELOOPON_THE_RAMENDIF2在“_START_ARMBOOTWORDSTART_ARMBOOT“之后加入IFDEFCONFIG_S3C2410_NAND_BOOTCOPY_MYSELFMOVR10,LRRESETNANDMOVR1,NAND_CTL_BASELDRR2,0XF830INITIALVALUESTRR2,R1,ONFCONFLDRR2,R1,ONFCONFBICR2,R2,0X800ENABLECHIPSTRR2,R1,ONFCONFMOVR2,0XFFRESETCOMMANDSTRBR2,R1,ONFMOVR3,0WAIT1ADDR3,R3,0X1CMPR3,0XABLT1B2LDRR2,R1,ONFSTATWAITREADYTSTR2,0X1BEQ2BLDRR2,R1,ONFCONFORRR2,R2,0X800DISABLECHIPSTRR2,R1,ONFCONFGETREADTOCALLCFUNCTIONSFORNAND_READLDRSP,DW_STACK_STARTSETUPSTACKPOINTERMOVFP,0NOPREVIOUSFRAME,SOFP0COPYVIVITORAMLDRR0,UBOOT_RAM_BASEMOVR1,0X0MOVR2,0X20000BLNAND_READ_LLTSTR0,0X0BEQOK_NAND_READIFDEFCONFIG_DEBUG_LLBAD_NAND_READLDRR0,STR_FAILLDRR1,SERBASEBLPRINTWORD1B1BINFINITELOOPENDIFOK_NAND_READIFDEFCONFIG_DEBUG_LLLDRR0,STR_OKLDRR1,SERBASEBLPRINTWORDENDIFVERIFYMOVR0,0LDRR1,UBOOT_RAM_BASEMOVR2,0X4004BYTES10244KBYTESGO_NEXTLDRR3,R0,4LDRR4,R1,4TEQR3,R4BNENOTMATCHSUBSR2,R2,4BEQDONE_NAND_READBNEGO_NEXTNOTMATCHIFDEFCONFIG_DEBUG_LLSUBR0,R0,4LDRR1,SERBASEBLPRINTHEXWORDLDRR0,STR_FAILLDRR1,SERBASEBLPRINTWORDENDIF1B1BDONE_NAND_READIFDEFCONFIG_DEBUG_LLLDRR0,STR_OKLDRR1,SERBASEBLPRINTWORDENDIFMOVPC,R10CLEARMEMORYR0STARTADDRESSR1LENGTHMEM_CLEARMOVR2,0MOVR3,R2MOVR4,R2MOVR5,R2MOVR6,R2MOVR7,R2MOVR8,R2MOVR9,R2CLEAR_LOOPSTMIAR0,{R2R9}SUBSR1,R1,84BNECLEAR_LOOPMOVPC,LRENDIFCONFIG_S3C2410_NAND_BOOT3在文件的最后加入ALIGN2DW_STACK_STARTWORDSTACK_BASESTACK_SIZE4VIINCLUDE/CONFIGS/SBC2410XH1将CONFIG_SERVERIP设置为主机IP这样以后在通过网络下载内核映像时,就不用就该IP地址了。这一项修改与NANDFLASH没有关系DEFINECONFIG_SERVERIP19216802402在文件末尾添加如下内容/NANDFLASHBOOT/DEFINECONFIG_S3C2410_NAND_BOOT1DEFINESTACK_BASE0X33F00000DEFINESTACK_SIZE0X8000DEFINEUBOOT_RAM_BASE0X33F80000/NANDFLASHCONTROLLER/DEFINENAND_CTL_BASE0X4E000000DEFINEBINT_CTLNB__REGINT_CTL_BASENB/OFFSET/DEFINE

注意事项

本文(从nandflash启动uboot的基本原理.doc)为本站会员(战狼3)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开