這兩天在學(xué)習(xí)使用HMI-Board的SDHI功能,在掛載文件系統(tǒng)時(shí)遇到了開發(fā)實(shí)踐指南中提到掛載文件系統(tǒng)失敗的問題,根據(jù)開發(fā)實(shí)踐指南中的方法能夠解決1bit位SDHI掛載文件系統(tǒng)失敗的問題,但在使用4bit位SDHI的時(shí)候,同樣的代碼會(huì)再次掛載失敗,如下圖所示。
所以本文提出了另一種解決方法。具體實(shí)踐如下。(注意本文的解決方法僅為掛載失敗的解決方法,至于其他的初始化配置請(qǐng)參考實(shí)踐開發(fā)指南中的第十五章《瑞薩RA6M3上的SDHI實(shí)踐》)
將圖中的原始代碼的_sdcard_mount函數(shù)修改為下列代碼,即可實(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卡
+關(guān)注
關(guān)注
2文章
575瀏覽量
65130 -
RT-Thread
+關(guān)注
關(guān)注
32文章
1370瀏覽量
41508 -
HMI系統(tǒng)
+關(guān)注
關(guān)注
0文章
20瀏覽量
1098
發(fā)布評(píng)論請(qǐng)先 登錄
linux驅(qū)動(dòng)開發(fā)_文件系統(tǒng)本地掛載

基于HMI-Board的智能宿舍空調(diào)管理系統(tǒng)設(shè)計(jì)案例

評(píng)論