diff --git a/Marlin/src/HAL/HC32/inc/SanityCheck.h b/Marlin/src/HAL/HC32/inc/SanityCheck.h index 6b12e4d047..1e62f92bbf 100644 --- a/Marlin/src/HAL/HC32/inc/SanityCheck.h +++ b/Marlin/src/HAL/HC32/inc/SanityCheck.h @@ -94,8 +94,10 @@ #error "SERIAL_DMA requires USART_RX_DMA_SUPPORT to be enabled in the arduino core." #endif - // USART_RX_DMA_SUPPORT does not implement core_hook_usart_rx_irq, which is required for the emergency parser - #if ENABLED(EMERGENCY_PARSER) + // Before arduino core version 1.2.0, USART_RX_DMA_SUPPORT did not implement + // core_hook_usart_rx_irq, which is required for the emergency parser. + // With 1.2.0, this was fixed (see https://github.com/shadow578/framework-arduino-hc32f46x/pull/25). + #if ENABLED(EMERGENCY_PARSER) && ARDUINO_CORE_VERSION_INT < GET_VERSION_INT(1, 2, 0) #error "EMERGENCY_PARSER is not supported with SERIAL_DMA. Please disable either SERIAL_DMA or EMERGENCY_PARSER." #endif diff --git a/ini/hc32.ini b/ini/hc32.ini index c9533bad17..71a1e35c37 100644 --- a/ini/hc32.ini +++ b/ini/hc32.ini @@ -27,17 +27,18 @@ # Base Environment for all HC32F460 variants # [HC32F460_base] -platform = https://github.com/shadow578/platform-hc32f46x/archive/1.0.0.zip -board = generic_hc32f460 -build_src_filter = ${common.default_src_filter} + + -build_type = release -build_flags = - -D ARDUINO_ARCH_HC32 - -D PLATFORM_M997_SUPPORT # Enable M997 command - # note: ddl and arduino debug mode are - # automatically enabled with MARLIN_DEV_MODE - #-D __DEBUG # force DDL debug mode - #-D __CORE_DEBUG # force Arduino core debug mode +platform = https://github.com/shadow578/platform-hc32f46x/archive/1.1.0.zip +platform_packages = framework-hc32f46x-ddl@https://github.com/shadow578/framework-hc32f46x-ddl/archive/2.2.2.zip + framework-arduino-hc32f46x@https://github.com/shadow578/framework-arduino-hc32f46x/archive/1.2.0.zip +board = generic_hc32f460 +build_src_filter = ${common.default_src_filter} + + +build_type = release +build_flags = -D ARDUINO_ARCH_HC32 + -D PLATFORM_M997_SUPPORT # Enable M997 command + # note: ddl and arduino debug mode are + # automatically enabled with MARLIN_DEV_MODE + #-D __DEBUG # force DDL debug mode + #-D __CORE_DEBUG # force Arduino core debug mode # hc32 app configuration file board_build.app_config = Marlin/src/HAL/HC32/app_config.h @@ -51,15 +52,13 @@ board_build.ddl.timera = true board_build.mw.sd_card = true # extra build flags -board_build.flags.common = - -g3 # Force emit debug symbols to elf. this does not affect the final binary size - -fno-signed-char # Force unsigned chars. this is required for meatpack to work +board_build.flags.common = -g3 # Force emit debug symbols to elf. this does not affect the final binary size + -fno-signed-char # Force unsigned chars. this is required for meatpack to work # Additional flags to reduce binary size -board_build.flags.cpp = - -fno-threadsafe-statics # Disable thread-safe statics (only one core anyway) - -fno-exceptions # Disable exceptions (not used by marlin) - -fno-rtti # Disable RTTI (not used by marlin) +board_build.flags.cpp = -fno-threadsafe-statics # Disable thread-safe statics (only one core anyway) + -fno-exceptions # Disable exceptions (not used by marlin) + -fno-rtti # Disable RTTI (not used by marlin) # # Base HC32F460xCxx (256K Flash)