2410 nand flash启动机制

S3C2410嵌入式系统开发权威中文手册 htmltable {th, td {th {pre {简介:《S3C2410中文手册》是针对三星基于ARM920T内核的S3C2410微处理器的全面技术参考指南,适用于移动设备、消费电子和工业控制等嵌入式系统开发。手册涵盖处理器架构、内存管理、总线口、外设控制、中断机制、电源管理及调试工具等内容,为开发者提供从基础配置到实际应用的完整技术支持。通过本手册,开发者可深入理解S3C2410的硬件特性与系统设计方法,提升嵌入式开发效率与系统稳定性。 阅读详情
    通过设置开发板boot sel跳线选择开发板的启动模式,短接跳线(盖上跳帽),为nand flash启动方式,否则是nor flash启动方式。但是代码可以在nor flash上直接运行,不能在nand flash上运行,为了支持nand flash的bootloader,2410x配置了一片内部的sram buffer 叫做steppingstone 。当启动的时候,nand flash的前4K 的数据将会载入到steppingstone中并且boot code将会在steppingstone中执行。一般来讲,bootcode将会拷贝nand flash 中的内容到SDRAM中,使用硬件ECC,检验NANDflash
数据的正确性。在拷贝完成之后,主函数将在SDRAM中执行。
-----------------------------------------------------------------------------------------------------
被拷贝到steppingstone中的代码会拷贝nand flash中的代码到sdram中,这被拷贝的4K代码不是会被执行两遍吗?
nand flash中的前4k代码会被复制到steppingstone中,到底是哪些代码?是uboot的前4k?
steppingstone中代码地址被映射到nCGS0,而后的代码在sdram中执行,地址为0x30000000,地址如何映射的?
-----------------------------------------------------------------------------------------------------
s3c2410手册内容:
  • NANDflash 模式:支持 读、擦出、编程 NANDflash 存储器
  • 自动boot模式:芯片复位后bootcode被传输到steppingstone中,传输后,bootcode将会在steppingstone中执行。
  • 硬件ECC检测模块(硬件检测,软件纠错)
  • steppingstone 4K 的内部SRAM buffer在NANDflash booting后能被用做其它用途。

自动 boot 模式序列

  1. 完成复位
  2. 当自动boot模式使能,nand flash的前4K的数据拷贝到steppingstone 4K的buffer中去
  3. steppingstone被映射到 nGCS0
  4. CPU 开始在steppingstone的4K内部buffer中执行bootcode

注意:在自动boot模式下,ECC不会被检测。所以,先前的4K的NANDflash数据不应该有位错误


nand flash模式配置

  1. 通过设置nfconf寄存器设置nand flash配置
  2. 向nfcmd寄存器写入nand flash命令
  3. 向nfaddr寄存器写入nand flash地址
  4. 通过查看nand flash状态寄存器nfstat,读写数据。R/nB信号应该在读操作前或编程操作后被检测
autoboot和nandflash 配置
  1. OM[1:0]=00:使能nandflash控制器自动boot模式
  2. nandflash存储器每页大小为512字节
  3. ncon:nandflash存储器地址步数选择  0:3步寻址 1:4步寻址

2410在读写操作时生成512字节ECC同位码。每512字节的数据ECC同位码包含3个字节
24位ECC同位码=18位行同位+6位列同位

ECC控制模块执行以下步骤:
1、当微控制器写数据到NAND时,ECC控制模块生成ECC码
2、当微控制器从nand读数据时,ECC控制模块生成ECC码,并且拿他与先前写时生成的ECC码相比较

注意:
  存在问题:nandflash控制器不能被DMA访问。
  解决方案:使用LDM/STM指令代替DMA。
flash示意图 维修mp3.mp4的时候,教你如何flash的29、30脚,来刷固件,适用于君正,凌阳,炬力等 立即下载

相关推荐

FLASH图解决U盘量产失败U盘复位无法识别硬件等问题.doc

FLASH图解决U盘量产失败U盘复位无法识别硬件等问题.doc

nand flash启动

    2410支持从nand flash启动。通过将flash中最开始的4k代码拷贝到,2410片内的一块不用初始化的sram中运行,该拷贝过程完全由硬件支持,无需软件操作。    Nand Flash控制器有一个特殊的功能,在S3C2410上电后,Nand Flash控制器会自动的把Nand Flash上的前4K数据搬移到4K内部RAM中,并把0x00000000设置内部RAM的起始地址,CP

martree的专栏 6299

单片机写外部flash

调试通过的 单片机写外部flash 绝对没有问题的

ARM开发板启动流程(从NandFlash启动

S3C2440从nandflash启动依赖片内部件SDRAM(Stepping Stone)大小4KB位于ARM空间的0地处。Nandflash不能参与统一编址,在地址空间以外。处理器上电时会自动从Nandflash最前端拷贝出4KB的内容复制到SteppingStone中,着PC指针指向0地址即StepingStone中所保存的第一条指令。除去4KB剩下的代码从Nandf...

weixin_34006468的博客 952

u盘flash芯片

flash芯片脚为39.30脚,即为flash芯片第二面5,6脚 操作步骤为在USB没有通电的情况下先,再插入U盘,找到盘符后断开 两面都有flash的在不带主控那一面。 ...

shan 2034

电信版本-中兴B860AV1.1-T-S905M-B NAND闪存 线刷救砖固件

插双头USB线 NAND芯片的 6 7 针脚 通电 电脑发现驱动安装 松开 进度条走100% 松开 完工 声明:本安卓固件,仅供内部测试和技术交流使用,任何非法商业使用及商业利益冲突带来的法律纠纷,与本人无关,本人概不负责,请下载后24小时内删除,谢谢合作!刷机既有乐趣也有风险,请慎重选择,一切源于刷机造成的后果自负,本人概不负责! 刷机后-盒子设置密码:6321 刷机固件及线刷工具: 链:https://pan....

点我主页,可查看所有固件文章! 1万+

NAND Flash--嵌入式NAND Flash读写技术

NAND Flash控制器 S3C2410板的Nand Flash支持由两部分组成:Nand Flash控制器(集成在S3C2410 CPU)和Nand Flash存储芯片(K9F1208U0B)两部分组成。当要访问Nand Flash中的数据时,必须通过Nand Flash控制器发送命令才能完成。所以Nand Flash相当于S3C2410的一个外设,而不位于它的内存地址区.   

冷饮 2360

嵌入式学习之Nand Flash

Nand Flashflash存储器的一种,其内部采用非线性宏单元模式,为固态大容量内存的实现提供了廉价有效的解决方案。Nand Flash存储器具有容量较大,改写速度快等优点,适用于大量数据的存储,因而在业界得到了越来越广泛的应用,如嵌入式产品中包括数码相机、MP3随身听记忆卡、体积小巧的U盘等。NAND型闪存以块为单位进行擦除操作。闪存的写入操作必须在空白区域进行,如果目标区域已经有数据,必

南城故梦的专栏 1581

nand flash控制器

PIN CONFIGURATION OM[1:0] = 00: Enable NAND flash memory boot NCON: NAND flash memory selection(Normal / Advance) 0: Normal NAND flash(256Words/512Bytes page size, 3/4 address cycle) 1: Advance NA

Ray_ree的博客 1285

SDRAM和NAND Flash的几个注意点

这几天在研究ST2410开发板上的存储器控制部分,现结合自己在实验中碰到的问题和查找的相关资料,谈谈几个注意点。 1)S3C2410与SDRAM的连问题 主要是地址线的连(地址对齐)。查看开发板的原理图,如下图所示: 从图中可以发现,S3C2410的A2-A14依次与SDRAM(K4S561632D芯片)的A0-A12相连。那么为什么是从S3C2410的A2开始呢?通过查看数据手册知

suaoyang的专栏 5839

nand flash简明自学资料——助您理解datasheet重点

有关nand flash的入门基础,内容包括一般的技术常识、基本操作指令和时序图讲解,有助于理解datasheet上跟编程操作有关的重点知识。

U-boot启动详解

cpu/arm920t/start.S /*  *************************************************************************  *  * Jump vector table as in table 3.1 in [1]  *  *********************************************

RopenYuan的专栏 1688

转:uboot源码分析(下)

<br />18)enable_interrupts(),使能中断。由于CONFIG_USE_IRQ没有定义,空实现。<br />     #ifdef CONFIG_USE_IRQ<br />     /* enable IRQ interrupts */<br />     void enable_interrupts (void)<br />     {<br />      unsigned long temp;<br />      __asm__ __volatile__("mrs

luojianbing1的专栏 1009

u-boot启动流程分析

u-boot启动流程分析   u-boot启动流程如下: 1)reset 2)设置CPU模式 3)关闭看门狗/中断 4)设置处理器时钟/片上总线 5)初始化调试串口 5)  MMU/外部总线/SDRAM等初始化 6)ROM代码/数据搬移到RAM 7)

clc4210408的专栏 1092

u-boot链分析

作者:于连庆,华清远见嵌入式培训中心讲师。一个典型的嵌入式系统中,bootloader代码放在NOR FlashNAND Flash里面,系统加电或复位后,首先运行这段代码。通常把bootloader代码放在NOR Flash里面,NAND Flash由于硬件原因不能随机访问,需要特殊的硬件支持机制。bootloader代码除了初始化以外就是搬运程序,即地址重定位(relocate)。我

华清远见 | 程序员的学习天堂 696
上一篇: 想成为嵌入式程序员应知道的0x10个基本问题(转载)
下一篇: 嵌入式系统 BootLoader 技术内幕
martree
博客等级 码龄19年 15粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值