network: 台架 IP 迁到 192.168.31.100,并把重复写死的值收进单一真源
分两段(用户裁定 2026-11-02):先做地址迁移,再把同类字面量收敛成
单一真源,以后再改地址只动一处。
一、IP 迁移 192.168.1.100 → 192.168.31.100(gw 同步 → .31.1)
- 工厂默认:Drivers/BSP/NETCFG/net_cfg.c 的 NET_CFG_DEF_IP/_GW
- 注释/文档示例、主机与板级测试、台架 py 脚本、两份 sim_config.ini
- 字节序教学点同步换算 hex:0x6401A8C0 → 0x641FA8C0(内存
C0 A8 1F 64),旧版示例引文与历史 Trap 记录按冻结纪律不动
- UI 黄金基准:网口设置 4 态 + shot_info 共 5 张 .bin 由
check_content_pages.py --update 重刷(渲染值 IP 变了,属预期变更)
- 保留判定:客户点表引用(IEC104/继电保护规划)、芯片手册摘录、
日期冻结的变更记录行、已退役台架档案 MDK-ARM/retracted_bench_*
二、单一真源收口(A+B+C+D,用户批准全做)
- 新建 test/host/bench_defaults.py:台架 py 默认值唯一定义点
(DEVICE_IP/DEVICE_GW/PC_IP/NET_BCAST),22 个脚本改为引用;
MDK-ARM 两探针与 scripts/board_ui_nav.py 经 sys.path shim 引入
- test/board/net_test_task.h 新增 TEST_PC_PEER_IP,板测三处
PHASE*_REMOTE_IP 改引该宏(保留 -D 覆盖);Phase1 断言改
memcmp 数组比较,数组各只出现一次
- simulator/tests/check_content_pages.py 从 net_cfg.c 正则解析
NET_CFG_DEF_* 推导期望值(解析失败即报错、不静默兜底),
脚本内台架 IP 字面量清零
- 装饰性注释去具体值(net_cfg.h/net_socket.h/net_socket.c/
net_socket_sim.c);字节序教学 hex 对刻意保留为唯一写值点
- 刻意不动:主机单测夹具 IP(逐文件钉住的任意值是正确测试
实践)、文档正文 IP(那是文档内容本身)
顺带:scripts/gen_task_table.py 规范串清掉「,B5」——编号清退提交
72b4b094 改了受管区没重跑生成器,task-table 门禁因此一直红
验证:产品 @build 0/0;CH395F 套件开关构建 0/0 后还原产品态;
6 套主机单测 rc=0;content_pages(含宏推导路径)/菜单 8 态/
推流位比对全 PASS;bom-drift 99 无漂移;doc-links/coding-standard/
cppcheck 绿;py_compile 23 文件 + --help 冒烟(含 shim 绝对路径)
This commit is contained in:
@@ -19,7 +19,7 @@ CH395F BSD Socket API 测试程序
|
||||
tcp_file - 文件收发:PC 作 Client 连 MCU:8080(阶段 8),--op send/recv 收发 100KB 文件(含 CRC32)
|
||||
|
||||
选项:
|
||||
--ip 目标 IP 地址(默认: 192.168.1.100)
|
||||
--ip 目标 IP 地址(默认见 bench_defaults.DEVICE_IP)
|
||||
--port 端口号(默认: 8080)
|
||||
--count 测试次数(默认: 10)
|
||||
--size 数据包大小(默认: 1024)
|
||||
@@ -28,7 +28,7 @@ CH395F BSD Socket API 测试程序
|
||||
|
||||
示例:
|
||||
# 测试 CH395F TCP Server
|
||||
python ch395f_socket_test.py tcp_client --ip 192.168.1.100 --port 8080
|
||||
python ch395f_socket_test.py tcp_client --port 8080
|
||||
|
||||
# 测试 CH395F TCP Client
|
||||
python ch395f_socket_test.py tcp_server --port 8080
|
||||
@@ -37,18 +37,18 @@ CH395F BSD Socket API 测试程序
|
||||
python ch395f_socket_test.py udp_server --port 8888
|
||||
|
||||
# 测试 CH395F UDP Server
|
||||
python ch395f_socket_test.py udp_client --ip 192.168.1.100 --port 8888
|
||||
python ch395f_socket_test.py udp_client --port 8888
|
||||
|
||||
# 压力测试(多连接)
|
||||
python ch395f_socket_test.py stress --ip 192.168.1.100 --port 8080 --count 7
|
||||
python ch395f_socket_test.py stress --port 8080 --count 7
|
||||
|
||||
# 阶段 5 双向大块(先收 256KB 再回放 256KB)
|
||||
python ch395f_socket_test.py tcp_bulk --port 8081 --bulk 262144 --chunk 4096
|
||||
|
||||
# 阶段 8 文件收发(PC 连 MCU:8080)
|
||||
python ch395f_socket_test.py tcp_file --ip 192.168.1.100 --port 8080 --op recv --file rx_100k.bin --size 102400
|
||||
python ch395f_socket_test.py tcp_file --ip 192.168.1.100 --port 8080 --op send --file tx_100k.bin
|
||||
python ch395f_socket_test.py tcp_file --ip 192.168.1.100 --port 8080 --op echo # TC-NET-803 回显(MCU 为 server)
|
||||
python ch395f_socket_test.py tcp_file --port 8080 --op recv --file rx_100k.bin --size 102400
|
||||
python ch395f_socket_test.py tcp_file --port 8080 --op send --file tx_100k.bin
|
||||
python ch395f_socket_test.py tcp_file --port 8080 --op echo # TC-NET-803 回显(MCU 为 server)
|
||||
"""
|
||||
|
||||
import socket
|
||||
@@ -63,6 +63,8 @@ import string
|
||||
import zlib
|
||||
from datetime import datetime
|
||||
|
||||
import bench_defaults # 台架连接默认值单一真源
|
||||
|
||||
# TCP 回显服务器(tcp_server 模式)参数
|
||||
INTER_ACCEPT_TIMEOUT = 60 # 首个连接后,等待下一个连接的超时秒数
|
||||
ECHO_IDLE_TIMEOUT = 30 # 连接内无数据的空闲超时秒数
|
||||
@@ -963,7 +965,7 @@ def dhcp_server_test(args):
|
||||
options)
|
||||
|
||||
# Try both global broadcast and subnet broadcast
|
||||
for bcast in ['255.255.255.255', '192.168.1.255']:
|
||||
for bcast in ['255.255.255.255', bench_defaults.NET_BCAST]:
|
||||
sock.sendto(offer, (bcast, DHCP_CLIENT_PORT))
|
||||
log_success("发送 DHCP OFFER")
|
||||
|
||||
@@ -994,7 +996,7 @@ def dhcp_server_test(args):
|
||||
_ip_to_bytes(offer_ip),
|
||||
_ip_to_bytes(server_ip),
|
||||
ack_options)
|
||||
for bcast in ['255.255.255.255', '192.168.1.255']:
|
||||
for bcast in ['255.255.255.255', bench_defaults.NET_BCAST]:
|
||||
sock.sendto(ack, (bcast, DHCP_CLIENT_PORT))
|
||||
log_success(f"发送 DHCP ACK → {offer_ip}")
|
||||
log_success("DHCP 分配完成!")
|
||||
@@ -1016,7 +1018,7 @@ def dhcp_server_test(args):
|
||||
_ip_to_bytes(offer_ip),
|
||||
_ip_to_bytes(server_ip),
|
||||
options)
|
||||
for bcast in ['255.255.255.255', '192.168.1.255']:
|
||||
for bcast in ['255.255.255.255', bench_defaults.NET_BCAST]:
|
||||
sock.sendto(offer, (bcast, DHCP_CLIENT_PORT))
|
||||
log_info(f"重发 DHCP OFFER (retry={retry+1})")
|
||||
except socket.timeout:
|
||||
@@ -1245,10 +1247,10 @@ def main():
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter,
|
||||
epilog="""
|
||||
示例:
|
||||
%(prog)s tcp_client --ip 192.168.1.100 --port 8080
|
||||
%(prog)s tcp_client --port 8080
|
||||
%(prog)s tcp_server --port 8080
|
||||
%(prog)s stress --ip 192.168.1.100 --port 8080 --count 5
|
||||
%(prog)s dhcp_server --dhcp-iface 192.168.1.2 --ip 192.168.1.100
|
||||
%(prog)s stress --port 8080 --count 5
|
||||
%(prog)s dhcp_server --dhcp-iface <PC 网卡 IP,见 bench_defaults.PC_IP> --ip <设备 IP>
|
||||
%(prog)s tcp_bulk --port 8081 --bulk 262144 --chunk 4096
|
||||
"""
|
||||
)
|
||||
@@ -1257,7 +1259,7 @@ def main():
|
||||
'tcp_echo', 'udp_echo', 'stress', 'packet_size',
|
||||
'dhcp_server', 'tcp_bulk', 'tcp_file'],
|
||||
help='测试模式')
|
||||
parser.add_argument('--ip', default='192.168.1.100', help='目标 IP 地址 / DHCP 待分配 IP')
|
||||
parser.add_argument('--ip', default=bench_defaults.DEVICE_IP, help='目标 IP 地址 / DHCP 待分配 IP')
|
||||
parser.add_argument('--port', type=int, default=8080, help='端口号')
|
||||
parser.add_argument('--count', type=int, default=10, help='测试次数')
|
||||
parser.add_argument('--size', type=int, default=1024, help='数据包大小')
|
||||
@@ -1268,9 +1270,9 @@ def main():
|
||||
help='tcp_file 方向: send=读文件发往 MCU, recv=从 MCU 收文件落盘, echo=连 MCU 回显')
|
||||
parser.add_argument('--file', default=None, help='tcp_file 文件路经(send: 读取; recv: 写入)')
|
||||
parser.add_argument('--max-conn', type=int, default=0, help='最大并发连接数(默认0=不限;按并发计数,非累计,TC-NET-704 并发测试用 8)')
|
||||
parser.add_argument('--dhcp-iface', default='192.168.1.2', help='DHCP 服务器网卡 IP')
|
||||
parser.add_argument('--dhcp-iface', default=bench_defaults.PC_IP, help='DHCP 服务器网卡 IP')
|
||||
parser.add_argument('--dhcp-mask', default='255.255.255.0', help='DHCP 分配的子网掩码')
|
||||
parser.add_argument('--dhcp-gw', default='192.168.1.1', help='DHCP 分配的网关')
|
||||
parser.add_argument('--dhcp-gw', default=bench_defaults.DEVICE_GW, help='DHCP 分配的网关')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user