mute build output
This commit is contained in:
parent
35d88aaa93
commit
00298e9bfe
|
@ -158,7 +158,7 @@ int main(void)
|
|||
|
||||
DJIMotorSetRef(djimotor, get_remote_control_point()->rc.ch[0]);
|
||||
MotorControlTask();
|
||||
HAL_Delay(20);
|
||||
HAL_Delay(10);
|
||||
/* USER CODE BEGIN 3 */
|
||||
}
|
||||
/* USER CODE END 3 */
|
||||
|
|
10
Makefile
10
Makefile
|
@ -117,6 +117,8 @@ modules/motor/HT04.c \
|
|||
modules/motor/LK9025.c \
|
||||
modules/motor/motor_task.c \
|
||||
modules/referee/referee.c \
|
||||
modules/referee/referee_UI.c \
|
||||
modules/referee/referee_communication.c \
|
||||
modules/remote/remote_control.c \
|
||||
modules/super_cap/super_cap.c \
|
||||
modules/master_machine/seasky_protocol.c \
|
||||
|
@ -246,13 +248,13 @@ OBJECTS += $(addprefix $(BUILD_DIR)/,$(notdir $(ASM_SOURCES:.s=.o)))
|
|||
vpath %.s $(sort $(dir $(ASM_SOURCES)))
|
||||
|
||||
$(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)
|
||||
$(AS) -c $(CFLAGS) $< -o $@
|
||||
@$(AS) -c $(CFLAGS) $< -o $@
|
||||
|
||||
$(BUILD_DIR)/$(TARGET).elf: $(OBJECTS) Makefile
|
||||
$(CC) $(OBJECTS) $(LDFLAGS) -o $@
|
||||
@$(CC) $(OBJECTS) $(LDFLAGS) -o $@
|
||||
$(SZ) $@
|
||||
|
||||
$(BUILD_DIR)/%.hex: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
|
||||
|
@ -262,7 +264,7 @@ $(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf | $(BUILD_DIR)
|
|||
$(BIN) $< $@
|
||||
|
||||
$(BUILD_DIR):
|
||||
mkdir $@
|
||||
@mkdir $@
|
||||
|
||||
#######################################
|
||||
# clean up
|
||||
|
|
120
README.md
120
README.md
|
@ -1,4 +1,4 @@
|
|||
- # 2023 EC-basic-framework(C语言版)说明
|
||||
# 2023 EC-basic-framework(C语言版)说明
|
||||
|
||||
当前版本更新日期:2022.11.03
|
||||
|
||||
|
@ -8,9 +8,15 @@
|
|||
|
||||
本框架使用stm32cubemx生成,基于makefile,使用gcc-arm-none-eabi编译(make命令)。若需使用keil5开发,请在stm32cubemx的`project manager`标签页下将工具链改为MDK,然后在keil中自行添加所需包含的.c文件和头文件。关于如何在keil下添加dsplib,请参考文档。
|
||||
|
||||
VSCode可通过Cortex-Debug利用OpenOCD进行调试,jlink/stlink/dap-link都支持。
|
||||
|
||||
推荐使用 SEGGER ozone进行调试(暂时只支持jlink,提供可视化模块)。
|
||||
|
||||
- 分层:
|
||||
|
||||
本框架主要代码分为BSP、Module、APP三层。三层的代码分别存放在同名的三个文件夹中,这三个文件夹存放在core文件夹下,与Inc、Src文件夹并列。开发过程中主要编写APP层代码,Module层与BSP层不建议修改。如需添加module(如oled屏幕、其他传感器和外设等),请按照规范编写并联系组长提交commit到develop分支。
|
||||
本框架主要代码分为BSP、Module、APP三层。三层的代码分别存放在同名的三个文件夹中,这三个文件夹存放在根目录下。开发过程中主要编写APP层代码,Module层与BSP层不建议修改。如需添加module(如oled屏幕、其他传感器和外设等),请按照规范编写并联系组长提交commit到dev分支,完善后合并至主分支。
|
||||
|
||||
BSP层构建与HAL之上。HAL库和实时系统、DSP支持等文件都在`HAL_N_Middlewares`文件夹下(包括Cube生成的外设初始化的Inc和Src文件夹)。
|
||||
|
||||
**main.c的位置在**`HAL_N_Middlewares/Src/main.c`
|
||||
|
||||
|
@ -78,7 +84,6 @@
|
|||
|
||||
Module层主要存放的是类型定义和实例指针数组,在该层没有进行实例化(定义或通过malloc分配空间),若在APP层没有实例化,则该模块的存在与否基本不会影响编译后的可执行文件,只会占用初始化和代码区所需的少量内存。因此,基于本框架的其他工程没有必要删除APP层未使用的module文件。
|
||||
|
||||
|
||||
## APP层(application)
|
||||
|
||||
- TODO:
|
||||
|
@ -92,3 +97,112 @@
|
|||
- APP层按照模块(如云台、发射、底盘)可以建立对应的子文件夹,在其中完成初始化和相关逻辑功能的编写。目前尚未对app层进行开发。
|
||||
|
||||
|
||||
|
||||
## 文件树
|
||||
|
||||
```shell
|
||||
ROOT:.
|
||||
│ .gitignore # git版本管理忽略文件
|
||||
│ .mxproject # CubeMX项目文件
|
||||
│ basic_framework.ioc # CubeMX初始化配置文件
|
||||
│ Makefile # 编译管理文件,为make命令的目标
|
||||
│ openocd.cfg # 用于OpenOCD调试使用的配置文件
|
||||
│ README.md # 本说明文档
|
||||
│ startup_stm32f407xx.s # F407汇编启动文件
|
||||
│ STM32F407.svd # F407外设地址映射文件,用于调试
|
||||
│ STM32F407IGHx_FLASH.ld # F407IGH(C板使用的MCU)的文件目标FLASH地址,用于烧录和调试
|
||||
│
|
||||
├─.vscode
|
||||
│ launch.json # 用于VSCode插件CORTEX-DEBUG调试的配置文件
|
||||
│
|
||||
├─application # 应用层,包括底盘控制,云台控制和发射控制
|
||||
│ chassis.c
|
||||
│ chassis.h
|
||||
│ gimbal.c
|
||||
│ gimbal.h
|
||||
│ shoot.c
|
||||
│ shoot.h
|
||||
│
|
||||
├─bsp # 板级支持包,提供对硬件的封装,将接口暴露给module层
|
||||
│ bsp_buzzer.c
|
||||
│ bsp_buzzer.h
|
||||
│ bsp_can.c
|
||||
│ bsp_can.h
|
||||
│ bsp_dwt.c
|
||||
│ bsp_dwt.h
|
||||
│ bsp_led.c
|
||||
│ bsp_led.h
|
||||
│ bsp_log.c
|
||||
│ bsp_log.h
|
||||
│ bsp_temperature.c
|
||||
│ bsp_temperature.h
|
||||
│ bsp_usart.c
|
||||
│ bsp_usart.h
|
||||
│ struct_typedef.h
|
||||
│
|
||||
├─HAL_N_Middlewares # HAL库对寄存器操作的封装,以及FreeRTOS等中间件
|
||||
|
|
||||
└─modules # 模块层,使用BSP提供的接口构建对应的功能模块,将模块实例提供给应用层
|
||||
├─algorithm # 算法
|
||||
│ controller.c # 控制器
|
||||
│ controller.h
|
||||
│ crc16.c # 循环冗余校验
|
||||
│ crc16.h
|
||||
│ crc8.c
|
||||
│ crc8.h
|
||||
│ kalman_filter.c # KF
|
||||
│ kalman_filter.h
|
||||
│ LQR.c # LQR控制器
|
||||
│ LQR.h
|
||||
│ QuaternionEKF.c # 四元数EKF融合
|
||||
│ QuaternionEKF.h
|
||||
│ user_lib.c # 多个模块都会使用到的函数
|
||||
│ user_lib.h
|
||||
│
|
||||
├─imu # 考虑到使用SPI的设备较少,这里没有对SPI提供bsp支持,直接于此实现
|
||||
│ BMI088driver.c
|
||||
│ BMI088driver.h
|
||||
│ BMI088Middleware.c
|
||||
│ BMI088Middleware.h
|
||||
│ BMI088reg.h
|
||||
│ ins_task.c # 姿态解算任务,在RTOS中以1kHz运行
|
||||
│ ins_task.h
|
||||
│
|
||||
├─led_light
|
||||
│ led_task.c # 用于指示错误和主控是否正常运行,流水灯任务
|
||||
│ led_task.h
|
||||
│
|
||||
├─master_machine # 和上位机(视觉PC)通信的模块
|
||||
│ master_process.c
|
||||
│ master_process.h
|
||||
│ seasky_protocol.c # 视觉通信协议
|
||||
│ seasky_protocol.h
|
||||
│
|
||||
├─motor # 电机模块
|
||||
│ dji_motor.c # DJI智能电机
|
||||
│ dji_motor.h
|
||||
│ HT04.c # 海泰-04关节电机
|
||||
│ HT04.h
|
||||
│ LK9025.c # 瓴控9025驱动轮电机
|
||||
│ LK9025.h
|
||||
│ motor_def.h # 电机通用定义
|
||||
│ motor_task.c # 电机控制任务,1kHz运行在RTOS上
|
||||
│ motor_task.h
|
||||
│
|
||||
├─referee # 裁判系统模块
|
||||
│ referee.c # 接收裁判系统信息
|
||||
│ referee.h
|
||||
│ referee_UI.c # UI绘制(发送)
|
||||
│
|
||||
├─remote # 遥控器模块
|
||||
│ remote_control.c
|
||||
│ remote_control.h
|
||||
│
|
||||
└─super_cap # 超级电容
|
||||
super_cap.c
|
||||
super_cap.h
|
||||
```
|
||||
|
||||
## BSP和模块介绍
|
||||
|
||||
在对应模块和板级支持包文件夹下。
|
Loading…
Reference in New Issue