From ce55a7bd9bc995f7ae3cde11e381df09ac9b04a4 Mon Sep 17 00:00:00 2001 From: Chris <52449218+shadow578@users.noreply.github.com> Date: Tue, 10 Sep 2024 11:15:59 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A9=B9=20HC32:=20pin=20package=20versions?= =?UTF-8?q?=20(#27289)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/HAL/HC32/inc/SanityCheck.h | 6 +++-- ini/hc32.ini | 35 +++++++++++++-------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/Marlin/src/HAL/HC32/inc/SanityCheck.h b/Marlin/src/HAL/HC32/inc/SanityCheck.h index 6b12e4d0471..1e62f92bbf2 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 c9533bad17a..71a1e35c373 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)