通过测试排除了一些问题

This commit is contained in:
2026-07-19 04:32:18 +08:00
parent 1669cd216d
commit 4eb728583b
12 changed files with 1379 additions and 183 deletions

View File

@@ -0,0 +1,85 @@
/*
* 模块名称CH395F Driver Test Suite
* 模块功能CH395F 驱动各功能模块的测试入口,分阶段组织测试用例,
* 覆盖 SPI 命令路径、协议栈配置、Socket 状态机等
* 适用平台STM32F4 系列CH395F 以太网芯片)
* 作者:王建锋
* 创建日期2026-07-19
* 修改记录:
*/
#ifndef __CH395F_TEST_H
#define __CH395F_TEST_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* 阶段使能开关(取消注释即启用对应阶段)
* 注意Phase 6 (DHCP) 会改变 IP建议独立运行
*/
//#define ENABLE_PHASE1_TESTS /* 寄存器读写 + 中断一致性 */
//#define ENABLE_PHASE2_TESTS /* TCP Client 收发 + 关闭重连 */
//#define ENABLE_PHASE3_TESTS /* UDP Server Echo */
//#define ENABLE_PHASE4_TESTS /* NET 层 TCP Echo需主循环调用 */
//#define ENABLE_PHASE5_TESTS /* NET 层 UDP Echo需主循环调用 */
//#define ENABLE_PHASE6_TESTS /* DHCP 自动获取 IP会改 IP */
//#define ENABLE_PHASE7_TESTS /* Select/Poll I/O 多路复用 */
/*
* Phase 1: 底层寄存器测试版本、IP、中断、ARP/TTL 等)
* 非破坏性net_init() 后即可运行
*/
void ch395f_phase1_tests(void);
/*
* Phase 2: TCP Client 功能测试3 轮收发 + 关闭重连)
* 需 PC 端先运行:
* python test/ch395f_socket_test.py tcp_server --port 8081
*/
void ch395f_phase2_tests(void);
/*
* Phase 3: UDP Server Echo 测试HELLO 探针 + PING + 大包)
* 需 PC 端先运行:
* python test/ch395f_socket_test.py udp_client --ip 192.168.1.100 --port 60000 --timeout 30
*/
void ch395f_phase3_tests(void);
/*
* Phase 4: NET 层 TCP Echo主循环中运行
* 需 PC 端运行(主循环进入后):
* python test/ch395f_socket_test.py tcp_client --ip 192.168.1.100 --port 8080
*/
void ch395f_phase4_tests(void);
/*
* Phase 5: NET 层 UDP Echo主循环中运行
* 需 PC 端运行(主循环进入后):
* python test/ch395f_socket_test.py udp_client --ip 192.168.1.100 --port 60000 --timeout 30
* 限定条件:需在 USER CODE BEGIN 2 中调用 ch395f_phase5_init() 创建 Socket
* USER CODE BEGIN 3 中调用 ch395f_phase5_tests() 做 echo
*/
void ch395f_phase5_init(void);
void ch395f_phase5_tests(void);
/*
* Phase 6: DHCP 测试
* 自动获取 IP打印结果。需独立运行会改变 IP
*/
void ch395f_phase6_tests(void);
/*
* Phase 7: Select/Poll 测试(主循环中运行)
* 使用 net_select() 检测可读 socketnet_recv/net_send 回显
* 需 PC 端运行:
* python test/ch395f_socket_test.py tcp_client --ip 192.168.1.100 --port 8080
*/
void ch395f_phase7_tests(void);
#ifdef __cplusplus
}
#endif
#endif /* __CH395F_TEST_H */