資源描述:
《【嵌入式】2012.03.21嵌入式系統(tǒng)原理與設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、課前復(fù)習(xí):MMU:作用:①邏→物②內(nèi)存保護(hù)內(nèi)核區(qū)用戶(hù)區(qū)內(nèi)核進(jìn)程,數(shù)據(jù)用戶(hù)進(jìn)程,數(shù)據(jù)系統(tǒng)調(diào)用(函數(shù))一級(jí)頁(yè)表40962123120+一級(jí)頁(yè)表基地址寄存器一級(jí)列表項(xiàng):錯(cuò)誤類(lèi)型00段類(lèi)型10粗頁(yè)表類(lèi)型01細(xì)頁(yè)表類(lèi)型11三種地址轉(zhuǎn)換方式:段式轉(zhuǎn)換20-31物理基地址粗頁(yè)表式轉(zhuǎn)換10-31粗頁(yè)表基地址細(xì)頁(yè)表式轉(zhuǎn)換12-31細(xì)頁(yè)表基地址粗頁(yè)表:25628《嵌入式相關(guān)資料》312019120邏輯地址10+3120一級(jí)01粗頁(yè)表頁(yè)表項(xiàng):錯(cuò)誤00大頁(yè)0116-31物基小頁(yè)1012-31物基微小頁(yè)1110-31物基粗頁(yè)表轉(zhuǎn)換:粗頁(yè)表——大頁(yè)轉(zhuǎn)換細(xì)頁(yè)表——小頁(yè)轉(zhuǎn)換粗頁(yè)
2、表——微小頁(yè)轉(zhuǎn)換細(xì)頁(yè)表:10242103120191211偏0邏輯地址31物基1211偏0物理地址10+3110103112《嵌入式相關(guān)資料》轉(zhuǎn)換方式:細(xì)頁(yè)表——大頁(yè)細(xì)頁(yè)表——小頁(yè)細(xì)頁(yè)表——微小頁(yè)轉(zhuǎn)換細(xì)頁(yè)表1024頁(yè)表項(xiàng)210細(xì)頁(yè)表頁(yè)表項(xiàng)與粗頁(yè)表相同細(xì)頁(yè)表——大頁(yè)轉(zhuǎn)換31201915100邏輯地址31物基1615偏0物理地址11+311201重復(fù)6位,沒(méi)個(gè)頁(yè)表項(xiàng)重復(fù)26=64頁(yè)細(xì)頁(yè)表細(xì)頁(yè)表轉(zhuǎn)換成小頁(yè)表:《嵌入式相關(guān)資料》312019111090邏輯地址31物基1211偏0物理地址11+311210311222=410-11位為重復(fù)位細(xì)頁(yè)表轉(zhuǎn)換成微
3、小頁(yè)表:312019100邏輯地址31物基109偏0物理地址11+3112113110復(fù)習(xí)結(jié)束。正文:九、NANDFLASH編程1.NANDFLASH寄存器介紹①NFCONF配置寄存器《嵌入式相關(guān)資料》1510864201211TWRPH1TWRPH0TACLS片選0:選1:不選ECC0:不初始化1:初始化NANDFLASH控制器0:禁用1:使能0x98301001100000110000使能控制器初始化ECC不選030CLE高ALE低WE#低CLE/ALEWE#TACLS+11個(gè)時(shí)鐘周期TWRPH0+14個(gè)時(shí)鐘周期TWRPH1+11個(gè)時(shí)鐘周期《
4、嵌入式相關(guān)資料》②NFCMD命令寄存器70③NFADDR地址寄存器70④NFDATA數(shù)據(jù)寄存器70⑤NFSTAT狀態(tài)寄存器00:busy1:ready6位⑥NFECC錯(cuò)誤糾錯(cuò)碼寄存器701582316ECC#2ECC#1ECC#02.編程:NANDFLASH讀#defineTACLS0#defineTWRPH03#defineTWRPH10//初始化函數(shù)voidnandinit(void){NFCONF=1<<15
5、1<<12
6、1<<11
7、TACLS<<8
8、TWRPH0<<4
9、TWRPH1<<0;}//讀函數(shù)voidnandread(unsign
10、edchar*buf.unsignedlongstart_addr,intsize){inti,j;《嵌入式相關(guān)資料》nand_select_chip();for(i=start_addr;i11、11);}voidwrite_cmd(intcmd){NFCMD=cmd;}voidwrite_addr(unsignedintaddr){NFADDR=addr&0xFF;NFADDR=(addr>>9)&0xFF;NFADDR=(addr>>17)&0xFF;NFADDR=(addr>>25)&0xFF;}#defineBUSY1voidwait_idle(void){while(!(NFSTAT&BUSY));}unsigendcharread_data(void){return(unsignedchar)NFDATA;《嵌入式相關(guān)資料》}
12、voidnand_deselect_chip(void){NFCONF
13、=(1<<11);}神裝工作站嵌入式相關(guān)資料,歡迎下載!《嵌入式相關(guān)資料》