在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

從驅動到應用:RT-Thread環境下的SDIO開發指南

RT-Thread官方賬號 ? 2025-06-28 09:02 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目錄


硬件介紹


搭建開發環境


配置 SDIO 驅動


掛載文件系統


文件讀寫測試


演示視頻


源碼工程


總結

本文主要講述RT-Thread環境下的SDIO開發指南,基于MCXN947開發板。


1 硬件介紹


本次測評的是SDIO模塊。


SDIO接口是在SD內存卡接口的基礎上發展起來的接口,SDIO接口兼容以前的SD內存卡,并且可以連接SDIO接口的設備。


比如SDIO可以訪問micro SD卡、SD卡等存儲類設備,或藍牙、WIFI、GPS等無線設備。

這次測試的是使用SDIO接口訪問micro SD卡,即所謂的TF卡,TF卡的引腳定義和SD卡會有所不同:

9969a3bc-53bb-11f0-986f-92fbcf53809c.png

FRDM-MCXN947提供對應的驅動文件是bsp_sdhc.c


SDHC是大容量SD卡,也就是SD High Capacity,支持最大32GB大小容量。


SDHC,Secure Digital High Capacity,大容量SD,也就是說,超過2G的SD都叫SDHC,因為早期的SD使用的是FAT16文件系統,并不支持大容量,而SDHC升級為FAT32,才支持2G以上的大容量。


2 搭建開發環境


Keil :v5.32,官方推薦5.36及以上

RT-Thread env-windows-1.5.0


構建工程:

獲取 RT-Thread 當前最新的工程 https://github.com/RT-Thread/rt-thread/

通過 env 工具進入 BSP目錄:

rt-thread-master\bsp\nxp\mcx\mcxn\frdm-mcxn947

拷貝 rt-thread-master\bsp\nxp\mcx\tools\sdk_dist.py到剛才的BSP目錄

執行

scons--dist --target=mdk5

9973540c-53bb-11f0-986f-92fbcf53809c.png

生成的工程在dist目錄,進入到dist下的project目錄,需要做以下兩個修改:

刪除 sdk_dist.py,上傳服務器或本地備份的時候不需要此文件

修改工程目錄的Kconfig,否則menuconfig會找不到Libraries文件夾下的其它Kconfig

99871fdc-53bb-11f0-986f-92fbcf53809c.png

最后在生成的工程下執行

pkgs--update

999a9a94-53bb-11f0-986f-92fbcf53809c.png

到這里,就可以在KEIL愉快的玩耍了。


3 配置 SDIO 驅動


芯片的 SDIO 外設驅動

99a754f0-53bb-11f0-986f-92fbcf53809c.png

RT-Thread 的 SD/MMC 設備驅動

99b34a3a-53bb-11f0-986f-92fbcf53809c.png

這里使用的是 elm-chan fatfs,即fat32;而 DFS 是對各種文件系統的抽象層,用于適配不同的文件系統

99c00798-53bb-11f0-986f-92fbcf53809c.png

配置完成后,保存到新的 .config, 并在env工具下執行:

scons--target=mdk5


4 掛載文件系統


main.c包含頭文件,編譯新生成的源文件,并下載到我們的開發板。

#include"dfs_fs.h"

如果掛載失敗,可以優先進行這兩個動作:


檢查卡座的引腳是否存在虛焊

TF卡沒有被格式化為FAT32文件系統,插入下面第10行代碼進行格式化

#ifdefRT_USING_SDIO rt_thread_mdelay(2000); if(dfs_mount("sd","/","elm",0,NULL) ==0) { rt_kprintf("sd mounted to /\n"); } else { rt_kprintf("sd mount to / failed\n"); dfs_mkfs("elm","sd"); }#endif

我這里使用的是閃迪 16GB TF卡,使用讀卡器可以看到TF卡已經成功被格式化

99ccc80c-53bb-11f0-986f-92fbcf53809c.png99dbb09c-53bb-11f0-986f-92fbcf53809c.png


5 文件讀寫測試


回到主干 rt-thread-master\examples 目錄,將目錄名為 file 的文件夾拷貝到 sdio-project\rt-thread\components\utilities\file


測試準備

99ec0122-53bb-11f0-986f-92fbcf53809c.png

這里參照其它單元測試案例寫 Kconfig 文件 和 SConscript 文件

Import('rtconfig')frombuilding import*
cwd =GetCurrentDir()src =Glob('*.c')
CPPPATH=[cwd]
group=DefineGroup('FilesUnitTest', src, depend=['RT_USING_FILE_IO_TEST'], CPPPATH=CPPPATH)
Return('group')

menu"File IO Unit Test"
config RT_USING_FILE_IO_TEST bool"RT-Thread File TestCases" defaultn endmenu

99fa64e2-53bb-11f0-986f-92fbcf53809c.png9a0514e6-53bb-11f0-986f-92fbcf53809c.png9a187554-53bb-11f0-986f-92fbcf53809c.png

配置完成后,保存到新的 .config, 并在env工具下執行:

scons--target=mdk5

在KEIL重新編譯,燒錄,開始測試


6 測試結果


讀寫的速度跟卡本身,DMA,文件系統等等因素有關,這里僅表示單個文件的讀寫測試結果。


通過串口助手發送指令 readwrite 來進行測試,MCU接收到指令后,會寫入240字節到目標文件

用法:readwrite + [filename]

9a693eb2-53bb-11f0-986f-92fbcf53809c.png

通過串口助手發送指令 writespeed 來進行測試,MCU接收到指令后,會寫入1048576(1M)字節到目標文件,并輸出計算出的寫入速度,速度為565KB/s

用法:writespeed + [filename]

9a76690c-53bb-11f0-986f-92fbcf53809c.png

通過串口助手發送指令 readspeed 來進行測試,MCU接收到指令后,會去讀取目標文件,這里測試是緊跟著上一寫測試進行的,測試出速度為1938KB/s

用法:readspeed + [filename]

9a8697d2-53bb-11f0-986f-92fbcf53809c.png


9 總結


在RT-Thread的設備驅動框架下,NXP現成的驅動還是十分完善,可以快速的跳過設備的驅動,進而聚焦應用程序的開發。同時RT-Thread的生態十分強大,此次測試組件也是現成的代碼,基本上是“零代碼”測評。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 驅動
    +關注

    關注

    12

    文章

    1912

    瀏覽量

    86709
  • SDIO
    +關注

    關注

    2

    文章

    76

    瀏覽量

    19843
  • RT-Thread
    +關注

    關注

    32

    文章

    1387

    瀏覽量

    41690
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    RT-Thread記錄(一、版本開發環境及配合CubeMX)

    RT-Thread 學習記錄的第一篇文章,RT-Thread記錄(一、RT-Thread 版本、RT-Thread Studio開發
    的頭像 發表于 06-20 00:28 ?5874次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(一、版本<b class='flag-5'>開發</b><b class='flag-5'>環境</b>及配合CubeMX)

    RT-Thread設備驅動開發指南基礎篇—以先楫bsp的hwtimer設備為例

    RT-Thread設備驅動開發指南》書籍是RT-thread官方出品撰寫,系統講解RT-thread IO設備
    的頭像 發表于 02-20 16:01 ?2477次閱讀
    <b class='flag-5'>RT-Thread</b>設備<b class='flag-5'>驅動</b><b class='flag-5'>開發指南</b>基礎篇—以先楫bsp的hwtimer設備為例

    RT-Thread驅動開發指南進階篇-動手驅動先楫未適配的外設LCD

    經過上一篇的《《RT-Thread設備驅動開發指南》基礎篇--以先楫bsp的hwtimer設備為例》闡述,可以大致了解到RT-thread設備驅動
    的頭像 發表于 02-25 11:04 ?3798次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>驅動</b><b class='flag-5'>開發指南</b>進階篇-動手<b class='flag-5'>驅動</b>先楫未適配的外設LCD

    STM32L475開發指南-RT-Thread例程_V1.1

    STM32L475開發指南-RT-Thread例程_V1.1
    發表于 05-05 09:07

    已結束-【書籍評測活動NO.4】RT-Thread官方撰寫,涵蓋26種設備驅動開發指南

    本期書籍評測名單如下:大菠蘿Alpha 《RT-Thread設備驅動開發指南》學習之UART設備驅動開發學習 郭祥峰《
    發表于 02-22 15:30

    RT-Thread設備驅動開發指南》讀書測評

    驅動開發指南》這本書主要分了三個部分,由基礎篇,進階篇,高級篇組成,適用不同層次的開發者,對于不太熟悉或者沒有接觸過rt-thread系統的讀者可以先從基礎篇觀看,我們
    發表于 03-26 21:04

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開發組(2015-03-31)。RT-Thread做為國內有較大影響力的開源實時操作系統,本
    發表于 11-26 16:06 ?0次下載

    RT-Thread Studio驅動SD卡

    總結前言硬件平臺:RT-Thread ART-Pi STM32H750XBH6開發板 H750開發開發軟件:RT-Thread Studi
    發表于 12-27 19:13 ?20次下載
    <b class='flag-5'>RT-Thread</b> Studio<b class='flag-5'>驅動</b>SD卡

    RT-Thread 編程風格指南

    這是一份 RT-Thread 開發人員的開發指引。RT-Thread 做為一份開源軟件,它需要由不同 的人采用合作的方式完成,這份文檔是開發
    發表于 01-26 17:04 ?18次下載
    <b class='flag-5'>RT-Thread</b> 編程風格<b class='flag-5'>指南</b>

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
    發表于 02-22 18:23 ?10次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 潘多拉 STM32L475 上手<b class='flag-5'>指南</b>

    LPC55S69在RT-Thread上的SDIO驅動和文件系統

    本篇將介紹如何在LPC55S69_EVK開發板上,使用RT-ThreadSDIO驅動和FATFS文件系統組件實現SD卡上的文件讀寫。
    的頭像 發表于 03-08 14:13 ?1545次閱讀
    LPC55S69在<b class='flag-5'>RT-Thread</b>上的<b class='flag-5'>SDIO</b><b class='flag-5'>驅動</b>和文件系統

    送《RT-Thread設備驅動開發指南》,手慢無!

    迫切地希望有一本可以指導他們在RT-Thread開發驅動指南。 為了解決開發者的燃眉之急, 《RT
    的頭像 發表于 03-19 23:00 ?1681次閱讀

    電子工程專輯放福利啦!免費領取500本《RT-Thread設備驅動開發指南

    6月面包板社區新用戶注冊 免費領取物聯學習大禮包! 大禮包包含: 1、《RT-Thread設備驅動開發指南》 2、RT-Thread線上教學課程16講 3、10GB物聯資料大全下載 掃
    的頭像 發表于 06-28 19:25 ?901次閱讀
    電子工程專輯放福利啦!免費領取500本《<b class='flag-5'>RT-Thread</b>設備<b class='flag-5'>驅動</b><b class='flag-5'>開發指南</b>》

    RT-Thread設備驅動開發指南》基礎篇--以先楫bsp的hwtimer設備為例

    一、概述(一)RT-Thread設備驅動RT-Thread設備驅動開發指南》書籍是RT-thread
    的頭像 發表于 02-24 08:16 ?2616次閱讀
    《<b class='flag-5'>RT-Thread</b>設備<b class='flag-5'>驅動</b><b class='flag-5'>開發指南</b>》基礎篇--以先楫bsp的hwtimer設備為例

    【好書推薦】RT-Thread設備驅動開發指南

    強烈,他們迫切地希望有一本可以指導他們在RT-Thread開發驅動指南。為了解決開發者的燃眉之急,《
    的頭像 發表于 08-01 08:35 ?1242次閱讀
    【好書推薦】<b class='flag-5'>RT-Thread</b>設備<b class='flag-5'>驅動</b><b class='flag-5'>開發指南</b>
    主站蜘蛛池模板: 亚洲在线a | 亚洲国内精品久久 | 九九51精品国产免费看 | 黄色a毛片 | 欧美老汉色 | 黄色免费片 | 一级毛片aaaaaa视频免费看 | xxxx性欧美高清| 日本xxxxx黄区免费看动漫 | 国产三级在线视频观看 | 看黄网站在线 | 在线播放免费视频 | haodiaose在线精品免费观看 | 特黄一级 | 天天鲁天天爽精品视频 | 国产三级在线 | 色综合激情网 | 天天av天天翘天天综合网 | 性感美女逼| 久久久久久久综合狠狠综合 | 日本特黄a级高清免费大片18 | 777成了人乱视频 | 国产白白白在线永久播放 | 久久黄色影片 | 直接看的黄色网址 | 亚洲播放| 激情综合五月婷婷 | 国产chinesehd精品酒店 | 婷婷丁香六月天 | 成熟妇女毛耸耸性视频 | 欧洲色 | 一区二区三区午夜 | 在线天堂中文新版有限公司 | 68日本xxxxxxx18| 老汉影视永久免费视频 | 一区二区3区免费视频 | 亚洲+国产+图片 | 日韩欧美卡一卡二卡新区 | 丁香六月啪 | 久久精品男人影院 | 美女扒开尿口给男人爽的视频 |