<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > eMMC燒錄時(shí)需注意的寄存器配置

eMMC燒錄時(shí)需注意的寄存器配置

作者:周立功致遠電子 時(shí)間:2016-06-15 來(lái)源:電子產(chǎn)品世界 收藏

  芯片由NandFlash、控制器和標準接口組成,在應用上,和NandFlash比較,由于控制器的存在,不必考慮ECC和壞塊管理策略,所以的應用比較簡(jiǎn)單。但是,燒寫(xiě)只需要把數據燒進(jìn)去就可以了嗎?為什么數據寫(xiě)進(jìn)去了,系統還是跑不起來(lái)?

本文引用地址:http://dyxdggzs.com/article/201606/292666.htm

  

 

  eMMC自誕生以來(lái),就受到各行各業(yè)的追棒,如今,已成為存儲行業(yè)的主流,特別是手機和平板。美國的IHS iSuppli預測到2018年全球的eMMC出貨量達到2200Milion。

  

 

  圖1 eMMC的市場(chǎng)前景

  在給智能手機、智能電視、平板電腦等,使用大容量eMMC芯片客戶(hù)服務(wù)的過(guò)程中,遇到很多燒錄異常的投訴,統計下來(lái),有90%的投訴是說(shuō)的同樣一個(gè)事情:燒錄過(guò)程正常,但貼到PCB上不能正常運行,重新通過(guò)在線(xiàn)的工具燒錄,又能正常運行,這是為什么呢?

  大多數工程師認為,既然eMMC內部有控制器,不用考慮ECC和壞塊管理策略,那么全當成普通的Flash那樣燒寫(xiě)。事實(shí)上,這樣做法是“想當然”的照搬了之前Flash的使用方法。那么,有些人就納悶了,既然燒寫(xiě)檢驗沒(méi)問(wèn)題,為什么會(huì )跑不起來(lái),進(jìn)而第一步就懷疑是不是燒錄器的問(wèn)題。

  那就要從eMMC芯片的結構進(jìn)行剖析:

  eMMC芯片中有三個(gè)分區,分別是Boot1、Boot2和User Area區。

  

 

  圖2

  eMMC燒寫(xiě),與其他任何Flash的燒錄都不一樣,Boot區是單獨有尋址地址的,因此,必須注意如下兩個(gè)關(guān)鍵步驟:

  一、燒寫(xiě)數據:包括Boot1、Boot2和User Area區的數據。

  二、設置:主要設置EXT_CSD,設置Boot加載規則,這需要根據實(shí)際的方案來(lái)設置。

  下面來(lái)主要闡述eMMC的設置的關(guān)鍵之處:

  通常,Boot1、Boot2和User Area區的數據都沒(méi)問(wèn)題,主要是EXT_CSD寄存器的設置。這里涉及到程序Boot主要有三個(gè)寄存器,分別是BOOT_BUS_WIDTH[177]、BOOT_CONFIG_PROT[178]、PARTITION_CONFIG[179],這三個(gè)寄存器常常相互配合。

  下面我們簡(jiǎn)要介紹下這個(gè)寄存器:

  一、BOOT總線(xiàn)位寬寄存器BOOT_BUS_WIDTH[177]:設置Boot總線(xiàn)寬度和單雙邊沿。

  

 

  圖3

  二、BOOT配置保護寄存器BOOT_CONFIG_PROT[178]:Boot設置位的保護使能。

  

 

  圖4

  三、分區寄存器PARTITION_CONFIG[179]:分區配置。

  

 

  圖5

  技術(shù)的細節就不再詳述,從上面的介紹得知,Boot三個(gè)寄存器各負責的關(guān)鍵內容。

  1.BOOT_BUS_WIDTH[177]設置位寬+單雙邊沿;

  2.PARTITION_CONFIG[179]選擇哪個(gè)分區用于Boot;

  3.BOOT_CONFIG_PROT[178]算是它們的雙保險。

  如果客戶(hù)僅僅燒錄了User區的程序,而忽視了Boot區配置,會(huì )導致主控CPU找不到Boot文件,無(wú)法正常啟動(dòng)整個(gè)系統的情況發(fā)生。

  當然,不同場(chǎng)合可能需要設置不同的值,但是一般情況下,90%的用戶(hù)還是選擇Boot1區+8位寬高速時(shí)序。即同時(shí)設置分區寄存器

  PARTITION_CONFIG[179]=0x8/0x48和總線(xiàn)位寬寄存器

  BOOT_BUS_WIDTH[177]=0xA/0x2。而B(niǎo)oot配置保護寄存器

  BOOT_CONFIG_PROT[178]默認不設置。

  進(jìn)過(guò)EXT_CSD的擴展寄存器設置,CPU找到了啟動(dòng)Boot,正常引導并啟動(dòng)了整個(gè)被燒錄的eMMC芯片,這時(shí),eMMC就和CPU愉快的配合,流暢的跑起來(lái)了。



關(guān)鍵詞: eMMC 寄存器

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>