1. 前言說明原文:https://club.rt-thread.org/ask/article/83cc823b1c25ced9.html
1.1 本章內容
首先對SDHI和SDIO本質上的區別進行說明,然后使用RT-Studio新建工程進行開發,通過RASC對RA6M3的底層硬件配置,然后使用SDHI接口實現SD的識別,搭配文件系統對SD卡進行讀寫操作,同時記錄開發遇到的問題。
1.2 模塊介紹
本次的測評任務是SDHI,之前用SDIO用的比較多,不太了解SDHI,先對SDHI進行介紹:
SDHI是Secure Digital Host Interface的縮寫,是一種SD存儲卡控制器的接口規范。SDHI負責管理SD存儲卡的內部狀態,并將讀寫請求發送到存儲卡中。SDHI與處理器之間進行通信,以便處理器可以直接訪問SD存儲卡。
而SDIO是Secure Digital Input/Output的縮寫,是一種基于SD標準的接口規范,主要用于連接各種外部設備,例如Wi-Fi模塊、藍牙模塊、數字相機等。SDIO定義了一個特定的層次結構,使設備之間能夠簡單地交換數據。
SDIO和SDHI分別描述了兩個不同的方面:SDIO提供與外部設備通信的功能,而SDHI提供主機與SD存儲卡通信的功能。兩者在功能和應用場景上并不相同。
RA6M3的SDHI可以支持1-bit和4-bit總線用于連接SD、SDHC以及SDXC不同格式的存儲卡,也可以支持1-bit、4-bit和8-bit的MMC總線,用于供eMMC4.51(JEDEC標準JESD84-B451)設備的接入與訪問。

SD/MMC Host 接口框圖
1.3 開發軟件
RT-Studio
1.4 硬件設計
SD卡連接的是SDHI1,引腳連接如下所示:

2.步驟說明
2.1新建工程
- 點擊文件,新建RT-Thread項目

- 基于開發板,選擇HMI-Board,本次基于模板工程即可,調試器選擇DAP-Link,接口SWD,板載的調試器,方便調試。

2.2芯片底層驅動配置
- 完成工程新建后,右擊RA Smart Configurator選擇FSP3.5.0的安裝路徑,用于配置芯片底層硬件驅動

- 配置完成后,雙擊進入配置頁面

- 選擇Pins,找到SDHI,選擇SD-MMC 1bit

- 然后找到Stacks,配置SDHI,配置為1bit,同時添加DTC

- 配置完成后,點擊Generate Project Content,會將配置同步到剛才的新建工程配置。

2.3 RT-Thread 配置
- 雙擊RT-Thread Setting,進入配置頁面,點亮DFS,Fatfs以及SDIO

- 右擊進入配置項,在硬件下是使能SDHI以及文件系統

- 在組件下選擇使用設備虛擬文件系統,進行配置

- 選擇對設備使用devfs

- 接下來找到使用SD/MMC設備驅動程序進行配置,然后點擊保存,關閉配置頁面

3.代碼驗證
編譯工程,下載,將內存卡插入板載的SD卡槽

打開終端,復位,查看輸出,內存卡讀取成功,但是掛載失敗

這里我研究了一段時間,根據輸出可以看出,剛開始讀取設備得到的是0,然后開始掛掛載,導致掛載失敗,之后又讀取到了設備,說明時序不對。

接下來找到內存卡掛載的文件,mnt.c,在board文件下,ports文件下

將掛載SD卡的程序挪出來,放在之后初始化,這里我選擇的是新建一個函數

新建一個函數用于掛載SD卡,先進行一個延時,然后格式化SD卡,這個步驟可以使用命令行操作,會把內存卡的內容清掉。

將剛才的SD卡掛載函數放在main函數前,這里放在末尾初始化,避免時序的原因掛載不上

重編譯,下載程序,查看終端輸出,直接掛載成功

接下來就可以使用命令對SD進行操作了,新建一個文件夾

將RA6M3輸入到Test.txt,然后讀取Test.txt

4.總結
本次HMI-Board 的SDHI使用已經完成,剛開始對SDIO和SDHI的區別進行了介紹,然后新建工程實現對SD卡的操作,在本次使用過程中遇到時序上的問題,剛開始不知道什么原因,后面慢慢查詢調試找到了問題所在,本次實現的是簡單的SD卡操作,后面有時間的話打算實現使用板載屏幕做一個電子小說閱讀器。
———————End———————
RT-Thread線下入門培訓
7月 - 上海,南京
1.免費2.動手實驗+理論3.主辦方免費提供開發板4.自行攜帶電腦,及插線板用于筆記本電腦充電5.參與者需要有C語言、單片機(ARM Cortex-M核)基礎,請提前安裝好RT-Thread Studio 開發環境
報名通道

立即掃碼報名
(報名成功即可參加)
掃碼添加rtthread2020可參加活動可加微信拉進活動現場微信群

主辦單位

報名鏈接:https://jinshuju.net/f/UYxS2k
-
RT-Thread
+關注
關注
32文章
1632瀏覽量
45126 -
RA6M3
+關注
關注
0文章
52瀏覽量
625
原文標題:RA6M3 HMI Board 之SDHI實踐
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
Renesas RA6M4微控制器:性能卓越的硬件之選
RA6M3微控制器:高性能與多功能的完美融合
深度剖析Renesas RA6M5微控制器:特性、應用與設計要點
Renesas RA6M1 Group 32位MCU:高性能與多功能的完美結合
RA6M2微控制器:高性能與多功能的完美融合
深入剖析RA6T3微控制器:特性、應用與設計考量
【RA-Eco-RA4M2開發板評測】適配Zephyr OS,快速驅動LED與串口
HMI應用新選擇:基于瑞薩RZ/A3M的LVGL Demo Setup教程(下)
探索Renesas AIK - RA6M3:開啟嵌入式開發新旅程
【RA-Eco-RA6M4開發板評測】WDT實踐
【RA-Eco-RA6M4開發板評測】開發環境搭建
HMI-Board以太網通過mqtt連接云學習筆記 | 技術集結
RA6M3 HMI Board 之SDHI實踐
評論