initial
This commit is contained in:
83
tools/insertMyCode.sh
Executable file
83
tools/insertMyCode.sh
Executable file
@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
|
||||
MAIN_C=./Core/Src/main.c
|
||||
MAIN_C_BAK=${MAIN_C}-bak
|
||||
|
||||
IT_C=./Core/Src/stm32f1xx_it.c
|
||||
IT_C_BAK=${IT_C}-bak
|
||||
|
||||
MAKEFILE=./Makefile
|
||||
MAKEFILE_BAK=${MAKEFILE}-bak
|
||||
|
||||
PROCESSED="Processed by $0"
|
||||
|
||||
checkFile () {
|
||||
FILE=$1
|
||||
BAK_FILE=$2
|
||||
if [ ! -f $FILE ]; then
|
||||
echo "no $FILE available"
|
||||
exit 1
|
||||
fi
|
||||
if [ -f $BAK_FILE ]; then
|
||||
echo "$BAK_FILE already available, delete manually"
|
||||
exit 1
|
||||
fi
|
||||
grep -q "$PROCESSED" $FILE
|
||||
if [ "$?" = "0" ]; then
|
||||
echo "$FILE has already been processed"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
checkFile $MAIN_C $MAIN_C_BAK
|
||||
checkFile $MAKEFILE $MAKEFILE_BAK
|
||||
checkFile $IT_C $IT_C_BAK
|
||||
|
||||
cp $MAIN_C $MAIN_C_BAK
|
||||
echo "// $PROCESSED" > $MAIN_C
|
||||
cat $MAIN_C_BAK | \
|
||||
sed -e 's,\(/\* USER CODE BEGIN Includes \*/\),\1\n#include "main2.h"\n,' \
|
||||
-e 's,\(/\* USER CODE BEGIN 1 \*/\),\1\n my_setup_1();\n,' \
|
||||
-e 's,\(/\* USER CODE BEGIN 2 \*/\),\1\n my_setup_2();\n,' \
|
||||
-e 's,\(/\* USER CODE BEGIN 3 \*/\),\1\n my_loop();\n,' \
|
||||
-e 's,\(/\* USER CODE BEGIN Error_Handler_Debug \*/\),\1\n my_errorHandler();\n,' \
|
||||
-e 's,\(/\* USER CODE END Error_Handler_Debug \*/\),\1\n while(1) { };\n,' \
|
||||
>> $MAIN_C
|
||||
|
||||
cp $IT_C $IT_C_BAK
|
||||
echo "// $PROCESSED" > $IT_C
|
||||
cat $IT_C_BAK | \
|
||||
sed -e 's,\(/\* USER CODE BEGIN Includes \*/\),\1\n#include "main2.h"\n,' \
|
||||
-e 's,\(/\* USER CODE BEGIN SysTick_IRQn 1 \*/\),\1\n SYSTICK_Callback();\n,' \
|
||||
>> $IT_C
|
||||
|
||||
|
||||
|
||||
SRC_EXT=''
|
||||
for I in User/Src/*.c; do
|
||||
SRC_EXT+="$I "
|
||||
done
|
||||
for I in hottislib/*.c; do
|
||||
SRC_EXT+="$I "
|
||||
done
|
||||
|
||||
cp $MAKEFILE $MAKEFILE_BAK
|
||||
echo "# $PROCESSED" > $MAKEFILE
|
||||
cat $MAKEFILE_BAK | \
|
||||
sed -e 's/\(-specs=nano.specs\)/\1 -u _printf_float/' \
|
||||
-e 's/\(-Wall\)/\1 -Werror/' \
|
||||
-e 's%\(# list of ASM program objects\)%OBJECTS += $(addprefix $(BUILD_DIR)/,w5500.a pubsubc.a)\n\1%' \
|
||||
-e 's,\($(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR)\),$(BUILD_DIR)/w5500.a:\n\t(cd ioLibrary_Driver \&\& $(MAKE) \&\& cp w5500.a ../$(BUILD_DIR) \&\& cd ..)\n\n\1,' \
|
||||
-e 's,\(C_SOURCES = \\\),\1\n'"$SRC_EXT"' \\,' \
|
||||
-e 's,\(C_INCLUDES = \\\),\1\n-IioLibrary_Driver/Ethernet \\,' \
|
||||
-e 's,\(C_INCLUDES = \\\),\1\n-IioLibrary_Driver/Internet/DHCP \\,' \
|
||||
-e 's,\(C_INCLUDES = \\\),\1\n-IioLibrary_Driver/Internet/DNS \\,' \
|
||||
-e 's,\(C_INCLUDES = \\\),\1\n-IUser/Inc \\,' \
|
||||
-e 's,\(C_INCLUDES = \\\),\1\n-Ihottislib \\,' \
|
||||
>> $MAKEFILE
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user