Начата работа над GUI для симулятора:

- выставление настроек компиляции
- задание исходников и путей для компиляции
This commit is contained in:
2025-06-08 20:16:55 +03:00
parent 70e524f041
commit 3a14a5c252
4 changed files with 218 additions and 28 deletions

View File

@@ -45,8 +45,8 @@
// Parametrs of MCU simulator
//#define RUN_APP_MAIN_FUNC_THREAD ///< Enable using thread for MCU main() func
#define DEKSTOP_CYCLES_FOR_MCU_APP 0xFF ///< number of for() cycles after which MCU thread would be suspended
#define MCU_CORE_CLOCK 72000000
//#define DEKSTOP_CYCLES_FOR_MCU_APP 0xFF ///< number of for() cycles after which MCU thread would be suspended
//#define MCU_CORE_CLOCK 72000000
//#define DEINITIALIZE_AFTER_SIM ///< Enable deinitializing structures at simulation ends

View File

@@ -1,23 +1,30 @@
@echo off
:: Получаем аргументы из командной строки
:: %1 - includes_USER
:: %2 - code_USER
:: %3 - режим (например, debug)
set defines=-D"STM32F103xB" -D"USE_HAL_DRIVER"^
:: Аргументы:
:: %1 — includes строка (в кавычках)
:: %2 — sources строка
:: %3 — defines строка
:: %4 — режим компиляции (debug/release)
:: Сохраняем как переменные
set includes_USER=%~1
set code_USER=%~2
set defines_USER=%~3
set compil_mode=%~4
:: Заменяем __EQ__ на =
set defines_USER=%defines_USER:__EQ__==%
set defines_WRAPPER=-D"STM32F103xB" -D"USE_HAL_DRIVER"^
-D"MATLAB"^
-D"__sizeof_ptr=8"
:: -------------------------USERS PATHS AND CODE---------------------------
set includes_USER= -I"..\mcu_project\upp\Core\Inc" -I"..\mcu_project\upp\Core\upp"
set code_USER=.\App_Wrapper\main.c^
.\App_Wrapper\app_io.c^
..\mcu_project\upp\Core\Src\gpio.c^
..\mcu_project\upp\Core\Src\adc.c^
..\mcu_project\upp\Core\Src\tim.c^
..\mcu_project\upp\Core\Src\stm32f1xx_hal_msp.c^
..\mcu_project\upp\Core\Src\stm32f1xx_it.c^
..\mcu_project\upp\Core\Src\system_stm32f1xx.c^
..\mcu_project\upp\Core\upp\upp.c^
..\mcu_project\upp\Core\upp\zero_cross.c^
..\mcu_project\upp\Core\upp\adc_filter.c^
..\mcu_project\upp\Core\upp\tiristor.c
:: -------------------------USERS PATHS AND CODE---------------------------
::-------------------------------------------------------------------------
@@ -70,15 +77,65 @@ set code_WRAPPER= .\MCU_Wrapper\MCU.c^
:: --------ALL INCLUDES--------
set includes= %includes_USER% %includes_MCU% %includes_WRAPPER%
set codes= %code_WRAPPER% %code_USER% %code_MCU% %code_MCU_Sim%
set defines= %defines_USER% %defines_WRAPPER%
:: -------OUTPUT FOLDER--------
set output= -outdir "."
:: если нужен дебаг, до запускаем run mex с припиской debug
IF [%1]==[debug] (set debug= -g)
IF %compil_mode%==[debug] (set debug= -g)
::-------------------------------------------------------------------------
::------START COMPILING-------
echo Compiling...
echo ===========================
echo INCLUDES:
echo USER:
for %%f in (%includes_USER%) do (
echo %%f
)
echo INTERNAL:
for %%f in (%includes_MCU%) do (
echo %%f
)
for %%f in (%includes_WRAPPER%) do (
echo %%f
)
echo ===========================
echo SOURCES:
echo USER:
for %%f in (%code_USER%) do (
echo %%f
)
echo INTERNAL:
for %%f in (%code_WRAPPER%) do (
echo %%f
)
for %%f in (%code_MCU_Sim%) do (
echo %%f
)
for %%f in (%code_MCU%) do (
echo %%f
)
echo ===========================
echo DEFINES:
echo USER:
for %%d in (%defines_USER%) do (
echo %%d
)
echo INTERNAL:
for %%f in (%defines_WRAPPER%) do (
echo %%f
)
echo ===========================
echo MODE: %compil_mode%
echo ===========================
echo mex %output% %defines% %includes% %codes% %debug%
mex %output% %defines% %includes% %codes% %debug%
echo %DATE% %TIME%