본문 바로가기

[STM32F746G-DISCO] MSC 사용하기 (Host Mode)

by rudals.kim 2024. 7. 18. 댓글 개
반응형
아래 테스트는 STM32CubeIDE 1.6.1/STM32Cube_FW_F7_V1.16.1를 사용하여 테스트 되었습니다.


STM32F746G-DISCO 보드에는 USB FS 커넥터에 USB 메모리 스틱을 연결하여 USB Host 모드를 테스트해 보았습니다.
(테스트는 STM32Cube_FW_F7_V1.16.1/Projects/STM32746G-Discovery/Applications/USB_Host/MSC_Standalone 예제를 참고하여 작성되었습니다.)

새 프로젝트를 생성하여 핀 초기화 후 DMA2D/FMC/GPIO/LTDC/RCC/SYS/USART1/USB_HOST/USB_OTG_FS를 설정하였습니다. (LCD_Log를 사용하여 LCD 관련 설정이 필요합니다.)

USB HOST의 MSC 관련 설정은 아래와 같이 설정하였습니다.

예제를 참고하여 explorer.c , file_operations.c , menu.c , usbh_diskio_dma.c를 재사용하였습니다.

STMCubeMX를 사용하여 USB_HOST를 작성하면 USB_HOST/Target/usbh_conf.c 파일이 자동 생성되는데 예제는 src/usb_conf.c에 있습니다. 2개의 프로젝트 파일을 비교하여 적용하시면 됩니다.

예제를 참고하여 비교/적용하시면 큰 무리 없이 프로젝트를 작성할 수 있습니다.
빌드하여 실행해 보면 아래와 같은 화면이 나옵니다.

CN13(USB_FS) 커넥터 단자에 OTG 젠더를 사용하여 USB 메모리 스틱을 연결해 보았습니다.
기본적인 USB 메모리의 정보가 표시되며 USER 버튼을 누르면 읽기/쓰기 테스트를 시작할 수 있습니다.

보드 뒷면의 USER버튼을 눌러 테스트를 해 봅니다. USB 메모리의 ROOT에 USBHost.txt 파일을 생성 후 'USB Host Library : Mass Storage Example' 데이터를 쓰고 읽어옵니다.

PC에 USB 메모리를 연결하여 확인 해 보았습니다.

다시 USER 버튼을 누르면 USB 메모리의 Tree 구조를 보여줍니다.

USB Host 모드에서 USB 메모리를 사용하여 MSC 테스트를 해 보았습니다.

반응형

댓글