Commit Graph

21 Commits

Author SHA1 Message Date
wandering1 5eed2151de CubeMX 生成 ADC1(9 通道)+ 复原重生成定制,FreeRTOS 加固迁 L1、钩子落 USER CODE 4/5,门禁豁免生成文件空白改写 2026-10-10 00:53:20 +08:00
wandering1 6f3891a6b9 ADC 通道映射表建档(V0.1 语义固化)+ .ioc 启用 ADC1 九通道
新增 docs/硬件平台/ADC通道映射说明.md:17 路语义↔网名↔通道号权威映射
语义:UA/UB/UC/UN=AIN1~4、IA/IB/IC/IN=AIN8~11、V_ZL2=温度,其余备用
勘误:PC4=ADC12_IN14(非 IN12);PB0=ADC12_IN8(V0.0 B5 定性有误)
勘误:PC5=ADC12_IN15;网名 ADC17 承载 UB,不是 V_ZL2
.ioc:PA0~PA7/PC4 → ADC1_IN0..7/IN14,Rank1~9 + 144 cycles + 软件触发
.ioc 键名与取值逐条比对 CubeMX 自带 DB(aditf2_v1_1_Cube)后写入
尚未 Generate Code:adc.c 与 HAL adc 驱动未入库,生成后需注册 uvprojx
2026-10-09 17:17:32 +08:00
wandering1 ed463716f6 netTask 栈 1024→960:按静态最坏链核算并同步 .ioc/README/审计基线
静态最坏链 2664B(日志主导:链上 5 帧各含 192B __con_line + 尾部 696B)
3840B 配置下余量 1176B(30.6%),过 stack_report 规则
net_drain_chip_rx scratch 静态化实测仅省 16B 栈、反增 256B BSS,已回退
.ioc FREERTOS.Tasks01 同步 960(L1 记账,重生成不丢)
2026-10-09 17:14:52 +08:00
wandering1 7feeea6c56 实现独立看门狗:CubeMX 配置 IWDG + 任务心跳位图,恢复三处被覆盖定制
经 CubeMX 图形界面启用 IWDG(Prescaler=64 / Reload=1249,标称 2498ms /
最坏 1701ms),并落地心跳位图判定、各任务埋点、RCC_CSR 复位原因上报与
configASSERT 改造。重生成覆盖的既有定制已全部恢复。

P0(开机死循环):HAL_IWDG_Init() 内部立即启动看门狗,而 CubeMX 把
MX_IWDG_Init() 插在 app_main_init() 之前——该段 NAND/RTC/ADC 初始化耗时
数秒无喂狗点,按 2.5s 超时必然复位。改 Src/iwdg.c 为只填参数不启动,
启动移交 task_wd_start(),由 defaultTask 在存储 bring-up 完成后调用。

恢复的三处定制(重生成覆盖):
- Src/stm32f4xx_it.c:HardFault_Handler 崩溃现场采集被打回空 while(1)
- Inc/FreeRTOSConfig.h:栈溢出检测与堆失败钩子两个宏被整块删除
- Src/freertos.c:三处任务栈实测记录中文注释丢失(数值未丢)

新增:
- App/util/task_watchdog.{c,h}:心跳位图 + 抽样判定 + IWDG 延后启动
- time_sync.c 长等待切片:net_recv_to 单次可睡满 30s 预算,切成 200ms 片
- Src/main.c 复位原因锁存(读后即清 RMVF,防残留误判)

埋点:defaultTask(唯一喂狗者)/ netTask(含 PHY 等待循环)/ uiTask /
timeSyncTask。ftpTask 首期剔除掩码,待二期改 lftpd。

门禁:build 0 错误 0 警告;pre-commit 10 钩子全通过;Flash +2956B / RAM +40B。
2026-09-29 07:22:04 +08:00
wandering1 2ef1e1f0dd 同步CubeMX 6.18重生成的HAL/CMSIS/FreeRTOS vendor与工程配置(.ioc/.uvprojx/.mxproject及生成Src/Inc)基线 2026-09-21 01:26:09 +08:00
wandering1 309c92793a CubeMX 6.18.1 重生成:V0.1 板引脚配置(RS485=UART4/DE=PA15,LED1=PC5、LED2=PB0) 2026-09-20 01:35:49 +08:00
wandering1 65b8fb05d5 回退 V2 引脚补丁:v2-on-ui 沿用 v2 硬件引脚(LED2=PB0 驱动致板级电源/复位跌落,开机死亡) 2026-09-19 20:32:26 +08:00
wandering1 deb4385a06 feat(bsp): V2 CPU 板引脚调整(LED1 PC4->PC5, LED2 PC5->PB0)
- LED1: PC4 -> PC5,Pull PULLUP->NOPULL,Speed HIGH->LOW
- LED2: PC5 -> PB0(新增输出),同上
- CH395F SPI2 仅标签口径互换:PB14=CH395F_SDI、PB15=CH395F_SDO;
  电气 AF 映射未变(PB14=SPI2_MISO 上拉,PB15=SPI2_MOSI);删除宏 CH395F_SDOB15_Pin(已确认全工程无引用)
- 来源:CubeMX 6.18.1 依 CPU-V0.2 原理图调整并重新生成
- 本提交是可搬运的“引脚补丁”,后续 cherry-pick 到 ui-research 基座
2026-09-19 10:17:32 +08:00
wandering1 2d2774124e 正常运行了 2026-08-31 15:11:18 +08:00
wandering1 71c41fabb9 开启了192k 所有RAM 2026-08-30 15:38:40 +08:00
wandering1 26c9098630 启动顺序管理 2026-08-29 11:10:08 +08:00
wandering1 7bc616cf9b 整理了main 函数 2026-08-29 09:45:54 +08:00
wandering1 c2fb2d9359 构建测试 2026-08-22 19:53:24 +08:00
wandering1 02963441b5 初始创建FTP服务器 2026-07-21 22:08:11 +08:00
wandering1 01ad5e476f 增加文件系统 2026-07-21 00:30:59 +08:00
wandering1 a08d26bcb0 freeRTOS支持 2026-07-19 13:09:06 +08:00
wandering1 17109d9baf TCP可以正常使用 2026-07-19 00:59:56 +08:00
wandering1 c841bf4668 关键芯片都驱动,且测试成功 2026-07-18 16:09:06 +08:00
wandering1 883756c725 网络通,测试flash 2026-07-17 15:16:29 +08:00
wandering1 369e45756d ch39f 驱动成功 2026-07-15 20:14:54 +08:00
wandering1 b1d05091de Initial commit: 项目初始化 2026-06-05 11:56:47 +08:00