본문 바로가기

ESPRESSIF/ESP32-S2

ESP32-S2 USB 테스트 - TinyUSB 를 이용한 USB RAM Disk 테스트

ESP32에서 기본으로 제공하는 USB관련 예제는 다양하지 않아서 기존에 사용하던 TinyUSB 라이브러리를 사용해 USB를 테스트 해 보았다.

 

기존의TinyUSB 라이브러리는 Arduino에서 지원하지 않는다고 한다.

그래서 찾아보니 ESP32TinyUSB(https://github.com/chegewara/EspTinyUSB) 라이브러리가 있다.

 

 

 

#include "ramdisk.h"
//#define AUTO_ALLOCATE_DISK 
#define BLOCK_COUNT 2 * 100
#define BLOCK_SIZE 512
#if CFG_TUD_MSC
USBramdisk dev;
void setup()
{
    Serial.begin(115200);
#ifndef AUTO_ALLOCATE_DISK
    uint8_t* disk = (uint8_t*)ps_calloc(BLOCK_COUNT, BLOCK_SIZE);
    dev.setDiskMemory(disk, true); // pass pointer to allocated ram disk and initialize it with demo FAT12 (true)
#endif
    dev.setCapacity(BLOCK_COUNT, BLOCK_SIZE); // if PSRAM is enableb, then ramdisk will be initialized in it
    if(dev.begin()) {
      Serial.println("MSC lun 1 begin");
    } else log_e("LUN 1 failed");
}
void loop()
{
  delay(1000);
}
#endif
반응형