修复编译速度慢的问题

This commit is contained in:
NeoZeng 2022-11-19 15:23:19 +08:00
parent 613939fe23
commit acf93052b2
8 changed files with 32 additions and 12 deletions

View File

@ -49,5 +49,5 @@
"segger_rtt_conf.h": "c", "segger_rtt_conf.h": "c",
"segger_rtt.h": "c", "segger_rtt.h": "c",
"bsp_log.h": "c" "bsp_log.h": "c"
} },
} }

View File

@ -97,7 +97,6 @@ HAL_N_Middlewares/Middlewares/Third_Party/FreeRTOS/Source/portable/MemMang/heap_
HAL_N_Middlewares/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c \ HAL_N_Middlewares/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F/port.c \
HAL_N_Middlewares/Middlewares/Third_Party/SEGGER/RTT/SEGGER_RTT_printf.c \ HAL_N_Middlewares/Middlewares/Third_Party/SEGGER/RTT/SEGGER_RTT_printf.c \
HAL_N_Middlewares/Middlewares/Third_Party/SEGGER/RTT/SEGGER_RTT.c \ HAL_N_Middlewares/Middlewares/Third_Party/SEGGER/RTT/SEGGER_RTT.c \
\ \
bsp/bsp_dwt.c \ bsp/bsp_dwt.c \
bsp/bsp_temperature.c \ bsp/bsp_temperature.c \
bsp/bsp_led.c \ bsp/bsp_led.c \
@ -106,7 +105,6 @@ bsp/bsp_buzzer.c \
bsp/bsp_usart.c \ bsp/bsp_usart.c \
bsp/bsp_log.c \ bsp/bsp_log.c \
bsp/bsp_init.c \ bsp/bsp_init.c \
\ \
modules/algorithm/controller.c \ modules/algorithm/controller.c \
modules/algorithm/kalman_filter.c \ modules/algorithm/kalman_filter.c \
modules/algorithm/QuaternionEKF.c \ modules/algorithm/QuaternionEKF.c \
@ -129,7 +127,6 @@ modules/master_machine/seasky_protocol.c \
modules/algorithm/crc8.c \ modules/algorithm/crc8.c \
modules/algorithm/crc16.c \ modules/algorithm/crc16.c \
modules/can_comm/can_comm.c \ modules/can_comm/can_comm.c \
\ \
application/gimbal.c \ application/gimbal.c \
application/chassis.c \ application/chassis.c \
application/shoot.c \ application/shoot.c \
@ -144,7 +141,7 @@ HAL_N_Middlewares/Middlewares/Third_Party/SEGGER/RTT/SEGGER_RTT_ASM_ARMv7M.s
####################################### #######################################
# binaries # binaries
####################################### #######################################
PREFIX = arm-none-eabi- PREFIX = ccache arm-none-eabi-
# The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx) # The gcc compiler bin path can be either defined in make command via GCC_PATH variable (> make GCC_PATH=xxx)
# either it can be added to the PATH environment variable. # either it can be added to the PATH environment variable.
ifdef GCC_PATH ifdef GCC_PATH
@ -189,7 +186,7 @@ C_DEFS = \
-DARM_MATH_ROUNDING -DARM_MATH_ROUNDING
# AS includes # AS includes
AS_INCLUDES = AS_INCLUDES = -IHAL_N_Middlewares/Inc
# C includes # C includes
C_INCLUDES = \ C_INCLUDES = \
@ -263,14 +260,14 @@ vpath %.s $(sort $(dir $(ASM_SOURCES)))
# 以下是编译命令,命令之前被粉色高亮的@就是静默输出的指令.删除前面的@会将输出显示到命令行. # 以下是编译命令,命令之前被粉色高亮的@就是静默输出的指令.删除前面的@会将输出显示到命令行.
# 如@$(CC) -c $(CFLAGS) ...... 去掉第一个@即可. # 如@$(CC) -c $(CFLAGS) ...... 去掉第一个@即可.
$(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR) $(BUILD_DIR)/%.o: %.c Makefile | $(BUILD_DIR)
@$(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@ $(CC) -c $(CFLAGS) -Wa,-a,-ad,-alms=$(BUILD_DIR)/$(notdir $(<:.c=.lst)) $< -o $@
$(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR) $(BUILD_DIR)/%.o: %.s Makefile | $(BUILD_DIR)
@$(AS) -c $(CFLAGS) $< -o $@ $(AS) -c $(CFLAGS) $< -o $@
$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile $(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile
@$(CC) $(OBJECTS) $(LDFLAGS) -o $@ $(CC) $(OBJECTS) $(LDFLAGS) -o $@
@$(SZ) $@ $(SZ) $@
$(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR) $(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
$(HEX) $< $@ $(HEX) $< $@
@ -279,7 +276,7 @@ $(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
$(BIN) $< $@ $(BIN) $< $@
$(BUILD_DIR): $(BUILD_DIR):
@mkdir $@ mkdir $@
####################################### #######################################
# clean up # clean up

View File

@ -71,6 +71,7 @@ CubeMX进行初始化 --> VSCode编写代/进行编译/简单调试 --> Ozone变
2. C语言的内存模型 2. C语言的内存模型
3. C语言标准动态链接库和静态编译的区别一些编译器的常用选项 3. C语言标准动态链接库和静态编译的区别一些编译器的常用选项
4. STM32F4系列的DBG外设工作原理 4. STM32F4系列的DBG外设工作原理
5. GDB调试器、硬件调试器和DBG的关系
### 编译全过程 ### 编译全过程

View File

@ -0,0 +1,7 @@
# APP层应用编写指引
<p align='right'>neozng1@hnu.edu.cn</p>
## robot_cmd
机器人命令模块是对整个机器人的抽象,对于单板控制整车的情况,

0
application/robot.c Normal file
View File

10
application/robot.h Normal file
View File

@ -0,0 +1,10 @@
#ifndef ROBOT_H
#define ROBOT_H
#define GIMBAL_BOARD
void RobotInit();
void RobotTask();
#endif

View File

@ -2,7 +2,7 @@
#include "main.h" #include "main.h"
extern TIM_HandleTypeDef htim5; extern TIM_HandleTypeDef htim5;
static tmp_output_level = 0; static uint8_t tmp_output_level = 0;
void LED_init() void LED_init()
{ {

View File

@ -1,6 +1,11 @@
#ifndef STRUCT_TYPEDEF_H #ifndef STRUCT_TYPEDEF_H
#define STRUCT_TYPEDEF_H #define STRUCT_TYPEDEF_H
#ifndef __PACKED
#define __packed __attribute__((pakced))
#endif // !__PACKED
typedef signed char int8_t; typedef signed char int8_t;
typedef signed short int int16_t; typedef signed short int int16_t;