Files
FilmForge/AGENTS.md
T

4.6 KiB
Raw Blame History

FilmForge — AGENTS.md

项目约定

  • 用途:自制热压模具温控固件——塑型 PC 膜,负责加热驱动与测温(NTC), 对外走 RS485 数据口。基于 GD32F4xx 工程模板 (https://gitea.hulk.wang/hulk/gd32f4xx_template_cmake_vscode,源自 celalkismiroglu/gd32e23x-demo-suites-cmake 体系)。
  • 命名:仓库 FilmForge,固件工程 FilmForge_FW(产物自动命名 FilmForge_FW_V<版本>_APP_<日期>.bin),协议板卡类型码 BOARD_TYPE_CODE 41。
  • 目标芯片:GD32F405RET6(设备宏 GD32F405,IRC16M PLL 168MHz——板上无外部 晶振;硬件 FPU fpv4-sp-d16 / hard ABI;512K Flash,链接脚本 xE)。
  • 串口角色与 PC 端映射:
    • debug 串口 = USART1(PA2 TX / PA3 RX,AF7,纯串口)→ PC 端 COM4; printf 重定向到 USART1(DEBUG_UART 宏),DEBUG_MODE 打开后输出。
    • 数据口 RS485 = USART0(PA9 TX / PA10 RX,AF7)+ DE 引脚 PA8(GPIO 手动切换 收发)→ PC 端 COM5(115200-8-N-1)。拉通阶段主循环回显。
    • 注意 GD 外设编号比 STM32 小 1:PA9/PA10=USART0、PA2/PA3=USART1。
  • NTC 测温:PC5(ADC0_IN15),硬件 10K 上拉、NTC 接 GND 侧。B 值公式换算, NTC_B_VALUE 宏(3950/3435 未定,默认 3950,确认后修改);R_PULL/NTC_R25 均为宏,换料只改宏。
  • 语言/工具链:C(gnu11)+ ARM GCC(xpack 15.2.1 已验证)、CMake ≥ 3.20 + Ninja、VSCode + CMake Tools + cortex-debug;工具链路径经 GD32_GCC_BIN。
  • 目录约定(沿用模板):
    • Build/ —— 构建树与产物(gitignore);
    • SDK/ —— CMSIS、标准外设库 V3.3.3、SEGGER_RTT、USB 库(GD32_ENABLE_USB 开关,默认 OFF,当前未用);
    • LD/ —— 链接脚本(默认 xE 512K);
    • Inc/+Src/ —— 应用层,板级引脚/开关集中在 Inc/board_config.h;
    • OpenOCD/ —— 工程内会话配置(GD-LINK/CMSIS-DAP + stm32f4x);
    • doc/ —— 芯片文档(数据手册/用户手册/固件库指南/AN,已齐备)。
  • 编译方法:
    cmake --preset Debug && cmake --build Build/Debug
    cmake --preset Release && cmake --build Build/Release
    
  • Git/网络经验:origin = HTTPS(https://gitea.hulk.wang/hulk/FilmForge.git), 该实例 HTTPS/SSH 直传大包均不稳,已在本仓库配置 http.proxy http://127.0.0.1:6789 + http.sslVerify=false(仓库级), 代理端口变化时用 git config http.proxy http://127.0.0.1:<新端口> 更新。

开发进度

已完成

  • 模板就位(GD32F405RET6 / IRC16M 168MHz / 硬件 FPU / 上板验证过的模板体系)。
  • debug 串口:USART1 PA2/PA3 @115200,printf 重定向 + RBNE 中断收环形缓冲 (模板已有,COM4 观测)。
  • RS485 数据口驱动(rs485.h/rs485.c):USART0 PA9/PA10 AF7 + DE PA8 GPIO 手动切换;独立接收环形缓冲(预留一格策略 + PRIMASK 临界区);阻塞发送 (DE→TBE→TC→DE,防尾字节截断);主循环 rs485_process() 回显拉通。
  • NTC 测温驱动(ntc.h/ntc.c):PC5 模拟输入 + ADC0 常规通道(软件触发单次 转换 + 校准),16 次采样均值 + 分压反解阻值 + B 值公式换算摄氏度。
  • debug_uart_write() 助手(uart.c):debug 口阻塞单字节发送。
  • 工程改名:FilmForge_FW、BOARD_TYPE_CODE 41。

计划 / TODO(已提出尚未实现)

  • RS485 拉通上板验证:COM5(RS485)发数据回显 + COM4(debug)观测, DE 时序实测(逻辑分析仪看 PA8 与 TX 时序)。
  • NTC 测温上板验证:COM4 观测打印温度,与室温计对比;NTC_B_VALUE 确认(B3950 vs B3435——待两点法实测判定)。
  • 加热驱动:加热功率器件的驱动与控制(方案待定:MOS/PWM/继电器), 与测温闭环(控温策略)。
  • 正式数据协议:RS485 从回显切换到正式协议(沿用 D5/B5 帧体系或新定义), 即 E23x command.c 的移植/重写。
  • LED 引脚确认:FilmForge 自制板 LED 引脚未定(当前沿用模板默认 PA15, 仅为构建占位),按原理图修改。
  • delay_10us 校准:M4@168MHz 系数为估算值(/300000),需实测修正。

备注

  • 本机凭据/发布约定见用户级 C:\Users\Lenovo\.zcode\AGENTS.md。
  • 模板工程位置:E:\Hulk-Coding\gd32f4xx_template_cmake_vscode(模板对标工程, Gitea: gd32f4xx_template_cmake_vscode)。
  • E23x 工程位置:E:\Hulk-Coding\gd32e23x_template_cmake_vscode(协议/驱动参考)。