@echo off | |
cls | |
SET PACKAGENAME=the FreeRTOS port for fedC and wizC | |
echo. | |
echo Hello, I'm the installationscript for %PACKAGENAME%. | |
echo. | |
:CHECKFEDC | |
set FED=C:\Program Files\FED\PIC_C | |
echo. | |
echo I'm checking your system for fedC | |
if not exist "%FED%" goto NOFEDC | |
echo YES, I found a fedC-installation! | |
goto FOUNDFED | |
:NOFEDC | |
echo I could not find a fedC-installation. | |
:CHECKWIZC | |
set FED=C:\Program Files\FED\PIXIE | |
echo. | |
echo I'm checking your system for wizC | |
if not exist "%FED%" goto NOWIZC | |
echo YES, I found a wizC-installation! | |
goto FOUNDFED | |
:noWIZC | |
echo I could not find a wizC-installation. | |
:ERROR | |
echo. | |
echo. | |
echo I could not find a FED C-compiler installation on your system. | |
echo. | |
echo Perhaps I got confused because you installed fedC or wizC in a non-default directory. | |
echo If this is the case, please change the path at the top of this install-script. | |
echo After that rerun the script and I will be happy to try again. | |
echo. | |
goto ENDIT | |
:FOUNDFED | |
echo. | |
echo. | |
set FEDLIBS=%FED%\Libs | |
set FEDLIBSUSER=%FEDLIBS%\LibsUser | |
if exist "%FEDLIBS%" goto INSTALL | |
echo The FED installationdirectory "%FED%" | |
echo contains no Libs subdirectory. This is weird! | |
echo. | |
echo Installation is aborted, sorry... | |
goto ENDIT | |
:INSTALL | |
echo I am about to install %PACKAGENAME% | |
echo into directory %FEDLIBSUSER% | |
echo. | |
echo Press 'enter' to let me do my thing | |
echo Press 'ctrl-c' to stop me | |
pause >nul | |
echo. | |
echo Installing... | |
:RESET_READONLY | |
echo. | |
echo Removing ReadOnly attributes | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\Croutine.c" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\Port.c" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\List.c" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\Queue.c" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\Tasks.c" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\Tick.c" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\isrTick.c" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Portmacro.h" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Croutine.h" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\List.h" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Portable.h" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Projdefs.h" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Queue.h" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Semphr.h" >nul | |
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Task.h" >nul | |
attrib -R "%FEDLIBSUSER%\FreeRTOS.h" >nul | |
echo Done | |
:CREATE_DIRECTORIES | |
echo. | |
echo Creating directories (if necessary)... | |
if not exist "%FEDLIBSUSER%" mkdir "%FEDLIBSUSER%" | |
if not exist "%FEDLIBSUSER%\libFreeRTOS" mkdir "%FEDLIBSUSER%\libFreeRTOS" | |
if not exist "%FEDLIBSUSER%\libFreeRTOS\Drivers" mkdir "%FEDLIBSUSER%\libFreeRTOS\Drivers" | |
if not exist "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick" mkdir "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick" | |
if not exist "%FEDLIBSUSER%\libFreeRTOS\Include" mkdir "%FEDLIBSUSER%\libFreeRTOS\Include" | |
if not exist "%FEDLIBSUSER%\libFreeRTOS\Modules" mkdir "%FEDLIBSUSER%\libFreeRTOS\Modules" | |
echo Done | |
echo. | |
echo Copying Files... | |
:COPY_MODULES | |
echo Modules... | |
copy /V /Y "Port.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\Port.c" >nul | |
copy /V /Y "..\..\..\Croutine.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\Croutine.c" >nul | |
copy /V /Y "..\..\..\List.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\List.c" >nul | |
copy /V /Y "..\..\..\Queue.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\Queue.c" >nul | |
copy /V /Y "..\..\..\Tasks.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\Tasks.c" >nul | |
:COPY_DRIVERS | |
echo Drivers... | |
copy /V /Y "Drivers\Tick\Tick.c" "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\Tick.c" >nul | |
copy /V /Y "Drivers\Tick\isrTick.c" "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\isrTick.c" >nul | |
:COPY_HEADERS | |
echo Headers... | |
copy /V /Y "portmacro.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Portmacro.h" >nul | |
copy /V /Y "..\..\..\include\Croutine.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Croutine.h" >nul | |
copy /V /Y "..\..\..\include\List.h" "%FEDLIBSUSER%\libFreeRTOS\Include\List.h" >nul | |
copy /V /Y "..\..\..\include\Portable.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Portable.h" >nul | |
copy /V /Y "..\..\..\include\Projdefs.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Projdefs.h" >nul | |
copy /V /Y "..\..\..\include\Queue.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Queue.h" >nul | |
copy /V /Y "..\..\..\include\Semphr.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Semphr.h" >nul | |
copy /V /Y "..\..\..\include\Task.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Task.h" >nul | |
copy /V /Y "addFreeRTOS.h" + "..\..\..\include\FreeRTOS.h" "%FEDLIBSUSER%\FreeRTOS.h" >nul | |
echo Done | |
:SET_READONLY | |
echo. | |
echo Setting files to ReadOnly | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\Port.c" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\Croutine.c" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\List.c" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\Queue.c" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\Tasks.c" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\Tick.c" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\isrTick.c" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Portmacro.h" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Croutine.h" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\List.h" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Portable.h" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Projdefs.h" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Queue.h" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Semphr.h" >nul | |
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Task.h" >nul | |
attrib +R "%FEDLIBSUSER%\FreeRTOS.h" >nul | |
echo Done | |
:FINISHED | |
echo. | |
echo The installation of %PACKAGENAME% is completed. | |
echo. | |
echo Please review the installation instructions as additional libraries | |
echo and fedC/wizC configuration settings may be needed for FreeRTOS | |
echo to function correctly. | |
goto ENDIT | |
:ENDIT | |
echo. | |
echo. | |
echo Press 'enter' to close this window | |
pause >nul |