NAND控制器说明文档091103.doc_第1页
NAND控制器说明文档091103.doc_第2页
NAND控制器说明文档091103.doc_第3页
NAND控制器说明文档091103.doc_第4页
NAND控制器说明文档091103.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1.1.1 NAND FLASH接口特性支持JEDEC标准的NAND FLASH;提供一个独立的NAND FLASH片选;支持由NAND FLASH直接启动,硬线实现参数配置;支持8bit NAND FLASH; 支持3级到5级地址;支持硬件和软件ECC;NAND FLASH时序参数可配,默认为最大,若用户需要提高NAND FLASH的效率,可以根据NAND FLASH的特性以及下文所附的时序图改变下列参数;tCLH:CLE Hold时间;tALH:ALE Hold时间;tWH:WE高电平最小时间;tAR:ALE to RE的最小时间;tRP:RE脉冲的最小时间;tREH:RE高电平的最小时间;tWP:WE脉冲的最小时间;tWHR:WE高到RE低的时间;tWB:WE高到采样R/B的最小时间;tRR:R/B高到RE低的最小时间;Page大小支持512byte和2Kbyte;对于512Bytes pagesize NAND FLASH只支持对单个page的操作,即每次写都是一个page,支持三种读命令(全页,半页,校验位)对于2k Bytes pagesize NAND FLASH支持Random data output,暂不支持Random data inputNAND FLASH type支持SLC/MLC访问顺序:先配置DMAC,配置NAND FLASH地址寄存器/控制字寄存器,最后配置命令寄存器,从而完成对NAND FLASH 数据的读写。支持Ready/busy不支持write protect,FPGA测试时,硬件强制对WP位置高;支持NAND FLASH命令列,具体如下(阴影部分不支持):表格 Error! No text of specified style in document.1 512BYTE/PAGE NANDFLASH支持的命令Function1st.Cycle2nd.CycleAcceptable during BusyREAD100/01h-READ250h-READ ID90h-RESETFFh-PAGE PROGRAM80h10hCOPY-BACK PROGRAM00h8AhLOCK2Ah-UNLOCK23h24hLOCK-TIGHT2Ch-READ BLOCK LOCK STATUS7Ah-BLOCK ERASE60hD0hREAD STATUS70h-表格 Error! No text of specified style in document.2 2K BYTE/PAGE NANDFLASH支持的命令Function1st.Cycle2nd.CycleAcceptable during BusyREAD00h30hREAD FOR COPY BACK00h35hREAD ID90h-RESETFFh-PAGE PROGRAM80h10hCACHE PROGRAM80h15hCOPY-BACK PROGRAM00h10hBLOCK ERASE60hD0hRANDOM DATA INPUT85h-RANDOM DATA OUTPUT05hE0hREAD STATUS70h-命令的第一个Cycle由用户程序发出,第二个Cycle由NAND 控制器自动发出。1.1.1.1 NAND FLASH驱动信号时序以1 页 512 byte 为例 ,列出的阴影部分为可配置参数:2k byte 的情况与此类似)图 Error! No text of specified style in document.1 命令字锁存时序图 Error! No text of specified style in document.2 地址锁存时序图 Error! No text of specified style in document.3 数据输入锁存时序图 Error! No text of specified style in document.4 读状态时序图 Error! No text of specified style in document.5 Read1 操作图 1-6 Random Data Output操作图 Error! No text of specified style in document.7 Page Program 操作图 Error! No text of specified style in document.8 块擦除操作图 Error! No text of specified style in document.9 读ID信息操作图 1-10 reset操作1.2 编程接口1.2.1 寄存器列表EMI模块的基址为:0x11000000表格 Error! No text of specified style in document.3 EMI寄存器列表名称偏移地址复位值描述NAND_ADDR10xC00x00000000NAND FLASH 的地址寄存器1NAND_COM0xC40x00000000NAND FLASH 的控制字寄存器NAND_STA0xC80x00000000NAND FLASH 的状态寄存器ERR_ADDR10xCC0x00000000读操作出错的地址寄存器1ERR_ADDR20xD00x00000000读操作出错的地址寄存器2NAND_CONF10xD40x06202857NAND FLASH 的配置器存器1NAND_INTR0xD80x00000000NAND FLASH中断寄存器NAND_ECC0xDC0x00000000ECC校验完成寄存器NAND_IDLE0xE00x00000001NAND FLASH空闲寄存器NAND_CONF20xE40x00114353NAND FLASH 的配置器存器2NAND_ADDR20xE80x00000000NAND FLASH 的地址寄存器2NAND_ID10xEC0x00000000NAND FLASH的ID寄存器NAND_COL_ADDR0xF00x00000000NAND FLASH random操作时的列地址寄存器NAND_RAND_NUM0xF40x00000000NAND FLASH random操作时的数据数量寄存器NAND_ID20xF80x00000000NAND FLASH的ID寄存器NAND_DATA0xFC0x00000000NAND FLASH的数据寄存器1.2.2 寄存器描述SEP0718的NAND控制器只支持一片NAND FLASH(NAND0),以下寄存器说明中,有关NAND1的设置可忽略。1.2.2.1 NAND FLASH地址寄存器1表格 Error! No text of specified style in document.4 NAND FLASH地址寄存器1数据位名称类型复位值描述31:0NAND_ADDRRW0NAND FLASH的基址,NAND FLASH 内部的地址,对于5级地址的NAND FLASH,存放前4个字节的地址。1.2.2.2 NAND FLASH地址寄存器2表格 Error! No text of specified style in document.5 NAND FLASH地址寄存器2数据位名称类型复位值描述31:0NAND_ADDRRW0NAND FLASH的基址,NAND FLASH 内部的地址,存放5级地址的最后一个字节地址。对于3、4级地址的NAND FLASH,无需使用本寄存器。1.2.2.3 NAND FLASH控制寄存器表格 Error! No text of specified style in document.6 NAND控制寄存器数据位名称类型复位值描述31NAND_ENRW0按照地址寄存器和控制寄存器中的内容对NAND FLASH进行操作。一般而言先配地址,然后在配置控制字同时使能此位。操作完成后,此位自动清零。1:NAND使能0:NAND禁用30CMD_NUMRW0表明所用NAND FLASH的命令字的字节数。对于块擦除命令,应设置为一个字节命令,第二个字节命令由EMI内部自己发送,无需用户配置。1:两个字节命令0:一个字节命令29:16RESERVED-15:8NAND_CMD2RW0NAND FLASH的控制字的第二个字节,参考NAND FLASH使用手册。这个位域用于2K/页的NAND FLASH的两个字节的命令。块擦除命令作为一个字节命令来配置,由EMI自动发送第二个字节命令。7:0NAND_CMDRW0NAND FLASH的控制字的第一个字节,参考NAND FLASH使用手册1.2.2.4 NAND FLASH状态寄存器表格 Error! No text of specified style in document.7 NAND状态寄存器数据位名称类型复位值描述30:10RESERVED-9BCH_DECODE_FAILRO0BCH校验失败标志,开始一次新操作时此位清零。1:BCH校验失败,512byte错误超过4bit.0:BCH校验无误。(只在bch校验时有效)8FINISHRO0状态字读完成标志位,当置位NAND_END开始一次新操作时此位清零。1:状态字读完成0:状态字读未完成7:0STATUSRO0读出的状态字1.2.2.5 NAND FLASH错误地址寄存器1(ECC纠错)表格 Error! No text of specified style in document.8 NAND错误地址寄存器1数据位名称类型复位值描述31RESERVED-30:27ERR_BIT2RO0出错的位读出值减1,才是真正的位。如:读出1,则真正出错的位是第0位,依此类推。26RESERVED-25:16ERR_ADDR2RO0第二个512字节出错的地址15RESERVED-14:11ERR_BIT1RO0出错的位读出值减1,才是真正的位。如:读出1,则真正出错的位是第0位,依此类推。10RESERVED-9:0ERR_ADDR1RO0第一个512字节出错地址1.2.2.6 NAND FLASH错误地址寄存器2(ECC纠错)表格 Error! No text of specified style in document.9 NAND错误地址寄存器2数据位名称类型复位值描述31RESERVED-30:27ERR_BIT4R00出错的位读出值减1,才是真正的位。如:读出1,则真正出错的位是第0位,依此类推。26RESERVED-25:16ERR_ADDR4RO0第四个512字节出错的地址15RESERVED-14:11ERR_BIT3RO0出错的位读出值减1,才是真正的位。如:读出1,则真正出错的位是第0位,依此类推。10RESERVED-9:0ERR_ADDR3RO0第三个512字节出错的地址当NAND FLASH的页大小是512字节时,如果某位出错,错误地址只需看“错误地址1” 9:0位;错误位看“错误地址1” 14:11位当NAND FLASH的页大小是2K字节时,则为两个出错地址寄存器对应的四组错误地址和错误位设定优先级,第一组错误优先级最高,第四组最低。为更清楚地说明,我们把四组错误地址和错误位暂时定名为ERR1、ERR2、ERR3、ERR4。某组有错误时,会影响比它优先级低的其他组的“错误地址”的值。即如果ERR1有错误发生,即使ERR2、ERR3、ERR4没有错误,它们的“出错地址”(ERR_ADDR2、ERR_ADDR3、ERR_ADDR4)也会有非零值出现。ERR_BIT1、ERR_BIT2、ERR_BIT3、ERR_BIT4不会受影响。确定各512字节出错的情况按如下方法进行:1)先读出各512字节的出错位和出错地址读出错位,采用如下方法:读错误地址寄存器1和错误地址寄存器2的14:11和30:27位。读出错地址,采用如下方法:第一个512字节的出错地址直接读,即ERR_ADDR1直接读出第二个512字节的出错地址读出后,需与比它优先级高一级的出错地址的读出值异或,得到的值才是真正的值,在这里是与ERR_ADDR1异或。第三个512字节的出错地址读出后,需与比它优先级高一级的出错地址的读出值异或,得到的值才是真正的值,在这里是与ERR_ADDR2异或。第四个512字节的出错地址读出后,需与比它优先级高一级的出错地址的读出值异或,得到的值才是真正的值,在这里是与ERR_ADDR3异或。算出的出错地址再求512的余数,才得到出错字节在本512字节内的相对位置,我们称之为ERR_BYTE_REAL 以便下面引用。各512字节的起始字节为0。2)再按以下几种组合确定出错情况读“中断寄存器”显示没有中断发生,则认为没有错误发生。读“中断寄存器”显示有中断,且读“状态寄存器”显示NAND FLASH状态正常,则认为有错误发生。有错误发生的情况可分为,有一位错、超过一位错两种情况,依据如下:一位错:ERR_ADDR有非零值,ERR_BIT有非零值值。超过一位错: ERR_BIT为非零值,ERR_ADDR(读出值)为零。 或ERR_BYTE_REAL为非零值,DRR_BIT为零。1.2.2.7 NAND FLASH错误地址寄存器1(BCH纠错)表格 Error! No text of specified style in document.10 NAND错误地址寄存器1数据位名称类型复位值描述31:29ERR_NUMRO0512Byte出错个数(超过4个无效)28:16ERR_ADDR2RO0512字节出错的地址及位(0开始)15:13RESERVED-12:0ERR_ADDR1RO0512字节出错地址及位(0开始)1.2.2.8 NAND FLASH错误地址寄存器2(BCH纠错)表格 Error! No text of specified style in document.11 NAND错误地址寄存器2数据位名称类型复位值描述31:29RESERVEDRO0出错的是2k中第几个section(1开始)28:16ERR_ADDR4RO0第四个512字节出错的地址15:13RESERVED-reserved12:0ERR_ADDR3RO0 512字节出错的地址(第三个)BCH纠错用于2K页的MLC NAND FLASH。512字节能纠4位错。出错的位的位置,由错误地址寄存器的13个数据位标示,高10位表示出错的字节的地址,低3位表示出错的位在字节中的位置。1.2.2.9 NAND FLASH配置寄存器1表格 Error! No text of specified style in document.12 NAND配置寄存器1数据位名称类型复位值描述31:28RESERVED-27:24TW2RRW0110在读状态字时,WRITE 到 READ 之间要等待的时钟周期数,0保留。23RESERVED22:20TALERW010在发送地址的时候,从32位的地址寄存器中截取几个地址发出。每段地址为8位长。001:2个010:3个011:4个100:5个其他:保留19:16RESERVED-15NAND_SELRW00:NAND01:NAND114SLC_ECC_ENRW0Ecc 硬件或者软件实现0:硬件实现1:软件实现13:8TWBRW101000等待NAND的r/y反应的时间,发完主控方信息后等待几个周期后,在判断R/Y线信息,决定操作是否完成,0保留。7:4RD_WIDTHRW0101读脉冲的宽度(读操作时,RE保持低电平的周期数)。0保留。3:0WR_WIDTHRW0111写脉冲的宽度(写操作时,RE保持低电平的周期数),0保留。1.2.2.10 NAND FLASH配置寄存器2表格 Error! No text of specified style in document.13 NAND配置寄存器2数据位名称类型复位值描述31RESERVED-30:28TNAND1_IDRW000NAND1 ID read cycle27:25TNAND0_IDRW000NAND0 ID read cycle24NAND1_TYPERW00:SLC1:MLC23NAND0_TYPERW00:SLC1:MLC22PAGE1_SIZERW0Page是512byte还是2Kbyte0:512byte1:2k byte21PAGE0_SIZERW0Page是512byte还是2Kbyte0:512byte1:2k byte20:18TRRRW100Ready到Re为低的时钟周期数,0保留17:12TARRW010100ALE低到Ready的时钟周期数,0保留11:8TREHRW0011读操作时,Re信号保持为高的时钟周期数,0保留7:6CLHRW01CLE信号保持为高的时钟周期数,0保留5:4TALHRW01ALE信号保持为高的时钟周期数,0保留3:2RESERVED-1:0TWHRW11写操作时,We信号保持为高的时钟周期数,0保留为了保证NAND FLASH芯片工作正常,提高工作效率,以上参数请根据NAND FLASH 芯片的手册进行设置,所有参数的值都必须保证在所用芯片的允许范围之内。“NANDx ID read cycle”默认值为0,需根据芯片手册设置后才能正确读出NAND FLASH的ID信息。随着运行频率的不同,还需要调整“读脉冲宽度”和“Re信号保持为高的周期数”的关系;“写脉冲宽度”和“We信号保持为高的周期数”的关系,以保证NAND FLASH读写的正确性。具体如何调整这几参数,以读NAND FLASH为作为参考:图中,tCS由NAND FLASH芯片的特性决定,为一固定值。要使读出数据正确,必须保证RE_n的上升沿落在数据的输出周期范围内,即图中DATA1、DATA2、DATA3。由此看来,必须保证设置的“读脉冲宽度”对应的时间值必须大于tCS。总的规律是,频率越高,“读脉冲宽度”的设的值越大。设置的Re信号保持为高的周期数对应的时间值必须满足所用NAND FLASH芯片对应特性值。写过程与读过程也要做类似调整。1.2.2.11 NAND FLASH中断寄存器表格 Error! No text of specified style in document.14 NAND中断寄存器数据位名称类型复位值描述31:2RESERVED-1MASKRW01:屏蔽中断;0:不屏蔽中断;0INTRW0NAND FLASH中断标志位。在读、写或者擦除出错时,该位置高。当软件响应时,要求将这位写0以清除中断。中断源就是ECC ERROR。1:有中断发生0:无中断发生1.2.2.12 NAND FLASH完成ECC校验寄存器表格 Error! No text of specified style in document.15 ECC完成寄存器数据位名称类型复位值描述31:1RESERVED-0ECC_FINISHRO0ECC完成标志位。当前操作的ECC校验完成,当前位置位;新的操作开始时,此位自动清零。1:ECC校验完成0:ECC校验未完成1.2.2.13 NAND FLASH空闲寄存器表格 Error! No text of specified style in document.16 NAND空闲寄存器数据位名称类型复位值描述31:1RESERVED-0IDLERO1NAND FLASH空闲状态标志位。1:空闲状态0:忙状态1.2.2.14 NAND FLASH ID1寄存器表格 Error! No text of specified style in document.25 NAND空闲寄存器数据位名称类型复位值描述31:24FourthRO0x00根据datasheet23:16ThirdRO0x00根据datasheet15:8DEVICERO0x00NAND FLASH Device code7:0MAKER ROOx00NAND FLASH Maker code1.2.2.15 NAND FLASH ID2寄存器表格 Error! No text of specified style in document.25 NAND空闲寄存器数据位名称类型复位值描述31:8ReservedRO7:0FifthROOx00根据datasheet1.2.2.16 NAND COLUME ADDRESS寄存器表格 Error! No text of specified style in document.26 NAND列地址寄存器数据位名称类型复位值描述31:16RESERVED-15:8MAKERRW0x00NAND FLASH column address27:0DEVICERWOx00NAND FLASH column address11.2.2.17 NAND RANDOM ACCESS NUMBER寄存器表格 Error! No text of specified style in document.27 NAND随机传输数量寄存器数据位名称类型复位值描述31:0NAND_RAND_NUMRW0RANDOM操作时的数据数量,以byte为单位。1.2.2.18 NAND FLASH数据寄存器表格 Error! No text of specified style in document.28 NAND数据寄存器数据位名称类型复位值描述31:0NAND_DATARW0用于访问NAND FLASH 数据的端口,其后面隐藏一个4级深度的缓冲数据FIFO。在对NAND FLASH 进行读写的时候,只需要在有DMA请求的时候,通过DMA 将数据写入这个地址,或者搬出这个地址就可以了。1.3 编程模型硬件ECC纠错起效的前提是在“NAND配置寄存器1”中使能硬件ECC(置低),“NAND配置寄存器2”中配置NAND类型为SLC。BCH纠错的前提是,“NAND配置寄存器1”中不使能硬件ECC(置高),“NAND配置寄存器2”中配置NAND类型为MLC。并且读操作使用双字节命令(见示例)。注意:不能在“NAND配置寄存器2”中配置NAND类型为MLC的同时使能硬件ECC。1.3.1 NAND FLASH操作配置举例本文档列出的驱动函数是以三星K9F1G08U0B的NAND FLASH芯片在25M系统时钟下的驱动函数为例(FPGA测试):NAND FLASH读操作void NAND_conf () /控制器在发出操作命令前需要对当前使用的FLASH的地址级数,页面大小以及适合当/前时钟的读写时序参数作出配置NAND_conf1 0x6402857 ; / 配置寄存器1 的值(具体参数参考所用芯片手册)NAND_conf2 0x714353 ; / 配置寄存器2 的值(具体参数参考所用芯片手册)return ; Void NAND_ADDR()/按照芯片手册的要求配置的地址级数选择需要配置的地址寄存器/当配置5级地址时需要配置地址寄存器2 其低八位有效NAND_ADDR1 = 0x0000_0000 ; /配置地址寄存器1的值(具体地址级数见芯片手册)NAND_ADDR2 = 0x0000_0000 ; /配置地址寄存器2的值(具体地址级数见芯片手册)Return ; Void NAND_Read()/发送读命令 在控制器控制寄存器中写入读命令 以及使能信号NAND_com 0x8000_0000 ; / 读命令 00hReturn ; NAND FLASH写操作/当两个配置寄存器配置完成后,不需要再配,若未完成需要在操作开始前配置Void NAND_ADDR()/按照芯片手册的要求配置的地址级数选择需要配置的地址寄存器/当配置5级地址时需要配置地址寄存器2 其低八位有效NAND_ADDR1 = 0x0000_0000 ; /配置地址寄存器1的值(具体地址级数见芯片手册)NAND_ADDR2 = 0x0000_0000 ; /配置地址寄存器2的值(具体地址级数见芯片手册)Void NAND_Write()/发送读命令 在控制器控制寄存器中学入写命令以及使能信号NAND_com 0x8000_0080 ; / 写命令 80hReturn ;) NAND FLASH擦除操作/当两个配置寄存器配置完成后,不需要再配,若未完成需要在操作开始前配置Void NAND_ADDR()/ 按照芯片手册的要求配置的地址级数选择需要配置的地址寄存器/ 当配置5级地址时需要配置地址寄存器2 其低八位有效NAND_ADDR1 = 0x0000_0000 ; /配置地址寄存器1的值(具体地址级数见芯片手册) /块擦除操作时,寄存器中只存入ROW ADDRESS/不存COLUMN ADDRESS NAND_ADDR2 = 0x0000_0000 ; /配置地址寄存器2的值(具体地址级数见芯片手册)Return ;Void NAND_Erase()/ 发送读命令 在控制器控制寄存器中学入写命令 以及使能信号NAND_com 0x8000_0060 ; / 读命令 60hReturn; 512字节页的SLC NAND FLASH 的半页读操作Vod NAND_Half_Read()write_reg(EMIADDR_NANDADDR,0x00000000);write_reg(EMIADDR_NANDADDR1 , 0x00000000) write_reg(DMACC0SrcAddr,0x110000fc); write_reg(DMACC0DestAddr,0x30002000); write_reg(DMACC0Control,0x10849b); /0000 0000 0001 0000 1001 0100 1001 1011 ,/目的和源传输宽度均为32位,传输尺寸:64+2 write_reg(DMACC0Configuration,0x305);/0000 0000 0000 0000 0000 0011 0000 0011 write_reg(EMIADDR_NANDCOM , 0x80000001 ); while(*(RP)(DMACIntTCStatus) & 0x00000001) = 0x0); *(RP)(DMACIntTCClear) = 0x1; *(RP)(DMACIntTCClear) = 0x0; while(*(RP)(EMIADDR_NANDIDLE) & 0x00000001) = 0x0); printf(HALF PAGE READ PAGE0 ENDn);MLC NAND FLASH读操作Void NAND_MLC_Random_read()/为进行BCH译码纠错,MLC NAND FLASH读采用Random ouput方式/先配置列地址寄存器为页起始地址,NAND随机传输数量寄存器为一页的byte数 write_reg(EMIADDR_NANDCOLADDR , 0x0000000 ); write_reg(EMIADDR_NANDRANDNUM , 0x00000840 );/发送两级命令,低8位是读命令00,9-16位是Random ouput命令05,第30位置1表示/两级命令 write_reg(EMIADDR_NANDCOM , 0xc0000500 );1.3.2 典型应用举例1.3.2.1 从NAND FLASH启动系统1.3.2.1.1 启动方案此方式是接一个NAND FLASH用于启动,方式如下:由DMA配合NAND FLASH控制器去搬运NAND FLASH中的前4kByte代码到ESRAM中,然后由CPU执行启动代码从而将真正的启动代码引入到SDRAM,最后将PC指针指向SDRAM。首先需要改变的是地址映射的机制,系统上电后,在外部硬线NAND BOOT拉高的条件下,DMA即获得总线占有权,根据EMI复位设置从NAND FLASH0搬运启动代码,地址的译码过程由AMBA总线模块完成。其次是NAND FLASH控制器在启动过程中,对数据的读取方式。鉴于NAND FLASH大批量数据读写的特性,往往采用DMA方式对数据进行操作。启动过程中,由CPU直接从FIFO读取数据,在FIFO读空的情况下,将从设备READY信号拉低,等待NAND FLASH中的数据读出。并且在此读取过程中,DMA的请求被屏蔽。1.3.2.1.2 启动代码及流程 include include/hardware_gfd.h AREA BOOT, CODE, READONLY ENTRY;vector table b RESET b DEADLOOP ;UNDEF_INS b DEADLOOP ;UNDEF_INS b DEADLOOP ;UNDEF_INS b DEADLOOP ;UNDEF_INS b DEADLOOP ;UNDEF_INS b DEADLOOP ;UNDEF_INS b DEADLOOP ;UNDEF_INSRESET;*;init all the stacks under all CPU mode;* ldrsp, =SP_SVC ;init sp_svc movRTA, #0xD2;chmod to irq and init sp_irq msrcpsr_cf, RTA ldrsp, =SP_IRQ movRTA, #0XD1;chomod to fiq and init sp_fiq msrcpsr_cf, RTA ldrsp, =SP_FIQ movRTA, #0XD7;chomod to abt and init sp_ABT msrcpsr_cf, RTA ldrsp, =SP_ABT movRTA, #0XDB;chomod to undf and init sp_UNDF msrcpsr_cf, RTA ldrsp, =SP_UND ;chomod to abt and init sp_sys mov RTA, #0xDF;all interrupts disabled msrcpsr_cxsf, RTA ;SYSTEM mode, 32-bit code mode ldrsp, =SP_SYS movRTA, #0XD3;chmod to svc modle, CPSR IRQ bit is disable msrcpsr_c, RTA ;*; enable CPSR IRQ bit;* mrsRTA, cpsr bicRTA, RTA, #0x80 ;set bit7 to zero msrcpsr_c, RTA ;*; config PMU, INTC;* ; config the PMU ldr r0, =0xffffffff ; ldr r1, =0x1000100c ; str r0, r1 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; ldrr1, =0x10001014 ldrr0, =0x1 strr0,r1 mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; ldrr1, =0x10001004 ldrr0, =0X918d ; strr0,r1 mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; mov r0, r0 ; ; config the INTC at the First Step ldr r0, =0xffffffff ; ldr r1, =0x10000008 ; interrupt mask register str r0, r1 ; Interrupt complete clear ; initial the DMA in order to clear the interrupt register ldr r0, =0xffffffff ; ldr r1, =0x11001060 ; DMA transfer error state register ldr r2, =0x11001090 ; DMA transfer finish state register str r0, r1 ; Clear the error state register str r0, r2 ; Clear the finish state register ldr r0, =0x0 ; mov r0, r0 ; Creat the NOP command mov r0, r0 ; Creat the NOP command str r0, r1 ; Clear the error state register str r0, r2 ; Clear the finish state register ;* Nand 读出配置 * ldrr0,=0x110000d4 ldr r1,=0x6406857 str r1,r0; ldr

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论