137 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
			
		
		
	
	
			137 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
@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---------------------------
 | 
						||
:: оболочка, которая будет моделировать работу МК в симулинке
 | 
						||
set includes_WRAPPER=-I"."^
 | 
						||
 -I".\MCU_Wrapper"^
 | 
						||
 -I".\app_wrapper"
 | 
						||
 | 
						||
set code_WRAPPER= .\MCU_Wrapper\MCU.c^
 | 
						||
 .\MCU_Wrapper\mcu_wrapper.c^
 | 
						||
 .\app_wrapper\app_init.c^
 | 
						||
 .\app_wrapper\app_io.c^
 | 
						||
 .\app_wrapper\app_wrapper.c
 | 
						||
 | 
						||
:: PERIPH BAT START
 | 
						||
set code_PERIPH=.\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_rcc.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_gpio.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_pwr.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_cortex.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_adc_ex.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_tim_ex.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_dma.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Src\stm32f1xx_hal_exti.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\stm32f1xx_matlab_conf.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_SIMULINK\stm32f1xx_matlab_gpio.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_SIMULINK\stm32f1xx_matlab_tim.c^
 | 
						||
 .\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_SIMULINK\stm32f1xx_periph_registers.c
 | 
						||
 | 
						||
set includes_PERIPH=-I".\MCU_STM32F1xx_Matlab"^
 | 
						||
 -I".\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_SIMULINK"^
 | 
						||
 -I".\MCU_STM32F1xx_Matlab\Drivers\CMSIS"^
 | 
						||
 -I".\MCU_STM32F1xx_Matlab\Drivers\CMSIS\Device\STM32F1xx"^
 | 
						||
 -I".\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Inc"^
 | 
						||
 -I".\MCU_STM32F1xx_Matlab\Drivers\STM32F1xx_HAL_Driver\Inc\Legacy"
 | 
						||
:: PERIPH BAT END
 | 
						||
::-------------------------------------------------------------------------
 | 
						||
 | 
						||
 | 
						||
:: ---------------------SET PARAMS FOR MEX COMPILING-----------------------
 | 
						||
:: -------------ALL------------
 | 
						||
set includes= %includes_WRAPPER% %includes_PERIPH% %includes_USER%
 | 
						||
set codes= %code_WRAPPER% %code_PERIPH% %code_USER%
 | 
						||
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 ===========================
 | 
						||
mex %output% %defines% %includes% %codes% %debug%
 | 
						||
echo %DATE% %TIME%
 | 
						||
exit /b %ERRORLEVEL% |