Files

4.6 KiB
Raw Permalink Blame History

工程文件框架总览(RCPRO

  • 工程类型:STM32F4(大疆 RoboMentors A 型板)四足机器人控制工程
  • 工具链:STM32CubeMX 初始化 + Keil MDK 工程(Project 目录)
  • 主要语言:C / C++(以 C 为主)

顶层目录结构

  • Inc/
    • 工程公共头文件与 HAL、CMSIS、FreeRTOS 相关头文件
  • User/
    • 用户自定义代码(算法、驱动、任务、启动文件等)
  • Project/
    • Keil 工程文件、编译输出中间文件、调试配置
  • .vscode/
    • VS Code 配置(智能提示、调试配置等)
  • 文档与说明文件
    • README.md、DBUS.md、can.md、app_can.md、姿态.md、辅助通道.md 等
    • RS02使用说明书251112.pdf、遥控器相关 md 文档
  • 其他工具与脚本
    • keilkilll.bat 等

Inc 目录结构

  • Inc/hal_inc/
    • STM32 HAL 库头文件(GPIO、RCC、CAN、UART、SPI、TIM、RTC 等)
    • 由 STM32CubeMX 生成或随库提供
  • Inc/m3_inc/
    • CMSIS 相关头文件(内核 core_cmX、stm32f4xx.h、系统时钟 system_stm32f4xx.h 等)
    • 提供底层寄存器与内核抽象
  • Inc/os_inc/
    • FreeRTOS 核心头文件(FreeRTOS.h、task.h、queue.h、semphr.h 等)
    • CMSIS-OS 适配层 cmsis_os.h
  • Inc 根目录下关键头文件:
    • main.h:主函数相关声明
    • gpio.h、dma.h、adc.h、tim.h、spi.h、usart.h、rtc.h:外设初始化接口
    • can.hCAN 相关句柄与接口声明
    • FreeRTOSConfig.hFreeRTOS 配置
    • stm32f4xx_hal_conf.hHAL 外设使能配置
    • stm32f4xx_it.h / stm32f4xx_it.c:中断向量与中断服务函数

User 目录结构

  • User/algorithm/

    • pid.c / pid.h
      • PID 控制算法实现(位置/速度等)
    • ramp.c / ramp.h
      • 斜坡函数、平滑过渡控制(例如速度/位置渐变)
  • User/driver/

    • Movement.c / Movement.h
      • 四足运动控制与步态生成(站立、行走等高层运动逻辑)
    • leg.c / leg.h
      • 机械腿几何建模与逆运动学计算
    • lingzu_motor.c / lingzu_motor.h
      • 灵足 RS02 关节电机 CAN 通讯与控制接口
    • can_device.c / can_device.h
      • CAN 收发封装、设备层抽象
    • uart_device.c / uart_device.h
      • UART 封装(遥控器、调试串口等)
    • mpu6500_reg.h / ist8310_reg.h
      • IMU、磁力计寄存器定义
    • keyboard.h、calibrate.h 等
      • 键盘控制、校准相关接口
  • User/app/

    • lingzu_task.c / lingzu_task.h
      • 主要控制任务入口:四足行走、站立、模式切换等
    • uart_task.c / uart_task.h
      • 串口任务(接收/解析/发送数据)
    • study_task.c / study_task.h
      • 学习/实验用任务逻辑
    • chassis_task.h、gimbal_task.h、shoot_custom.c、execute_task.h 等
      • 源于 RM 工程的任务接口,可复用/裁剪
  • User 其他文件

    • startup.c / startup.h
      • 启动相关代码(复位后初始化、任务启动等)
    • rm_hal_lib.h
      • RoboMentors 板级相关封装
    • sys.h
      • 系统级通用定义与工具

Project 目录结构(Keil 工程)

  • Project/RoboMentors_Board/

    • RoboMentors_Board.uvprojx / .uvoptx / .uvguix.*
      • Keil 工程、编译配置、调试配置文件
    • *.o / *.d / *.crf
      • 中间目标文件与依赖信息(编译产物)
    • RoboMentors_Board.axf / .hex / .map / .htm
      • 最终固件、链接映射与编译报告
  • Project/DebugConfig/

    • RoboMentors_Board_STM32F427IIHx*.dbgconf
      • 调试器与目标芯片调试配置
  • Project/output/

    • RoboMentors_Board.map
      • 链接映射文件(地址分布、段信息等)
  • Project 根目录其他文件

    • JLinkLog.txt / JLinkSettings.ini
      • J-Link 调试相关日志与配置
    • images.jpg
      • 可能用于说明或调试记录

文档与辅助说明

  • README.md
    • 工程整体说明(来源、用途等)
  • DBUS.md / can.md / app_can.md
    • 遥控器 DBUS、CAN 通信相关说明
  • move.c.md、姿态.md、辅助通道.md
    • 与运动控制、姿态解算、辅助通道配置相关的说明文档
  • RadioLink AT9S Pro 遥控器使用说明书(详细版).md

    • 遥控器详细使用说明
  • RS02使用说明书251112.pdf
    • RS02 关节电机官方说明书

建议阅读顺序(熟悉工程)

  • 1)阅读顶层 README.md 与遥控器 / RS02 说明文档
  • 2)查看 User/driver/ 中的 lingzu_motor.c、leg.c、Movement.c
  • 3)查看 User/app/lingzu_task.c,理解任务入口与模式切换
  • 4)根据需要再深入 Inc/、Project/ 与其他说明 md 文档