Notice
Recent Posts
Recent Comments
Link
LV 12
GD32 마를린 DMA 문제 해결 본문
728x90
STM32F103의 수급 부족으로 인해 GD32F303 MCU를 탑재한 보드들이 시중에 많이 유통되었습니다.
문제는 GD32F303의 경우, DMA 컨트롤러의 결함으로 인해 LCD와 SD 카드 슬롯을 병렬로 사용할 수 없으며, 이로 인해 마를린 순정 펌웨어를 그대로 컴파일 해서 사용할 경우 SD 카드 읽기 오류가 발생할 수 있습니다.
해결 방법
Marlin > src > HAL > STM32 > tft > tft_fsmc.cpp
위 디렉토리를 따라 해당 파일을 찾아주시기 바랍니다.
HAL_SRAM_Init(&SRAMx, &Timing, &ExtTiming);
__HAL_RCC_DMA2_CLK_ENABLE();
#ifdef STM32F1xx
DMAtx.Instance = DMA2_Channel1;
#elif defined(STM32F4xx)
DMAtx.Instance = DMA2_Stream0;
DMAtx.Init.Channel = DMA_CHANNEL_0;
DMAtx.Init.FIFOMode = DMA_FIFOMODE_ENABLE;
Line 103을 보면 위와 같이 되어 있는데, 이 부분을 아래와 같이 수정해 주시기 바랍니다.
HAL_SRAM_Init(&SRAMx, &Timing, &ExtTiming);
#ifdef STM32F1xx
__HAL_RCC_DMA1_CLK_ENABLE();
DMAtx.Instance = DMA1_Channel1;
#elif defined(STM32F4xx)
__HAL_RCC_DMA2_CLK_ENABLE();
DMAtx.Instance = DMA2_Stream0;
DMAtx.Init.Channel = DMA_CHANNEL_0;
DMAtx.Init.FIFOMode = DMA_FIFOMODE_ENABLE;
출처: https://github.com/jmz52/Marlin/commit/1940418bbe89d07863ed05c6cddb1edf285a5a31
728x90
'하드웨어' 카테고리의 다른 글
3D 프린터 101 - #2. 용도에 따른 예산 책정 (0) | 2023.03.13 |
---|---|
3D 프린터 101 - #1. 용어 설명 (0) | 2023.03.11 |
Marlin ColorUI 한글 폰트 깨짐 해결 방법 (0) | 2023.03.03 |
클리퍼 튜토리얼 - FluiddPi 설치 방법 (0) | 2022.12.02 |
3D 프린터 용어 정리 (0) | 2022.11.03 |