久久精品国产精品国产一区,少妇扒开毛毛自慰喷水,国产精品无码电影在线观看 ,久久天天躁夜夜躁狠狠85麻豆

思澈科技軟件開發(fā)工具包  2.20
SDIO

SDIO驅(qū)動(dòng)包括兩層:硬件訪問(wèn)層(HAL)和RT-Thread的適配層。
HAL 提供用于訪問(wèn) SDIO 外設(shè)寄存器的基本 API。 有關(guān)詳細(xì)信息,請(qǐng)參閱 SDIO HAL 的 API 文檔。
適配層提供 SDCARD 訪問(wèn)功能。 初始化后注冊(cè)一個(gè)SDCARD設(shè)備,可以被文件系統(tǒng)訪問(wèn)。

驅(qū)動(dòng)配置

硬件驅(qū)動(dòng)程序默認(rèn)初始化為 SDMMC 卡的塊設(shè)備。 它可以使用 menuconfig 工具為每個(gè)項(xiàng)目啟用,通常保存在 C 頭文件中。 默認(rèn)情況下,配置保存為 rtconfig.h。

以下示例顯示了在一個(gè)項(xiàng)目頭文件中定義的標(biāo)志,該項(xiàng)目在 BSP 中啟用 SDIO。 對(duì)于 RT-Thread,它的 SDMMC 設(shè)備也需要啟用。 為 BSP 選擇配置的步驟:

  • 在項(xiàng)目下的命令中輸入“menuconfig”
  • 選擇“RTOS —>”
  • 選擇“On-chip Peripheral Driver—>”
  • 選擇“Enable SDIO” 啟用SDIO驅(qū)動(dòng),定義宏BSP_USING_SDIO
    #define BSP_USING_SDIO
    這里顯示了 RT-Thread SDIO 驅(qū)動(dòng)程序配置:
  • 選擇“RTOS”—>
  • 選擇“RT-Thread Components —>”
  • 選擇“Device Driver—>”
  • 選擇“Using SD/MMC device drivers ”
  • 選擇“The stack size for mmcsd thread” 輸入 2048, 更改宏 RT_MMCSD_STACK_SIZE,1024 太小。 如果不需要,其他配置不改變。
#define RT_USING_SDIO
#define RT_SDIO_STACK_SIZE 512
#define RT_SDIO_THREAD_PRIORITY 15
#define RT_MMCSD_STACK_SIZE 2048
#define RT_MMCSD_THREAD_PREORITY 22
#define RT_MMCSD_MAX_PARTITION 16

配置完成后,用戶需要在所有需要訪問(wèn)驅(qū)動(dòng)程序的源代碼中包含頭文件。

使用 SDMMC

適配器層注冊(cè) RT-Thread 請(qǐng)求的硬件支持功能,并使用 HAL 實(shí)現(xiàn)這些功能。 對(duì)于使用 RT-Thread 的用戶,可以使用以下代碼作為示例:

// Find and open sdcard as block device
rt_device_t dev = rt_device_find("sd0"); // get block device
rt_err_t err = rt_device_open(dev, RT_DEVICE_FLAG_RDWR);
// read sdmmc, it's a block device, read size should be block based(default as 512)
char * buf = malloc(4096);
blk = len >> 9;
int size = rt_device_read(dev, addr, (void *)buf, blk);
// Write sdmmc
size = rt_device_write(dev, addr, buf, blk);
...
// Close block device
rt_device_close(dev);
len
uint16_t len
Definition: bf0_ble_ancs.h:226