CUBE IDE를 통해서는 한 번에 하나의 USB_DEVICE_MODE만 구현할 수 있다.
여러가지 USB_MOD를 사용하기 위해서는 별도의 파일구조로 만들어 주고 CDC, MSC 등 파일들을 옮겨주면 된다.
Composite Device 를 통해서 여러가지 USB MODE를 한 번에 쓸 수도 있다고 하지만 조금 복잡해 보이기도 하고 bram님의 https://www.youtube.com/watch?v=sIp2hQv2F6Q
영상이 있으서 따라 해봤다.
Middlewares(folder)
-st(folder)
--stm32_USB_Device_Libary(folder)
---Class(folder)
----CDC(folder)
---Core(folder)
----Inc(folder)
----Src(folder)
USB_DEVICE(folder)
-APP(folder)
-Target(folder)
위 자동생성되는 파일들을 아래로 잘 맞춰서 넣어주면 된다.
App(folder)
-ap(folder)
-common(folder)
-hw(folder)
--inc(folder)
--src(folder)
---usb(folder)
----core(folder)
----usb_cdc(folder)
----usb_msc(folder)
----usbd_conf.c
----usbd_conf.h


MSC를 추가하기 위해서는 cubeide로 usb_mode를 MSC로 바꾸고 재빌드 후 파일 구조를 변경해주면된다.
그리고 usbd_storage_if.c 파일에 sd카드를 연결해주면 된다.
잘 인식되는 것을 확인 할 수 있다.
