Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issue with #define VFP_ENABLE #48

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 23 additions & 22 deletions .cproject

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,3 +35,5 @@ build

.vscode/settings.json
.vscode/c_cpp_properties.json

Debug
36 changes: 18 additions & 18 deletions .settings/language.settings.xml

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
// See http://go.microsoft.com/fwlink/?LinkId=827846
// for the documentation about the extensions.json format
"recommendations": [
"platformio.platformio-ide"
]
}
47 changes: 47 additions & 0 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// AUTOMATICALLY GENERATED FILE. PLEASE DO NOT MODIFY IT MANUALLY
//
// PIO Unified Debugger
//
// Documentation: https://docs.platformio.org/page/plus/debugging.html
// Configuration: https://docs.platformio.org/page/projectconf/section_env_debug.html

{
"version": "0.2.0",
"configurations": [
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug",
"executable": "e:/TAI/01_AKB/STM32CubeIDE/STM32F4xx/.pio/build/btt_skr_pro_1_1/firmware.elf",
"projectEnvName": "btt_skr_pro_1_1",
"toolchainBinDir": "C:/Users/tai/.platformio/packages/[email protected]/bin",
"internalConsoleOptions": "openOnSessionStart",
"svdPath": "C:/Users/tai/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd",
"preLaunchTask": {
"type": "PlatformIO",
"task": "Pre-Debug"
}
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (skip Pre-Debug)",
"executable": "e:/TAI/01_AKB/STM32CubeIDE/STM32F4xx/.pio/build/btt_skr_pro_1_1/firmware.elf",
"projectEnvName": "btt_skr_pro_1_1",
"toolchainBinDir": "C:/Users/tai/.platformio/packages/[email protected]/bin",
"internalConsoleOptions": "openOnSessionStart",
"svdPath": "C:/Users/tai/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd"
},
{
"type": "platformio-debug",
"request": "launch",
"name": "PIO Debug (without uploading)",
"executable": "e:/TAI/01_AKB/STM32CubeIDE/STM32F4xx/.pio/build/btt_skr_pro_1_1/firmware.elf",
"projectEnvName": "btt_skr_pro_1_1",
"toolchainBinDir": "C:/Users/tai/.platformio/packages/[email protected]/bin",
"internalConsoleOptions": "openOnSessionStart",
"svdPath": "C:/Users/tai/.platformio/platforms/ststm32/misc/svd/STM32F40x.svd",
"loadMode": "manual"
}
]
}
6 changes: 3 additions & 3 deletions Inc/driver.h
Original file line number Diff line number Diff line change
Expand Up @@ -305,9 +305,9 @@
#error SD card plugin not supported!
#endif

#ifndef I2C_PORT
#define I2C_PORT 2 // GPIOB, SCL_PIN = 10, SDA_PIN = 11
#endif
//#ifndef I2C_PORT
//#define I2C_PORT 2 // GPIOB, SCL_PIN = 10, SDA_PIN = 11
//#endif

#ifndef SPI_PORT
#define SPI_PORT 1
Expand Down
40 changes: 20 additions & 20 deletions Inc/my_machine.h
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
/*
my_machine.h - configuration for STM32F4xx ARM processors
my_machine.h - configuration for STM32F4xx ARM processors

Part of grblHAL
Part of grblHAL

Copyright (c) 2020-2021 Terje Io
Copyright (c) 2020-2021 Terje Io

Grbl is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Grbl is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Grbl is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
Grbl is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
*/
You should have received a copy of the GNU General Public License
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
*/

// NOTE: Only one board may be enabled!
// If none is enabled pin mappings from generic_map.h will be used.
Expand All @@ -32,7 +32,7 @@
//#define BOARD_BTT_SKR_PRO_1_1 // F407 based 3D Printer board
//#define BOARD_BTT_SKR_PRO_1_2 // F407 based 3D Printer board
//#define BOARD_BTT_SKR_20 // F407 based 3D Printer board
//#define BOARD_MY_MACHINE // Add my_machine_map.h before enabling this!
#define BOARD_MY_MACHINE // Add my_machine_map.h before enabling this!

// WARNING: BOARD_BTT_SKR_20 may fry your Trinamic drivers due to bad hardware design.
// The risk goes away if Q1 (HY1904C2) is shorted between source (S) and drain (D).
Expand All @@ -49,14 +49,15 @@
// Uncomment to enable.

#if !IS_NUCLEO_DEVKIT // The Nucleo boards has an off-chip UART to USB interface.
#define USB_SERIAL_CDC 1 // Serial communication via native USB.
//#define USB_SERIAL_CDC 1 // Serial communication via native USB.
#endif
//#define BLUETOOTH_ENABLE 1 // Set to 1 for HC-05 module. Requires and claims one auxillary input pin.
//#define HUANYANG_ENABLE 1 // Set to 1 or 2 for Huanyang VFD spindle.
//#define VFD_ENABLE 101 // Set to 1 or 2 for Huanyang VFD spindle. More here https://github.com/grblHAL/Plugins_spindle
//#define SHIHLIN_ENABLE 1
//#define DUAL_SPINDLE 1 // Uncomment for switching between VFD spindle and PWM output with $32
//#define MODBUS_ENABLE 1 // Set to 1 for auto direction, 2 for direction signal on auxillary output pin.
//#define MODBUS_ENABLE 3 // Set to 1 for auto direction, 2 for direction signal on auxillary output pin, 3 for shihlin vfd (author:tai)
//#define SDCARD_ENABLE 2 // Run gcode programs from SD card.
//#define KEYPAD_ENABLE 1 // Set to 1 for I2C keypad, 2 for other input such as serial data
//#define KEYPAD_ENABLE 2 // Set to 1 for I2C keypad, 2 for other input such as serial data
//#define ODOMETER_ENABLE 1 // Odometer plugin.
//#define PPI_ENABLE 1 // Laser PPI plugin. To be completed.
//#define LASER_COOLANT_ENABLE 1 // Laser coolant plugin. To be completed.
Expand All @@ -83,4 +84,3 @@
//#define Y_GANGED_LIM_MAX 1
//#define Z_GANGED_LIM_MAX 1
//

140 changes: 140 additions & 0 deletions Inc/my_machine_map.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
/*
my_machine_map.h - driver code for F4MPV5 (STM32F407) board

Part of GrblHAL

Copyright (c) 2021 atlesg

Grbl is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Grbl is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Grbl. If not, see <http://www.gnu.org/licenses/>.
*/

/* Default Pin Assignments:
* A0 X Step | B0 Step En/Dis | C0 (N/A)
* A1 X Direction | B1 Spindle Enable | C1 (N/A)
* A2 Y Step | B2 Spindle Direction | C2 (N/A)
* A3 Y Direction | B3 | C3 (N/A)
* A4 Z Step | B4 | C4 (N/A)
* A5 Z Direction | B5 | C5 (N/A)
* A6 A Step | B6 Reset | C6 (N/A)
* A7 A Direction | B7 Feed Hold | C7 (N/A)
* A8 Spindle PWM | B8 Cycle Start | C8 (N/A)
* A9 Y2 Step | B9 Door Safety | C9 (N/A)
* A10 Y2 Direction | B10 Y2 Limit | C10 (N/A)
* A11 | B11 | C11 (N/A)
* A12 | B12 X Limit | C12 (N/A)
* A13 | B13 Y Limit | C13
* A14 | B14 Z Limit | C14 Coolant Flood
* A15 | B15 Probe | C15 coolant Mist
*/



#if N_ABC_MOTORS > 1
#error "Axis configuration is not supported!"
#endif

#if !defined(STM32F407xx) || HSE_VALUE != 8000000
#error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
#endif

#define BOARD_NAME "F4MPV5_HOSOI"
#define HAS_BOARD_INIT



// Define step pulse output pins.
#define STEP_PORT GPIOA
#define X_STEP_PIN 2 // JM1
#define Y_STEP_PIN 4 // JM2
#define Z_STEP_PIN 6 // JM3
#define STEP_OUTMODE GPIO_MAP


#define DIRECTION_PORT GPIOA
#define X_DIRECTION_PIN 3 // JM1
#define Y_DIRECTION_PIN 5 // JM2
#define Z_DIRECTION_PIN 7 // JM3
#define DIRECTION_OUTMODE GPIO_MAP

// Define stepper driver enable/disable output pin.
#define STEPPERS_ENABLE_PORT GPIOA // JM4-PU
#define STEPPERS_ENABLE_PIN 6
#define STEPPERS_ENABLE_MASK STEPPERS_ENABLE_BIT

// Define homing/hard limit switch input pins.
#define LIMIT_PORT GPIOD
#define X_LIMIT_PIN 13 // N12
#define Y_LIMIT_PIN 14 // N13
#define Z_LIMIT_PIN 15 // N14
#define LIMIT_INMODE GPIO_SHIFT12

// Define ganged axis or A axis step pulse and step direction output pins.
#if N_ABC_MOTORS == 1
#define M3_AVAILABLE
#define M3_STEP_PORT STEP_PORT
#define M3_STEP_PIN 6
#define M3_DIRECTION_PORT DIRECTION_PORT
#define M3_DIRECTION_PIN 7
#if N_AUTO_SQUARED
#define M3_LIMIT_PORT LIMIT_PORT
#define M3_LIMIT_PIN 15
#endif
#endif

// Define spindle enable and spindle direction output pins.
//#define SPINDLE_ENABLE_PORT GPIOB
//#define SPINDLE_ENABLE_PIN 0 // JM5 - PU
//#define SPINDLE_DIRECTION_PORT GPIOB
//#define SPINDLE_DIRECTION_PIN 1 // JM5 - DR

#define SPINDLE_CW_PORT GPIOE
#define SPINDLE_CW_PIN 2
#define SPINDLE_CCW_PORT GPIOE
#define SPINDLE_CCW_PIN 3

// Define spindle PWM output pin.
//#define SPINDLE_PWM_PORT_BASE GPIOA_BASE
//#define SPINDLE_PWM_PIN 8

// Define flood and mist coolant enable output pins.
#define COOLANT_FLOOD_PORT GPIOE
#define COOLANT_FLOOD_PIN 1
//#define COOLANT_MIST_PORT GPIOB
//#define COOLANT_MIST_PIN 4

// Define user-control controls (cycle start, reset, feed hold) input pins.
#define CONTROL_PORT GPIOD
#define RESET_PIN 0 // N0
#define FEED_HOLD_PIN 1 // N1
#define CYCLE_START_PIN 2 // N2
#if SAFETY_DOOR_ENABLE
#define SAFETY_DOOR_PIN 1
#endif
#define CONTROL_INMODE GPIO_SHIFT6

// Define probe switch input pin.
#define PROBE_PORT GPIOD
#define PROBE_PIN 12 // N15

// Define main grbl uart port
#define UART_INSTANCE 2

// Define Spindle port and pins
#define MODBUS_SERIAL_PORT 3
//#define MODBUS_DIR_AUX 5

// Define I2C Port - avoid confliction with USART3 port
#undef I2C_PORT

/* EOF */
80 changes: 80 additions & 0 deletions STM32F4xx Debug.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.st.stm32cube.ide.mcu.debug.launch.launchConfigurationType">
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.access_port_id" value="0"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_live_expr" value="true"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.enable_swv" value="false"/>
<intAttribute key="com.st.stm32cube.ide.mcu.debug.launch.formatVersion" value="2"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.ip_address_local" value="localhost"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.limit_swo_clock.enabled" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.limit_swo_clock.value" value=""/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.loadList" value="{&quot;fItems&quot;:[{&quot;fIsFromMainTab&quot;:true,&quot;fPath&quot;:&quot;Debug/STM32F4xx.elf&quot;,&quot;fProjectName&quot;:&quot;STM32F4xx&quot;,&quot;fPerformBuild&quot;:true,&quot;fDownload&quot;:true,&quot;fLoadSymbols&quot;:true}]}"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.override_start_address_mode" value="default"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.remoteCommand" value="target remote"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startServer" value="true"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.divby0" value="true"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.exception.unaligned" value="false"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.startuptab.haltonexception" value="true"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swd_mode" value="true"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_port" value="61235"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.swv_trace_hclk" value="16000000"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.useRemoteTarget" value="true"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.launch.vector_table" value=""/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.launch.verify_flash_download" value="true"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_allow_halt" value="false"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.cti_signal_halt" value="false"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_external_loader" value="false"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_logging" value="false"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_max_halt_delay" value="false"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.enable_shared_stlink" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.external_loader" value=""/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.external_loader_init" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.frequency" value="0"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.halt_all_on_reset" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.log_file" value="E:\TAI\01_AKB\STM32CubeIDE\STM32F4xx\Debug\st-link_gdbserver_log.txt"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.low_power_debug" value="enable"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.max_halt_delay" value="2"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.reset_strategy" value="connect_under_reset"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_check_serial_number" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.stlink_txt_serial_number" value=""/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlink.watchdog_config" value="none"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkenable_rtos" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.debug.stlinkrestart_configurations" value="{&quot;fItems&quot;:[{&quot;fDisplayName&quot;:&quot;Reset&quot;,&quot;fIsSuppressible&quot;:false,&quot;fResetAttribute&quot;:&quot;Software system reset&quot;,&quot;fResetStrategies&quot;:[{&quot;fDisplayName&quot;:&quot;Software system reset&quot;,&quot;fLaunchAttribute&quot;:&quot;system_reset&quot;,&quot;fGdbCommands&quot;:[&quot;monitor reset\r\n&quot;],&quot;fCmdOptions&quot;:[&quot;-g&quot;]},{&quot;fDisplayName&quot;:&quot;Hardware reset&quot;,&quot;fLaunchAttribute&quot;:&quot;hardware_reset&quot;,&quot;fGdbCommands&quot;:[&quot;monitor reset hardware\r\n&quot;],&quot;fCmdOptions&quot;:[&quot;-g&quot;]},{&quot;fDisplayName&quot;:&quot;Core reset&quot;,&quot;fLaunchAttribute&quot;:&quot;core_reset&quot;,&quot;fGdbCommands&quot;:[&quot;monitor reset core\r\n&quot;],&quot;fCmdOptions&quot;:[&quot;-g&quot;]},{&quot;fDisplayName&quot;:&quot;None&quot;,&quot;fLaunchAttribute&quot;:&quot;no_reset&quot;,&quot;fGdbCommands&quot;:[],&quot;fCmdOptions&quot;:[&quot;-g&quot;]}],&quot;fGdbCommandGroup&quot;:{&quot;name&quot;:&quot;Additional commands&quot;,&quot;commands&quot;:[]}}]}"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.enableRtosProxy" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyCustomProperties" value=""/>
<stringAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyDriver" value="threadx"/>
<booleanAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyDriverAuto" value="false"/>
<stringAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyDriverPort" value="cortex_m0"/>
<intAttribute key="com.st.stm32cube.ide.mcu.rtosproxy.rtosProxyPort" value="60000"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doHalt" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.doReset" value="false"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.initCommands" value=""/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.ipAddress" value="localhost"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.jtagDeviceId" value="com.st.stm32cube.ide.mcu.debug.stlink"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.pcRegister" value=""/>
<intAttribute key="org.eclipse.cdt.debug.gdbjtag.core.portNumber" value="61234"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.runCommands" value=""/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setPcRegister" value="false"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setResume" value="true"/>
<booleanAttribute key="org.eclipse.cdt.debug.gdbjtag.core.setStopAt" value="true"/>
<stringAttribute key="org.eclipse.cdt.debug.gdbjtag.core.stopAt" value="main"/>
<stringAttribute key="org.eclipse.cdt.dsf.gdb.DEBUG_NAME" value="arm-none-eabi-gdb"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.NON_STOP" value="false"/>
<booleanAttribute key="org.eclipse.cdt.dsf.gdb.UPDATE_THREADLIST_ON_SUSPEND" value="false"/>
<intAttribute key="org.eclipse.cdt.launch.ATTR_BUILD_BEFORE_LAUNCH_ATTR" value="2"/>
<stringAttribute key="org.eclipse.cdt.launch.COREFILE_PATH" value=""/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_START_MODE" value="remote"/>
<booleanAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.DEBUGGER_STOP_AT_MAIN_SYMBOL" value="main"/>
<stringAttribute key="org.eclipse.cdt.launch.PROGRAM_NAME" value="Debug/STM32F4xx.elf"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_ATTR" value="STM32F4xx"/>
<booleanAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_AUTO_ATTR" value="true"/>
<stringAttribute key="org.eclipse.cdt.launch.PROJECT_BUILD_CONFIG_ID_ATTR" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.1660671548"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/STM32F4xx"/>
</listAttribute>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
<listEntry value="4"/>
</listAttribute>
<stringAttribute key="org.eclipse.dsf.launch.MEMORY_BLOCKS" value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&lt;memoryBlockExpressionList context=&quot;reserved-for-future-use&quot;/&gt;"/>
<stringAttribute key="process_factory_id" value="com.st.stm32cube.ide.mcu.debug.launch.HardwareDebugProcessFactory"/>
</launchConfiguration>
Loading