freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于cortex-a8nandflash的設(shè)計(jì)與現(xiàn)實(shí)本科論文(編輯修改稿)

2025-07-03 15:33 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 FFFF 128MB SROM Bank 0 0x9800_0000 0x9FFF_FFFF 128MB SROM Bank 0 0xA000_0000 0xA7FF_FFFF 128MB SROM Bank 0 0xAB00_0000 0xAFFF_FFFF 128MB SROM Bank 0 0xC000_0000 0xCFFF_FFFF 256MB MP3_SRAM output 0xD000_0000 0xD000_FFFF 64KB IROM 0xD001_0000 0xD001_FFFF 64KB Reserved 0xD002_0000 0xD003_7FFF 96KB IRAM 0xDB00_0000 0xDFFF_FFFF 512MB DMZ ROM (二) 完整的啟動(dòng)序列 系統(tǒng)剛啟動(dòng)時(shí),會(huì)運(yùn)行 IROM 中的固化代碼,進(jìn)行一些通用的初始化,具體步驟包括: 第一步 關(guān)閉看門狗; 第二步 初始化 icache; 第三步 初始化堆棧; 第四步 設(shè)置時(shí)鐘; 第五步 判斷啟動(dòng)設(shè)備 (nand/sd/onenand 等 ),檢查校驗(yàn)和,然后從啟動(dòng)設(shè)備中拷貝前 16K 的 代碼到 IRAM 的 0xD0020xx0 處; 第六步 若是安全模式啟動(dòng),則進(jìn)行完整性檢查; 第七步 跳轉(zhuǎn)到 IRAM 的 0xD0020xx0 地址上繼續(xù)運(yùn)行; (三) 使用 MiniTools 燒寫裸機(jī)程序 用裸機(jī)程序燒寫到 sd卡上,然后通過(guò) sd啟動(dòng)來(lái)運(yùn)行我們的程序,這樣做缺點(diǎn)太多。 MiniTools 是一個(gè)燒寫下載工具,其簡(jiǎn)要特性如下: 中國(guó)傳媒大學(xué)南廣學(xué)院本科畢業(yè)論文 7 1) 無(wú)需串口連接 : MiniTools 完全采用 USB 線傳輸數(shù)據(jù),無(wú)需串口,連接更簡(jiǎn)單,桌面更整潔。 2) 真正一鍵燒寫: MiniTools 真正實(shí)現(xiàn)一鍵燒寫,燒寫文件可單選,也 可全選,不僅可以燒寫系統(tǒng) (android, linux, wince),還是燒寫裸機(jī),下載和燒寫一氣呵成。 3) 快速啟動(dòng) : 以前的燒寫方式需要不斷來(lái)回插拔 sd 卡,這樣不但容易損壞卡座,而且效率低下;現(xiàn)在使用 MiniTools,所有操作均在 PC上完成,無(wú)需拔卡,無(wú)需接觸開發(fā)板,立馬查看到程序的運(yùn)行效果,可以令開發(fā)更加快速方便。 4) 集成串口助手 :借鑒了國(guó)內(nèi)其他類似串口軟件功能,更加方便實(shí)用,比如可自動(dòng)定時(shí)發(fā)送任何數(shù)據(jù)或文件等。 5) 支持 32/64bit電腦: MiniTools安裝程序已經(jīng)包含 32/64bit電腦所需的 USB下載驅(qū)動(dòng),可通吃所有 Windows 平臺(tái),如 WinXP, Win7 等;底層驅(qū)動(dòng)采用 Google 官方提供的 Fastboot,因此更加穩(wěn)定可靠,不會(huì)藍(lán)屏。 6) 跨平臺(tái):采用 Qt4 開發(fā),可以支持各種 Windows 系統(tǒng)或 Linux 發(fā)行版。 燒寫有兩種方式:第一種方式下載到 DRAM,第二種方式下載到 NAND FLASH, 方式一 下載到 DRAM,其設(shè)置方式如圖 5: 圖 5 平臺(tái)工具 先選中上方的 ” Download and run“,設(shè)置好下載地址,并且需要將地址發(fā)送給cpu“ RAMAddress(Download/Loading)”,選擇要運(yùn)行的裸機(jī)程序, 再點(diǎn)擊“下載運(yùn)行”就可以了。 MiniTools 首先會(huì)把裸機(jī)程序下載到 DRAM 的地址 0x20xx0000 處,然后跳中國(guó)傳媒大學(xué)南廣學(xué)院本科畢業(yè)論文 8 轉(zhuǎn)到該地址上運(yùn)行裸機(jī)程序,所以只要 PC 上一點(diǎn)擊“下載運(yùn)行”就可以馬上看到開發(fā)板上裸機(jī)程序的運(yùn)行效果了。 對(duì)于 Mini210S 開發(fā)板, MiniTools 支持的裸機(jī)程序下載地址是 :0x20xx0000~0x3F5FFFFF(共 502M) ,剩下的 0x3F600000~0x3FFFFFFF 的 10M空間用來(lái)運(yùn)行 Superboot, 502M 的空間足夠讓我們運(yùn)行任何裸機(jī)程序了。 注意:不同的 CPU 會(huì)有不同的起始地址,在此為 0x20xx0000 。 第二種方式是下載到 NAND FLASH,其設(shè)置方式如下圖 6: 圖 6 平臺(tái)工具 選中“ Install to NAND Flash”,設(shè)置好加載地址“ RAM Address”,選擇使用 Superboot加載裸機(jī)程序,并選擇要加載的裸機(jī)程序,點(diǎn)擊“開始燒寫”; MiniTools首先把Superboot和裸機(jī)程序都燒寫到 NAND FLASH中,然后點(diǎn)擊“快速啟動(dòng)”,這時(shí) NAND FLASH中的 Superboot會(huì)把裸機(jī)程序拷貝到 DRAM的 0x20xx0000地址處,然后跳轉(zhuǎn)到該地址上運(yùn)行裸機(jī)程序,這樣我們就可以在開發(fā)板上觀察裸機(jī)的運(yùn)行效果了。 上面兩種方式都可以燒寫運(yùn)行我們的裸機(jī)程序,由于方式一較為便捷,并且不會(huì)損壞 NAND Flash中的原有數(shù)據(jù),本設(shè)計(jì)所涉及的所有的程序都統(tǒng)一采用了第一種方式進(jìn)行燒寫和運(yùn)行。 四、 NAND FLASH 驅(qū)動(dòng)的具體的實(shí)現(xiàn) (一) NAND FLASH 壞塊的處理 中國(guó)傳媒大學(xué)南廣學(xué)院本科畢業(yè)論文 9 NAND FLASH 的固有原因 ,壞塊不可避免 ,所以我們的驅(qū)動(dòng)必須具有壞塊管理功能 ,壞塊又分為出廠壞塊和 使用中產(chǎn)生的壞塊 ,NAND FLASH 一般出廠時(shí)會(huì)有壞塊,生產(chǎn)廠商會(huì)標(biāo)記出出廠壞塊 ,對(duì)應(yīng)的標(biāo)記位在初始化的過(guò)程中會(huì)被讀出來(lái) ,不同廠商的壞塊標(biāo)記也不都相同 ,為了考慮兼容性 ,我們的驅(qū)動(dòng)必須考慮常用的所有情況 ,如果是壞塊就會(huì)記錄下來(lái) ,以后的使用中不再使用這個(gè)壞塊 。當(dāng)我們?cè)谌粘U2僮鬟^(guò)程中 ,出現(xiàn)三次失敗對(duì)一個(gè)壞塊的操作 ,我們就認(rèn)為這個(gè)塊壞了 ,這就是使用中壞塊 ,將這個(gè)塊標(biāo)記為壞塊 ,并從預(yù)留的塊中找一塊來(lái)替換它 ,預(yù)留塊是事先預(yù)留用來(lái)進(jìn)行壞塊替換的塊 ,預(yù)留塊不直接參加讀寫 ,所以預(yù)留塊的大小不計(jì)算在整個(gè) NAND FLASH 可以使用的存儲(chǔ)空間中 ,這樣設(shè)計(jì)的原因是避免了因?yàn)閴膲K的出現(xiàn)而造成的存儲(chǔ)容量的不斷減小 ,對(duì)于用戶來(lái)說(shuō)更容易接受 ,預(yù)留塊的多少可以在驅(qū)動(dòng)中根據(jù)需求來(lái)調(diào)整。在我們的設(shè)計(jì)中 ,我們預(yù)留 Flash 芯片容量, 10%的容量大小的塊來(lái)作為壞塊替換預(yù)留塊。 對(duì)于 MLC規(guī)格的 NAND FLASH芯片 ,讀操作也可能給塊中的數(shù)據(jù)帶來(lái)不確定性 ,這種干擾稱作讀操作帶來(lái)的干擾 ,為了避免這種干擾 ,我們會(huì)根據(jù)芯片說(shuō)明書中建議的讀次數(shù) ,當(dāng)一個(gè)塊的讀次數(shù)達(dá)到了建議值 ,我們會(huì)將該塊的內(nèi)容擦除掉再重新寫回,所以在驅(qū)動(dòng)中我們也必須保留每個(gè)塊的讀次數(shù)。 (二) 相關(guān)程序代碼分析 代碼中 NAND Flash 初始化函數(shù) nand_init(),代碼如下 void nand_init(void) { //1. 配置 NAND Flash NFCONF =(TACLS12)|(TWRPH08)|(TWRPH14)|(03)|(02)|(11)|(00)。 NFCONT =(018)|(017)|(016)|(010)|(09)|(08)|(07)|(06)|(0x31)|(10)。 // 2. 配置引腳 MP0_1CON = 0x22333322。 MP0_2CON = 0x00002222。 MP0_3CON = 0x22222222。 // 3. 復(fù)位 nand_reset()。 } 共 3 個(gè)步驟: 第一步 配置 NAND FLASH,主要是設(shè)置 NFCONF 和 NFCONT 兩個(gè)寄存器。 第二步 配置引腳,用于 NAND Flash 相關(guān)功能; 第三步 復(fù)位 ;復(fù)位代碼如下: 中國(guó)傳媒大學(xué)南廣學(xué)院本科畢業(yè)論文 10 static void nand_reset(void) { nand_select_chip()。 nand_send_cmd(NAND_CMD_RES)。 nand_wait_idle()。 nand_deselect_chip()。 } NAND Flash 的復(fù)位操作共 4 個(gè)步驟: ( 1) 發(fā)片選,實(shí)質(zhì)就是 NFCONT amp。= ~(11)。往 NFCONT 的 bit[1]寫 0; ( 2) 發(fā)命令復(fù)位命令 NAND_CMD_RES (0xff)。實(shí)質(zhì)就是 NFCMMD = cmd。將命令寫到NFCMMD 寄存器; (3) 等待 NAND Flash 就緒;實(shí)質(zhì)就是 while( !(NFSTAT amp。 (BUSY4)) ),讀 NFSTAT的 bit[4]檢查 NAND Flash 是否就緒; (4) 取消片選,實(shí)質(zhì)就是 NFCONT |= (11)。 往 NFCONT 的 bit[1]寫 1; Flash 讀 ID 函數(shù) nand_read_id(),核心代碼如下 void nand_read_id(void) { nand_id_info nand_id。 // 1. 發(fā)片選 nand_select_chip()。 // 2. 讀 ID nand_send_cmd(NAND_CMD_READ_ID)。 nand_send_addr(0x00)。 nand_wait_idle()。 = nand_read()。 = nand_read()。 = nand_read()。 = nand_read()。 = nand_read()。 printf(NDFH:mcode=%x,devicecode=%x\r\n,)。 nand_deselect_chip()。 } 中國(guó)傳媒大學(xué)南廣學(xué)院本科畢業(yè)論文 11 Device DeviceCode(2nd Cycle) 3rd Cycle 4th Cycle 5th Cycle K9K8G08U0A D3h 51h 95h 58h K9WAG08U1A Same as K9K8G08U0A in it K9NBG08U5A 圖 7 NAND Flash 讀 ID操作 根據(jù)上圖 7, NAND Flash 的讀 ID 操作共 5 個(gè)步驟: 第一步 發(fā)片選; 第二步 發(fā) 讀 ID 命令 NAND_CMD_READ_ID(0x90); 第三步 發(fā)地址 0x00;調(diào)用函數(shù) nand_send_addr(); 第四步 等待 NAND Flash 就緒; 第五步 讀 ID;調(diào)用了 nand_read()函數(shù),實(shí)質(zhì)就是讀 NFDATA 寄存器; 下面是 nand_send_addr()的代碼: { // 列地址,即頁(yè)內(nèi)地址 col = addr % NAND_PAGE_SIZE。 // 行地址,即頁(yè)地址 row = addr / NAND_PAGE_SIZE。 // Column Address A0~A7 NFADDR = col amp。 0xff。 for(i=0。 i10。 i++)。 // Column Address A8~A11 NFADDR = (col 8) amp。 0x0f。 for(i=0。 i10。 i++)。 // Row Address A12~A19 NFADDR = row amp。
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1