這兩天在學習使用HMI-Board的SDHI功能,在掛載文件系統(tǒng)時遇到了開發(fā)實踐指南中提到掛載文件系統(tǒng)失敗的問題,根據(jù)開發(fā)實踐指南中的方法能夠解決1bit位SDHI掛載文件系統(tǒng)失敗的問題,但在使用4bit位SDHI的時候,同樣的代碼會再次掛載失敗,如下圖所示。
所以本文提出了另一種解決方法。具體實踐如下。(注意本文的解決方法僅為掛載失敗的解決方法,至于其他的初始化配置請參考實踐開發(fā)指南中的第十五章《瑞薩RA6M3上的SDHI實踐》)
將圖中的原始代碼的_sdcard_mount函數(shù)修改為下列代碼,即可實現(xiàn)正常掛載文件系統(tǒng)。_sdcard_mount函數(shù)的位置如下圖中所示。
static void _sdcard_mount(void)
{
rt_device_t device;
static int mount_state = 1;
device = rt_device_find("sd");
rt_kprintf("rt_device_find %x rn", device);
if (device == NULL)
{
mmcsd_wait_cd_changed(0);
sdcard_change();
mmcsd_wait_cd_changed(RT_WAITING_FOREVER);
device = rt_device_find("sd");
}
if (mount_state != RT_EOK)
{
//mkfs("elm", "sd"); //將SD卡按照“elm”格式格式化,僅格式化一次即可
mount_state = dfs_mount("sd", "/", "elm", 0, 0);
if (mount_state == RT_EOK)
{
LOG_I("sd card mount to '/'");
}
else
{
LOG_W("sd card mount to '/' failed!");
}
}
}
掛載成功截圖如下圖所示。
-
SD卡
+關注
關注
2文章
579瀏覽量
65751 -
RT-Thread
+關注
關注
32文章
1412瀏覽量
41999 -
HMI系統(tǒng)
+關注
關注
0文章
20瀏覽量
1110
發(fā)布評論請先 登錄
linux驅動開發(fā)_文件系統(tǒng)本地掛載

基于HMI-Board的智能宿舍空調管理系統(tǒng)設計案例

評論