0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

sd卡的讀寫驗(yàn)證流程介紹

冬至子 ? 來源:悠悠海 ? 作者:悠悠海 ? 2023-08-08 14:34 ? 次閱讀

原理圖
下圖是sdio的接線圖
dat0-4 cmd 接了4.7k的上拉電阻。六根與mcu相連的線中均接了一個(gè)22歐的電阻,用于限制電流。

1.jpg

下圖是mcu的接線

1.jpg

dat0接引腳P2.0,dat1接P2.1,dat2接P2.2,dat3接P2.3,cmd接P2.4,clk接P2.5,

1.jpg

板子的sd卡座是彈簧式的,卡片壓下去 ,彈片與地相接,mcu_sd_cd低電平,mcu可檢測(cè)到當(dāng)前有卡片插入。

1.jpg

英飛凌提供了兩種驅(qū)動(dòng)依賴:
PSoC 6 Peripheral Driver Library(PDL),Hardware Abstraction Layer (HAL)。

pdl接口大概對(duì)sdio的支持度不很好,不太完善,當(dāng)前測(cè)試按照以下流程初始化會(huì)失敗,
pdl接口位于HAl的上層,屬于對(duì)hal接口的再次封裝。

1.jpg

群里有位大佬使用了hal接口,初始化看起來問題不大,初始化效果如下,可以得到卡片的容量

1.jpg

rtt驅(qū)動(dòng)結(jié)構(gòu)
之前寫linux驅(qū)動(dòng),學(xué)習(xí)rtt的驅(qū)動(dòng)時(shí),多少會(huì)帶入linux的思維。
rtt的驅(qū)動(dòng)要比linux的簡(jiǎn)單許多,大概框架相似。
整個(gè)系統(tǒng)結(jié)構(gòu)分為三層,應(yīng)用層,也就是我們的業(yè)務(wù)層。
第二層時(shí)rtt提供的中間層,虛擬文件驅(qū)動(dòng)層。
第三層是針對(duì)具體硬件的硬件驅(qū)動(dòng)層。
業(yè)務(wù)層直接調(diào)用虛擬驅(qū)動(dòng)層,虛擬驅(qū)動(dòng)層通過回調(diào)函數(shù)方式操縱硬件驅(qū)動(dòng)代碼了。

代碼的文件結(jié)構(gòu)如下圖

1.jpg

1.jpg

application是存放應(yīng)用層代碼的文件夾。
rt-thread目錄存放虛擬文件系統(tǒng)接口
libraries存放硬件驅(qū)動(dòng)代碼和廠商的bsp等支持代碼。
調(diào)用官方的pdl接口導(dǎo)致硬件崩潰,對(duì)英飛凌的mcu了解不深,暫不知如何調(diào)查,借鑒群里大佬Vandoul的sdhc驅(qū)動(dòng)代碼,測(cè)試了一下接口。
接口dfs_filesystem_get_partition 有一個(gè)小bug,sd卡是64gb容量的卡片,格式化為ntfs格式,讀出的分區(qū)表解析到的容量錯(cuò)誤,如下圖所示。

1.jpg

代碼參考了vandoul大佬的代碼,刪除了一些異常判斷等代碼。
提供兩個(gè)接口 sdrd 和sdwt,僅是直接測(cè)試sd卡存儲(chǔ)空間的讀寫,不涉及到文件系統(tǒng)的掛載。
sdrd 帶一個(gè)參數(shù),讀取地址
sdwt帶兩個(gè)參數(shù),第一個(gè)是地址,第一個(gè)是數(shù)值
下圖是命令使用效果。

1.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 上拉電阻
    +關(guān)注

    關(guān)注

    5

    文章

    357

    瀏覽量

    30543
  • 存儲(chǔ)器
    +關(guān)注

    關(guān)注

    38

    文章

    7440

    瀏覽量

    163530
  • SD卡
    +關(guān)注

    關(guān)注

    2

    文章

    558

    瀏覽量

    63757
  • MCU控制
    +關(guān)注

    關(guān)注

    0

    文章

    48

    瀏覽量

    6720
  • RTThread
    +關(guān)注

    關(guān)注

    7

    文章

    132

    瀏覽量

    40781
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SD詳細(xì)介紹

    SD詳細(xì)介紹 SD(Secure Digital Memory Card)是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備。
    發(fā)表于 04-12 12:30 ?1626次閱讀

    基于SPI協(xié)議的SD讀寫

    基于SPI協(xié)議的SD讀寫SD的協(xié)議分析。
    發(fā)表于 01-06 14:24 ?0次下載

    sd讀寫產(chǎn)品設(shè)計(jì)經(jīng)驗(yàn)

    sd讀寫產(chǎn)品設(shè)計(jì)經(jīng)驗(yàn),很好的學(xué)習(xí)資料,快來下載吧
    發(fā)表于 01-25 10:27 ?0次下載

    SD讀寫C程序

    SD讀寫C程序,包含具體程序以及相關(guān)注釋。
    發(fā)表于 03-16 16:30 ?17次下載

    SD讀寫控制研究_張淼

    SD讀寫控制研究_張淼 用單片機(jī)控制SD讀寫增添刪減文件等等。
    發(fā)表于 04-14 16:43 ?9次下載

    ARM基礎(chǔ)應(yīng)用實(shí)驗(yàn)06_SD讀寫

    ARM嵌入式應(yīng)用程序架構(gòu)設(shè)計(jì)實(shí)例精講--ARM基礎(chǔ)應(yīng)用實(shí)驗(yàn)06SD讀寫
    發(fā)表于 07-08 11:08 ?0次下載

    ARM基礎(chǔ)應(yīng)用實(shí)驗(yàn)_SD讀寫

    電子專業(yè)單片機(jī)相關(guān)知識(shí)學(xué)習(xí)教材資料——ARM基礎(chǔ)應(yīng)用實(shí)驗(yàn)06SD讀寫
    發(fā)表于 09-13 17:23 ?0次下載

    STM32CubeMX生成一個(gè)SD讀寫程序

    本文檔內(nèi)容介紹了一個(gè)STM32CubeMX生成一個(gè)SD讀寫程序,由于本程序是直接操作SD的物
    發(fā)表于 01-08 11:23 ?57次下載

    fireflyROC-RK3328燒寫SD介紹

    燒寫 SD 下面我們將介紹如何燒寫固件到 SD 。關(guān)于固件的類型說明可以看這里。 以下是支持的系統(tǒng)列表: Android 7.1.2
    的頭像 發(fā)表于 12-23 15:20 ?3380次閱讀

    基于SPI協(xié)議的SD讀寫說明

    數(shù)字設(shè)備。為此,本文首先介紹了單片機(jī)在SPI協(xié)議下與SD硬件接口電路,然后簡(jiǎn)要闡述了SPI總線模式以及軟件模擬的SPI總線字節(jié)傳輸,最后給出了具體實(shí)現(xiàn)SD
    發(fā)表于 03-17 16:07 ?49次下載
    基于SPI協(xié)議的<b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>讀寫</b>說明

    基于SPI協(xié)議的SD讀寫機(jī)制與實(shí)現(xiàn)方法

    基于SPI協(xié)議的SD讀寫機(jī)制與實(shí)現(xiàn)方法。
    發(fā)表于 03-25 11:21 ?27次下載
    基于SPI協(xié)議的<b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>讀寫</b>機(jī)制與實(shí)現(xiàn)方法

    SD讀寫測(cè)試程序

    **SD介紹**SD (Seecure Digital Memory Cardl)是一種基于 Flash 的新一代存儲(chǔ)器,具有體積小、容
    發(fā)表于 12-31 19:22 ?17次下載
    <b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>讀寫</b>測(cè)試程序

    stm32 CubeMx 實(shí)現(xiàn)SD/sd nand FATFS讀寫測(cè)試

    文章目錄stm32CubeMx實(shí)現(xiàn)SD/SDnandFATFS讀寫測(cè)試1.前言2.環(huán)境介紹2.1軟硬件說明2.2外設(shè)原理圖3.工程搭建3.1CubeMx配置3.2SDIO時(shí)鐘配置說明
    的頭像 發(fā)表于 06-03 09:20 ?1855次閱讀
    stm32 CubeMx 實(shí)現(xiàn)<b class='flag-5'>SD</b><b class='flag-5'>卡</b>/<b class='flag-5'>sd</b> nand FATFS<b class='flag-5'>讀寫</b>測(cè)試

    SDSPI讀寫中文資料

    電子發(fā)燒友網(wǎng)站提供《SDSPI讀寫中文資料.pdf》資料免費(fèi)下載
    發(fā)表于 10-13 10:09 ?7次下載
    <b class='flag-5'>SD</b><b class='flag-5'>卡</b>SPI<b class='flag-5'>讀寫</b>中文資料

    基于NIOS II的SD讀寫控制設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于NIOS II的SD讀寫控制設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-06 10:06 ?7次下載
    基于NIOS II的<b class='flag-5'>SD</b><b class='flag-5'>卡</b><b class='flag-5'>讀寫</b>控制設(shè)計(jì)