2440从NANDFlash启动之bootloader运行以前

发布者:落霞与孤鹜最新更新时间:2016-11-27 来源: eefocus关键字:NANDFlash启动  bootloader  运行以前 手机看文章 扫描二维码
随时随地手机看文章

一直对2440上电以后怎么从nandflash中启动不是很清楚,闲来无事看了下s3c2440的用户手册,看到下面这样一段话:
     S3C2440A boot code can be executed on an external NAND flash memory. In order to support NAND flash bootloader, the S3C2440A is equipped with an internal SRAM buffer called "Steppingstone". When booting, the first 4KBytes of the NAND flash memory will be loaded into Steppingstone and the boot code loaded into Steppingstone will be executed.
     Generally, the boot code will copy NAND flash content to SDRAM. Using hardware ECC generating, the NAND flash data validity will be checked. Upon the completion of the copy, the main program will be executed on the SDRAM.
     虽然大家都看得懂上面的eng,但是为了自己以后看得方便一些,在此稍微解释一下:
     2440的启动代码可以从外部的nandflash上执行。为了能支持nboot,2440需要带有一个叫做steppingstone的内部sram缓 冲区。在启动加载的时候,nandflash的前4k的内容(nboot部分)要被先load到steppingstone中去(此时 steppingstone被映射为物理地址的0x0,复位后执行的第一条指令就是从这里取的),并且接着就是在steppingstone中去执行该启 动代码。这部分代码(nboot)的作用是会将nandflash中的bootloader step2部分拷贝到sdram中去,并跳到sdram中去执行以加载内核(nk)。
     nboot从nandflash被load到 steppingstone中的过程为:在上点的时候,nandflash控制器通过几个引脚的状态(NCON-Adv flash;GPG13-Page size;GPG14-Address cycle;GPG15-Bus width)来得到nandflash的相关信息,之后nandflash控制器就会自动load nandflash中前4k的启动代码到steppingstone中去,并在其中执行了。

关键字:NANDFlash启动  bootloader  运行以前 引用地址:2440从NANDFlash启动之bootloader运行以前

上一篇:u-boot-在2440上的移植详解(五)
下一篇:2440开发板启动代码学习

推荐阅读最新更新时间:2024-03-16 15:22

JLINK+ADS+mini2440配置///配置J-Link为mini2440烧写bootloader
使用ADS1.2的时候进入AXD调试环境回出现“ the session file could not be loaded” 解决方案: 1:将工程文件放在不包含中文路径的目录下。 2:设置AXD- confing Interface 中general中的save and load default session前面的选项去掉。 一:在AXD- options - configure interface 中的session file 中载入初始化文件,具体内如如下: Setmem 0x53000000 0x00000000 32 Setmem 0x4A000008 0xFFFFFFFF 32 Setmem
[单片机]
基于S3C2440的测试系统数字稳压电源设计
0 引言 直流稳压电源是一种比较常见的电子设备,一直被广泛地应用在电子电路、实验教学、科学研究等诸多领域。近年来,嵌入式技术发展极为迅速,出现了以单片机、嵌入式ARM为核心的高集成度处理器,并在自动化、通信等领域得到了广泛应用。电源行业也开始采用内部集成资源丰富的嵌入式控制器来实现数字稳压电源的控制系统。数字稳压电源是用脉宽调制波(PWM)来控制MOS管等开关器件的开通和关闭,从而实现电压电流的稳定输出。数字稳压电源还具备自诊断功能,能实现过压过流保护、故障警告等。 相比之前的模拟电源,数字稳压电源大大减少了在模拟电源中常见的误差、老化、温度漂移、非线性不易补偿等诸多问题,提高了电源的灵活性和适应性。将SAMSUNG公司的嵌
[单片机]
基于S3C<font color='red'>2440</font>的测试系统数字稳压电源设计
ARM裸机开发bootloader时钟初始化ARM跑快了
一、概念解析 1、什么是时钟脉冲信号,起什么作用? 时钟脉冲信号时有一定电压幅度和一定的时间间隔并连续发出的脉冲信号。时钟脉冲信号是时序逻辑的基础,它用于决定逻辑单元中的状态何时更新。数字芯片中的众多晶体管都工作在开关状态,它们的导通和关断动作都是按照时钟信号的节奏进行的。也就是说嵌入式系统是按照时钟来安排CPU的任务。 2、时钟脉冲信号的频率是指单位时间内产生的时钟脉冲个数。 3、如何产生时钟信号? 时钟信号一般有晶振或晶振与PLL产生。 晶振的制造就是用石英晶体经精密切割磨削并镀上电极焊上引线就做成了。这种晶体如果给它通上电,它就会产生机械振荡,其频率和他们的形状,材料,切割方向等密切相关。 由于石英晶体化学性能非常
[单片机]
ARM裸机开发<font color='red'>bootloader</font>时钟初始化ARM跑快了
2440裸机》基础知识
1.启动过程 从两种方式来简单介绍启动方式,分别是Nor启动和Nand启动 Nor启动 使用Nor启动时,NorFlash的基地址为0,片内RAM地址为0x4000,0000 CPU读出Nor上第一个指令(前4个字节)执行。 Nand启动 使用Nand启动时,片内RAM的基地址为0,NorFlash是不可访问的状态。 2440的硬件把Nand前4K内容搬移到片内RAM中,然后CPU从0地址取出第一条指令执行。 CPU取第一条指令都是从0地址去取,只不过不同的启动方式,对应的0地址是不同的。有了第一条指令并执行,剩下的也就像多米诺骨牌一样。 2.汇编知识 LDR 读内存 LDR R0 , 类似C语言中,R0 = *R1,
[单片机]
《<font color='red'>2440</font>裸机》基础知识
S3C2440的Keil启动文件S3C2440.s添加中断配置
前言 本文主要描述如何在Keil自带的S3C2440.s文件中添加中断配置及中断地址映射,从而可以在中断产生时跳转到用户代码中的中断服务函数。目前在TQ2440开发板是实测可用。 工程源代码下载 本文所有代码都是截取代码,“…”代表其还有上下文。可根据代码中上下文的残缺部分找到该代码添加的位置。 一,添加中断相关寄存器地址符号映射 因为原始S3C2440.s文件中不含中断相关寄存器的地址,所以需要在开头添加: ... ; * RAM_INTVEC: when set the startup code copies exception vectors ; * from execution address to
[单片机]
s3c2440裸机-I2c编程-2.i2c控制器
1.I2c主控与从设备关系 对于写操作,主控作为transmitter,从设备作为receiver 对于读操作,主控作为receiver, 从设备作为transmitter 2.I2c控制器 2.1总框图 Pclk = 50Mhz, 经过prescaler分频,可以得到SCL。 IICSTAT:发出S(start)信号或者P(stop)信号。 Data Bus可以把数据写入IICDS寄存器,然后会自动产生SCL,并且会将8位数据从SDA同步给slave dev, 在数据发送出去后,在第9个SCL时钟,会受到slave dev的ack应答,可以通过查询IICSTAT来判断是否有ACK回应。 当slave dev回应ACK后,
[单片机]
s3c<font color='red'>2440</font>裸机-I2c编程-2.i2c控制器
S3C2440运行裸机小程序需烧录到NAND Flash
对于韦东山的S3C2440开发板,当运行LED等简单的小程序时,必须烧录到NAND Flash,原因如下: (1)NOR Flash虽然可以向内存一样进行读操作,但不可以像内存一样进行写操作,所以假如要从NOR Flash启动,一般先在代码的开始部分使用汇编指令初始化外接的内存器件(外部RAM),然后将代码复制到外存中,最后跳转到外存中继续执行。(这段初始化代码比较复杂,需要后面再学习)。 (2)S3C2440中有称为“Steppingstone”的4KB内存RAM,当选择从NAND Flash启动CPU时,CPU会通过内部的硬件将NAND Flash开始的4KB字节数据复制到这4KB的内部RAM中(此时内部RAM的起始地址为
[单片机]
三星S3C2440的GPIO输出驱动led
从今天开始stm32先告一段落了,开始学习ARM920T架构三星公司的S3C2440,今天是头一天学习,感觉难度要比STM32的难度大得多,主要还是涉及到操作系统就脑袋疼,和学习51和stm32时的步骤一样,第一次都是先从IO输出学起,与stm32的IO相比,S3C2440的IO功能起码现在感觉不如stm32,和stm32一对比stm32若要驱动IO,必须先要开启对应的IO时钟,而且输出速率可为10M 3M50M,并可以配置为4种输出模式,三种输入模式,并且每个IO都能够用来产生外部中断,相比之下S3C2440的IO共130个,使用之前并不需要开启对应的IO时钟,从低功耗来说,stm32简直太强大了,而且只有24个管脚能产生外部中
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved