日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

十四.ARM裸机学习之iNand详解

發(fā)布時間:2023/12/14 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 十四.ARM裸机学习之iNand详解 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
版權(quán)聲明:本文為博主原創(chuàng)文章,允許轉(zhuǎn)載請注明。謝謝! <a class="copy-right-url" href=" https://blog.csdn.net/wangweijundeqq/article/details/78888049"> https://blog.csdn.net/wangweijundeqq/article/details/78888049</a></div><link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/ck_htmledit_views-3019150162.css"><div id="content_views" class="markdown_views prism-atom-one-dark"><!-- flowchart 箭頭圖標 勿刪 --><svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path></svg><h2 id="一inand簡介"><a name="t0"></a>一、iNand簡介</h2>

2017/12/24 22:20
**

● iNand、MoviNand、eSSD:

**
1.內(nèi)部為NandFlash芯片,集成塊設備存儲單元,集成了擴展卡式Flash 的優(yōu)點
2.即內(nèi)部采用MLC存儲顆粒,外部封裝了接口,接口標準統(tǒng)一、通用。
3.接口標準統(tǒng)一(時序、物理封裝、引腳定義),以芯片級封裝發(fā)布
4.芯片內(nèi)部具有Flash管理模塊:具有能壞塊管理,ECC校驗等功能

● 相對MLC NandFlash,iNAND有以下優(yōu)點

iNand/eMMC其實就是芯片化的SD/MMC卡,軟件操作和SD卡相同。
1.芯片內(nèi)部具有Flash管理模塊:具有能壞塊管理,ECC校驗等功能,故使用時SOC不需要參與FLASH的壞塊管理、ECC校正等管理。而NandFlash卻需要,會犧牲部分SOC性能。
2.統(tǒng)一了協(xié)議接口,兼容性好,iNand芯片內(nèi)部使用MLC Nand顆粒,所以性價比很高。
3.iNand接口電路還提供了cache機制,所以inand的操作速度更快。

● iNand/eMMC的物理接口和SD卡物理接口的對比

在X210中iNand連接在SD/MMC0通道,SD卡連接在SD/MMC2,與SD卡相比,iNand芯片的IO引腳有8個,是SD卡的芯片化,軟件操作與SD卡基本相同。

二、iNand接口

● 硬件接口功能如下:

1.iNand的8個IO支持1、4、8bit并行傳輸,SD卡的4個IO,支持1、4線并行傳輸
2.CMD引腳用來傳輸命令
3.CLK引腳用來傳輸同步時鐘信號,說明SD/iNand是同步的,SD/iNand的工作速率是由主機給它的CLK頻率決定的。

● SD/iNand的體系結(jié)構(gòu)圖

SD卡內(nèi)部有一個接口控制器,這個控制器類似于一個單片機,這個單片機的程序功能就是通過CMD線接收外部主機SoC發(fā)給SD卡的命令碼,然后執(zhí)行這個命令并且回發(fā)響應給主機SoC。這個單片機處理命令及回發(fā)響應遵循的就是SD協(xié)議。這個單片機同時可以控制SD卡內(nèi)部的存儲單元,可以讀寫存儲單元。

● SD/iNand的內(nèi)部寄存器(重點是RCA寄存器)

RCA(relative address,相對地址寄存器)。我們在訪問SD卡時,實際上SD卡內(nèi)部每個存儲單元的地址沒有絕對數(shù)字,都是使用相對地址。相對地址由SD卡自己決定的,存放在RCA寄存器中。

● SoC的SD/MMC/iNand控制器

1.S5PV210的SD卡控制器在Section8.7部分

三、SD/iNand代碼分析之SD卡基礎理論

● 命令碼CMD和ACMD

1、SD卡工作在命令+響應的模式下。
2、SD協(xié)議的命令分2種:CMDx和ACMDx。CMD是單命令命令,就是單獨發(fā)一個CMD即可表示一個意思。ACMD是一種擴展,就是發(fā)2個CMD加起來表示一個意思。可以認為ACMDx = CMDy+CMDz(y一般是55)

● 卡類型識別SD or MMC?

1、MMC協(xié)議、SD協(xié)議、eMMC協(xié)議本身是一脈相承的,所以造成了一定的兼容性,所以當我們SoC控制器工作時連接到SoC上的可能是一個MMC卡、也可能是SD卡、也可能是iNand芯片。主機SoC需要去識別這個卡到底是什么版本的卡
2、SoC如何區(qū)分卡種類?因為不同版本的卡內(nèi)部協(xié)議不同的,所以對卡識別命令的響應也是不同的。SoC通過發(fā)送一些命令、聽取響應就可以根據(jù)不同的響應判定卡的版本。

● 卡狀態(tài)

SD卡內(nèi)部的接口控制器類似于一個單片機,這個單片機其實是一個狀態(tài)機。所以SD卡任何時候都屬于某一種狀態(tài)(空閑狀態(tài)、準備好狀態(tài)、讀寫狀態(tài)、出錯狀態(tài)····都是事先定義好的),在這種狀態(tài)下能夠接受的命令是一定的,接受到命令之后執(zhí)行一定的操作然后根據(jù)操作結(jié)果會跳轉(zhuǎn)為其他狀態(tài)。
如果主機發(fā)過來的命令和當前狀態(tài)不符狀態(tài)機就不響應,如果收到命令和當前狀態(tài)相符就會執(zhí)行相應操作,執(zhí)行完之后根據(jù)結(jié)果跳轉(zhuǎn)為其他狀態(tài)。

● 卡回復類型

1、一般來說,SD卡的命令都屬于:命令+響應的模式。也有極少數(shù)的SD卡命令是不需要回復的。
2、卡回復有R1、R7、R1B等8種類型,每種卡回復類型都有自己的解析規(guī)則。然后卡在特定狀態(tài)下響應特定命令時有可能回復哪種響應都是SD協(xié)議事先規(guī)定好的,詳細細節(jié)要查閱協(xié)議文檔。

四、SD/iNand代碼分析

● SD/iNand相關(guān)的GPIO初始化

分析代碼的方法:查閱芯片原理圖對應GPIO+Soc手冊找到對應寄存器+良好的C語法基礎,(下面僅做個例說明)

● 時鐘設置

為什么使用的是SOC控制器的時鐘?
1、SD卡本身工作需要時鐘,但是自己又沒有時鐘發(fā)生單元,依靠主機SoC的控制器通過SD接口中的CLK線傳一個時鐘過來給SD卡內(nèi)部使用。所以主機SD卡控制器先初始化好自己的時鐘,然后將自己的時鐘傳給SD卡。
2、因為此時剛開始和SD卡通信,主機不清楚SD卡屬于哪個版本(高版本和低版本的SD卡的讀寫速率不同,高版本的可以工作在低版本的速率下,低版本的SD卡不能工作在高版本速率下),所以先給SD卡發(fā)400KHz的低速率時鐘,SD卡拿到這個時鐘后就能工作了。然后在后面和SD卡進行進一步通信時去識別SD卡的版本號,識別后再根據(jù)SD卡的版本進一步給它更合適的時鐘。
時鐘代碼部分結(jié)合前面的210時鐘博文:
http://blog.csdn.net/wangweijundeqq/article/details/78503699
搞清楚那張時鐘框圖
這里截取主要的框圖部分
S5PV210時鐘體系框圖詳解**

這兩張圖就是一個時鐘體系框圖,
兩張圖是一個漸進的關(guān)系,
第一張是整體時鐘來源,第二張是各個外設,或者說是各個模塊的更進一步,更加細分的時鐘來源。
第一張圖從左到右依次完成了原始時鐘生成->PLL倍頻得到高頻時鐘->初次分頻得到各總線時鐘;
第二張圖是從各中間時鐘(第一張圖中某個步驟生成的時鐘)到各外設自己使用的時鐘(實際就是個別外設自己再額外分頻的設置)
**在數(shù)據(jù)手冊中,
寄存器中的clock source x 就是在設置MUX開關(guān),
寄存器中的clock divider control就是設置分頻器中的系數(shù)。**
時鐘初始化源碼如下:**

● 下面是最重要的SD卡通信最關(guān)鍵的地方了

結(jié)合提供的SD卡初始化一起分析;

● SD卡數(shù)據(jù)傳輸


總結(jié)

以上是生活随笔為你收集整理的十四.ARM裸机学习之iNand详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。