Всякие фиксы модели и заготовки для АЦП
И почему то все равно MATLAB намертво блокирует mingw64.... Приходится перезапускать матлаб для перекомпиляции
This commit is contained in:
@@ -55,7 +55,7 @@
|
||||
|
||||
#define OUT_PORT_NUMB 2
|
||||
#define THYR_PORT_1_WIDTH 6
|
||||
#define OUT_PORT_2_WIDTH 1
|
||||
#define OUT_PORT_2_WIDTH 6
|
||||
|
||||
// INPUT/OUTPUTS PARAMS END
|
||||
/** WRAPPER_CONF
|
||||
|
||||
156
MATLAB/MCU_Wrapper/run_mex.bat
Normal file
156
MATLAB/MCU_Wrapper/run_mex.bat
Normal file
@@ -0,0 +1,156 @@
|
||||
@echo off
|
||||
:: Получаем аргументы из командной строки
|
||||
:: %1 - includes_USER
|
||||
:: %2 - code_USER
|
||||
:: %3 - режим (например, debug)
|
||||
|
||||
:: Аргументы:
|
||||
:: %1 — includes строка (в кавычках)
|
||||
:: %2 — sources строка
|
||||
:: %3 — defines строка
|
||||
:: %4 — режим компиляции (debug/release)
|
||||
|
||||
:: Сохраняем как переменные
|
||||
set filename=%~1
|
||||
set includes_USER=%~2
|
||||
set code_USER=%~3
|
||||
set defines_USER=%~4
|
||||
set defines_CONFIG=%~5
|
||||
set compil_mode=%~6
|
||||
|
||||
:: Заменяем __EQ__ на =
|
||||
set defines_USER=%defines_USER:__EQ__==%
|
||||
set defines_CONFIG=%defines_CONFIG:__EQ__==%
|
||||
|
||||
|
||||
set defines_WRAPPER=-D"MATLAB"^ -D"__sizeof_ptr=8"
|
||||
:: -------------------------USERS PATHS AND CODE---------------------------
|
||||
::-------------------------------------------------------------------------
|
||||
|
||||
|
||||
:: -------------------------WRAPPER PATHS AND CODE---------------------------
|
||||
:: оболочка, которая будет моделировать работу МК в симулинке
|
||||
:: WRAPPER BAT START
|
||||
set code_WRAPPER=.\MCU_Wrapper\MCU.c^
|
||||
.\MCU_Wrapper\mcu_wrapper.c
|
||||
|
||||
set includes_WRAPPER= -I".\MCU_Wrapper\"
|
||||
:: WRAPPER BAT END
|
||||
|
||||
:: APP WRAPPER BAT START
|
||||
set code_APP_WRAPPER=.\app_wrapper\app_wrapper.c^
|
||||
.\app_wrapper\app_init.c^
|
||||
.\app_wrapper\app_io.c
|
||||
|
||||
set includes_APP_WRAPPER= -I".\app_wrapper\"
|
||||
:: APP WRAPPER BAT END
|
||||
|
||||
set includes_WRAPPER= %includes_WRAPPER% %includes_APP_WRAPPER%
|
||||
set code_WRAPPER= %code_WRAPPER% %code_APP_WRAPPER%
|
||||
|
||||
|
||||
:: PERIPH BAT START
|
||||
set code_PERIPH=.\MCU_STM32_Matlab\stm32_matlab_conf.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32_SIMULINK\stm32_matlab_gpio.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32_SIMULINK\stm32_matlab_dma.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32_SIMULINK\stm32_periph_registers.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_adc.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_adc_ex.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_cortex.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_dma.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_exti.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_gpio.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_pwr_ex.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_rcc_ex.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Src\stm32f4xx_hal_tim_ex.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32_SIMULINK\stm32_matlab_tim.c^
|
||||
.\MCU_STM32_Matlab\Drivers\STM32_SIMULINK\stm32_matlab_adc.c
|
||||
|
||||
set includes_PERIPH=-I".\MCU_STM32_Matlab\."^
|
||||
-I".\MCU_STM32_Matlab\Drivers\STM32_SIMULINK"^
|
||||
-I".\MCU_STM32_Matlab\Drivers\CMSIS"^
|
||||
-I".\MCU_STM32_Matlab\Drivers\CMSIS\Device\STM32F4xx"^
|
||||
-I".\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Inc"^
|
||||
-I".\MCU_STM32_Matlab\Drivers\STM32F4xx_HAL_Driver\Inc\Legacy"
|
||||
:: PERIPH BAT END
|
||||
::-------------------------------------------------------------------------
|
||||
|
||||
|
||||
:: ---------------------SET PARAMS FOR MEX COMPILING-----------------------
|
||||
:: -------------ALL------------
|
||||
set includes= %includes_WRAPPER% %includes_PERIPH% %includes_USER%
|
||||
set codes= %code_USER% %code_WRAPPER% %code_PERIPH%
|
||||
set defines= %defines_WRAPPER% %defines_CONFIG% %defines_USER%
|
||||
:: -------OUTPUT FOLDER--------
|
||||
set output= -outdir "." -output %filename%
|
||||
|
||||
:: если нужен дебаг, до запускаем run_mex с припиской debug
|
||||
IF %compil_mode%==debug (set debug= -g)
|
||||
::-------------------------------------------------------------------------
|
||||
|
||||
|
||||
::------START COMPILING-------
|
||||
if "%7"=="echo_enable" (
|
||||
echo Compiling...
|
||||
|
||||
echo ===========================
|
||||
echo =========INCLUDES==========
|
||||
echo USER:
|
||||
for %%f in (%includes_USER%) do (
|
||||
echo %%f
|
||||
)
|
||||
echo INTERNAL:
|
||||
for %%f in (%includes_WRAPPER%) do (
|
||||
echo %%f
|
||||
)
|
||||
echo PERIPH:
|
||||
for %%f in (%includes_PERIPH%) 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
|
||||
)
|
||||
echo PERIPH:
|
||||
for %%f in (%code_PERIPH%) do (
|
||||
echo %%f
|
||||
)
|
||||
|
||||
echo ===========================
|
||||
echo ==========DEFINES==========
|
||||
echo USER:
|
||||
for %%d in (%defines_USER%) do (
|
||||
echo %%d
|
||||
)
|
||||
echo CONFIG:
|
||||
for %%f in (%defines_CONFIG%) do (
|
||||
echo %%f
|
||||
)
|
||||
echo INTERNAL:
|
||||
for %%f in (%defines_WRAPPER%) do (
|
||||
echo %%f
|
||||
)
|
||||
)
|
||||
echo ===========================
|
||||
echo MODE: %compil_mode%
|
||||
echo ===========================
|
||||
:: 1. ПРЕЖДЕ ЧЕМ КОМПИЛИРОВАТЬ - ВЫГРУЗИТЬ СТАРЫЙ ФАЙЛ
|
||||
|
||||
:: 2. Компиляция с флагами для MSVC
|
||||
:: set LINK_EMBEDDED=/BASE:0x10000000 /FIXED:NO /FILEALIGN:0x1000 /FORCE:MULTIPLE /DYNAMICBASE:NO
|
||||
set C_EMBEDDED="-w"
|
||||
mex %output% %defines% %includes% %codes% %debug% CFLAGS="$CFLAGS %C_EMBEDDED%" LINKFLAGS="$LINKFLAGS %LINK_EMBEDDED%"
|
||||
echo %DATE% %TIME%
|
||||
|
||||
exit /b %ERRORLEVEL%
|
||||
Reference in New Issue
Block a user