娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月21日(星期一)

正在發生

2018年10月21日 | S5PV210(TQ210)學習筆記——Nand配置

發布者:xrmilk 來源: eefocus關鍵字:S5PV210  TQ210  Nand配置 手機看文章 掃描二維碼
隨時隨地手機看文章

  S5PV210的Nand flash跟2440和6410的Nand flash配置差不多,不同的是S5PV210的功能更加強大,尤其是S5PV210的硬件ECC(本文不涉及S5PV210中Nand ECC配置)。整體上來講,S5PV210的Nand flash配置還是非常簡單的。

  其實,配置一個模塊往往需要以下幾個步驟:

  (1)根據原理圖,理清模塊的接線方式,對于Nand flash來說,就是看看Nand flash接到了哪些GPIO上,然后把對應的GPIO配置為Nand功能即可。

  (2)閱讀S5PV210手冊,掌握相關模塊控制器的功能、操作方式及寄存器配置。

  (3)閱讀模塊芯片手冊,掌握模塊的訪問控制時序。

  我們按照以上步驟進行配置,首先是模塊GPIO的配置,我的開發板是TQ210,Nand flash芯片是K9K8G08U0B,接線方式如下圖

S5PV210(TQ210)學習筆記——Nand配置

  其中:

  (1)Xm0FRnB0~Xm0FRnB3,Xm0FCLE,Xm0FALE,Xm0FWEn,Xm0FREn這八根腳連接到了MP0_3上,查看MP0_3控制寄存器可知,需將MP0_3CON配置為0x22222222;

  (2)Xm0CSn2~Xm0CSn5四根腳連接到了MP0_1的2~5腳上,故MP0_1CON的8~23位應該配置為0x3333;

  (3)Xm0DATA0~Xm0DATA7這八根腳連接到了MP0_6上,故MP0_6應該配置為0x22222222;

  這樣,GPIO配置好了,接下來我們配置下Nand flash的控制寄存器,大體瀏覽下Nand flash的寄存器功能后我們可以發現,如果不使用ECC功能可以只配置NFCONF和NFCONT兩個寄存器,我們的Nand flash是SLC型Nand,Page大小為2048,寫入地址需要5個周期(這些從Nand flash芯片手冊上很容易找到),故NFCONF應該配置如下:

  NFCONF=(3<<23)|(1<<12)|(2<<8)|(0<<4)|(1<<1); //依次為:禁止ECC,TACLS,TWPRH0,TWPRH1,SLC、2K、5周期。

  其中TACLS、TWPRH0和TWPRH1需要閱讀手冊來確定,韋東山老師講述了確定方式,但是,我配置時完全按照手冊上的最小時間設置時沒有能夠正常訪問,我是自己嘗試出來的,先將三個參數都設置為7,然后慢慢減小,最后測試出來設置為1、2、0,但是這樣不一定是最穩定的,一般來講,數值略大一些會更穩定,但是為了不影響訪問效率,這個值也不能設太大,先按照最小情況設置,當發現有讀取錯誤或其他不穩定現象時再適當提高參數值。

  然后就是NFCONT寄存器,NFCONT的配置就更簡單了,我們不設置ECC,只需要設置0位和1位就可以了:

  NFCONT = (1<<1)|(1<<0);//禁止片選,使能Nand

  這樣,Nand flash的初始化函數就出來了:

  1. void nand_init(){  

  2.     NFCONF = (3<<23)|(1<<12)|(2<<8)|(0<<4)|(1<<1);  

  3.     NFCONT = (1<<0)|(1<<1);  

  4.   

  5.     MP0_1CON &= ~(0xffff<<8);  

  6.     MP0_1CON |= 0x3333<<8;  

  7.     MP0_3CON = 0x22222222;  

  8.     MP0_6CON = 0x22222222;  

  9.   

  10.     nand_reset();  

  11. }  

  至于nand_reset,通常是Nand flash配置完成之后就進行一次reset,這樣使Nand flash恢復到最初狀態。

  這樣,Nand flash初始化好了,但是要訪問Nand flash還需要按照時序對其操作,Nand方式啟動時只需要實現Nand flash的讀操作,為此,這里只列舉一下幾個讀相關的操作:

  (1)Nand flash reset

  1. static void nand_reset(){  

  2.     nand_select_chip();  

  3.     nand_cmd(0xff);  

  4.     nand_wait();  

  5.     nand_deselect_chip();  

  6. }  

  (2)Nand flash寫地址

  1. static void nand_addr(unsigned long page_addr, unsigned long page_offset){  

  2.     NFADDR = (page_offset>>0) & 0xFF;  

  3.     NFADDR = (page_offset>>8) & 0x7;  

  4.     NFADDR = (page_addr) & 0xFF;  

  5.     NFADDR = (page_addr>>8) & 0xFF;  

  6.     NFADDR = (page_addr>>16) & 0x07;  

  7. }  

  (3)Nand flash讀ID

  1. void nand_read_id(char id[]){  

  2.     int i;  

  3.   

  4.     nand_select_chip();  

  5.     nand_cmd(0x90);  

  6.   

  7.     NFADDR = 0;  

  8.   

  9.     for (i = 0; i < 5; i++)  

  10.         id[i] = nand_read();  

  11.   

  12.     nand_deselect_chip();  

  13. }  

  (4)Nand flash讀頁數據

  1. void nand_read_page(unsigned char* buf, unsigned long page_addr){  

  2.     int i;  

  3.     nand_select_chip();  

  4.     nand_cmd(0);  

  5.     nand_addr(page_addr, 0);  

  6.     nand_cmd(0x30);  

  7.     nand_wait();  

  8.     for(i = 0; i != PAGE_SIZE; ++i){  

  9.         *buf++ = nand_read();  

  10.     }  

  11.     nand_deselect_chip();  

  12. }  

  上面是幾個比較重要的Nand flash讀相關的操作函數,到這里,您自己補充一下引用到的小函數就可以正常的進行Nand flash操作了,我把我寫的代碼上傳到我的CSDN資源里,如果需要的話可以拿去參考。另外,如果需要編寫Nand flash寫操作的代碼可以參考一下本人博客中6410的Nand flash配置部分和Nand flash的芯片手冊,原理都是相通的。


關鍵字:S5PV210  TQ210  Nand配置 引用地址:S5PV210(TQ210)學習筆記——Nand配置

上一篇:ARM-Linux啟動方式
下一篇:ARM-Linux開發與MCU開發的區別

推薦閱讀

AI芯片是科技行業最惹人注目的賽道。寒武紀是這個賽道上最惹人注目的成長期公司。貿易戰關口,這里的一草一木更是徹底暴露于聚光燈下。?在今年初完成數億美元B輪融資后,寒武紀投后估值已達25億美元,成為中國人工智能芯片領域的頭部獨角獸。作為“中國第一家作出最原始創新(從學術理念到商業產品)的芯片設計公司和全球第一家推出量產商業AI芯片的公司...
最近,因為被列入美國貿易管制的名單中,海康威視一直處于風口浪尖,備受關注。周六晚上海康威視發布了2019年第三季度財報,財報顯示,該公司第三季度營收約為159.16億元人民幣,同比增長23.12%;扣非后凈利潤約為36.67億元人民幣,同比增長16.69%。此外,公司第三季度經營活動產生的現金流量凈額5.55億元,較上年同期下降86.99%;前三季度經營活...
BlackBerry(紐約證券交易所代碼:BB;多倫多證券交易所代碼:BB)宣布BlackBerry QNX技術將為全新高端智能純電SUV ARCFOX αT中創新的數字駕駛艙系統賦能。 在ARCFOX αT的數字駕駛艙系統中,全數字儀表、中控觸屏、空調屏以及抬頭顯示均基于QNX? Hypervisor打造。QNX? Hypervisor是全球首款通過ISO 26262 ASIL D安全認證的商用嵌入式hypervisor...
10月18日-19日,2021第九屆汽車與環境論壇暨第13屆全球汽車產業峰會隆重召開。本次論壇主要圍繞中國汽車產業發展、動力總成電氣化、ADAS與自動駕駛、芯片與汽車基礎軟件、智能座艙等行業熱點話題展開,旨在共同探討新形勢下中國汽車產業有序發展的新思路。下面是北京航空航天大學教授鄧偉文在此次論壇上的演講實錄。下面我就自動駕駛鏈涉及的人和環境對自...

史海拾趣

問答坊 | AI 解惑

經典:電子書《linux程序設計》第4版

電子書《linux程序設計》第4版,英文 …

查看全部問答∨

大家有沒有判別一個函數對內存通信量大小的方法

我現在需要將函數分為對內存訪問量大和對內存訪問量小的二類,可以從函數的軟件實現或硬件實現來分析 現在要給出分類方法以及評價體系,希望大家能給點建議噢   謝謝…

查看全部問答∨

大家好..小弟剛學嵌入式..想大家給個方案

小弟剛大三. 專科. 模電數電只會一點點.在LINUX下C開發. 有系統和網絡編程經驗. 想轉到嵌入式. 小弟想買一套設備. 2500以下的. 可以做實驗. 請大家做個好心為小弟說說. thanks…

查看全部問答∨

在PC端遠程調用手機端的DLL文件失敗。

void __fastcall TProtocolWinCE::DumpPhoneContact() {         m_progress->OnShowMessage("讀取手機通訊錄...");         IRAPIStream *pStream;         DWORD dwOut; ...…

查看全部問答∨

幾種保護電路

本帖最后由 jameswangsynnex 于 2015-3-3 20:01 編輯 視頻數據線具有高數據傳輸率,(其數據傳輸率高達480 Mbps,有的視頻數據傳輸率達到1G 以上),因而要選擇低電容LCTVS,通常是將一個低電容二極管與TVS 二極管串聯,以降低整個線路的電容(可低 ...…

查看全部問答∨

RTC晶振技術規范

定制32.768kRTC晶振規范: DIP26%26amp%3B38.pdf (102.33 KB) 下載次數:58 2010-5-28 17:07 …

查看全部問答∨

MPLAB無法啟動

昨天用了幾天的MPLAB突然無法啟動了,真是郁悶死了,卸載了N次,重裝了N次,最后在官網上下載了8.92還是不行。前幾天還是好好地呢。網上有人說中文路徑、中文用戶名、中文工程名可能導致這種情況,但是我都沒犯這種錯誤.難道真的要重新裝系統了嗎? ...…

查看全部問答∨

上拉電阻下拉電阻以及開漏、推挽方式的總結

上拉電阻: 1、當TTL電路驅動COMS電路時,如果TTL電路輸出的高電平低于COMS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。 2、OC門電路必須加上拉電阻,才能使用。 3、為加大輸出引腳的驅動能力,有 ...…

查看全部問答∨

MSP430 ADC問題

本帖最后由 SYW 于 2015-7-13 15:24 編輯 各位大神們,我又來問愚蠢的問題了! 這是一段網上找的例程,ADC程序: void ADC(void) {   WDTCTL = WDTPW + WDTHOLD;              &nb ...…

查看全部問答∨

關於 sleep 問題

本帖最后由 nt52241930 于 2016-3-15 17:04 編輯 請教各位, 看了手冊上,發現 使用SysCtlSleep(); 可以進入休眠的中斷向量, 但發現他進去後,依然可以執行main裡面的代碼??? 目前想要的功能為 進入休眠後,將所有外設關閉 並使用一個外部gpio ...…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 枣庄市| 昭平县| 墨脱县| 天长市| 彭泽县| 瑞安市| 大安市| 稻城县| 正镶白旗| 浪卡子县| 宜兰市| 临高县| 沧州市| 宁津县| 宽城| 大丰市| 靖西县| 临夏县| 锡林浩特市| 屏南县| 佛山市| 水城县| 边坝县| 沙河市| 新沂市| 福州市| 顺平县| 洪洞县| 长岭县| 玛纳斯县| 唐海县| 霍林郭勒市| 平南县| 大冶市| 保靖县| 雷州市| 张家港市| 青州市| 海门市| 北宁市| 盐山县|