Skip to content

Commit 0a52d61

Browse files
authored
Merge pull request #358 from COOLINGXIZHOU/user
针对于MicroLink的网页端助手
2 parents a1f8068 + 938bb38 commit 0a52d61

File tree

6 files changed

+9612
-0
lines changed

6 files changed

+9612
-0
lines changed
Lines changed: 186 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
# MicroLink Web Serial Terminal
2+
3+
一个基于Web Serial API的现代化串口终端应用,专为MicroLink设备设计,支持串口调试、烧录脚本下载、拖拽和离线脚本生成下载和实时变量分析等功能。
4+
5+
## ✨ 主要功能
6+
7+
### 🔌 串口通信
8+
- **Web Serial API支持**:现代浏览器原生串口访问
9+
- **多种显示模式**:HEX和文本模式数据接收
10+
- **智能数据缓冲**:优化大量数据的显示效果
11+
- **ANSI转义序列支持**:完整的颜色和格式支持
12+
13+
### 🖥️ 虚拟终端
14+
- **实时按键发送**:所有按键实时发送到串口
15+
- **特殊按键支持**:Tab、箭头键、Ctrl组合键等
16+
- **ANSI序列处理**:智能处理和显示ANSI颜色代码
17+
- **输入框自动清除**:避免与远程回显重复
18+
- **命令历史**:支持命令历史记录和回放
19+
20+
### 📡 MicroLink API
21+
- **RTT调试功能**:实时调试数据传输
22+
- **SystemView性能分析**:系统性能监控
23+
- **Flash编程**:固件下载和烧录
24+
- **Ymodem文件传输**:可靠的文件传输协议
25+
- **自定义命令**:支持用户自定义命令
26+
27+
### 📊 变量分析
28+
- **ELF文件解析**:自动解析嵌入式可执行文件
29+
- **变量提取**:从符号表中提取变量信息
30+
- **实时曲线绘制**:多变量实时数据可视化
31+
- **内存映射**:变量在内存中的分布展示
32+
- **数据采样**:可配置的采样率和显示范围
33+
34+
### 🐍 Python脚本生成
35+
- **自动化脚本**:图形化配置生成Python控制脚本
36+
- **一键下载**:直接下载生成的脚本文件
37+
- **脚本传输**:通过Ymodem协议传输脚本
38+
39+
### 📁 文件管理
40+
- **多文件配置**:支持多个文件的批量处理
41+
- **FLM文件处理**:嵌入式Flash算法文件支持
42+
- **文件传输**:通过Ymodem协议传输文件
43+
- **配置管理**:参数保存和加载
44+
45+
## 🚀 快速开始
46+
47+
### 环境要求
48+
- **现代浏览器**:Chrome 89+、Edge 89+、Opera 75+
49+
- **HTTPS环境**:Web Serial API需要安全上下文
50+
- **MicroLink设备**:支持的硬件设备
51+
52+
### 使用方式
53+
1. **打开文件**
54+
- 打开index.html
55+
56+
2. **连接设备**
57+
- 点击"连接串口"按钮
58+
- 选择对应的串口设备
59+
60+
3. **开始使用**
61+
- 选择对应的页面
62+
- 使用相应的功能
63+
64+
## 📁 项目结构
65+
66+
```
67+
microlink-web-terminal/
68+
├── index.html # 主HTML文件
69+
├── README.md # 项目说明文档
70+
├── assets/ # 资源文件夹
71+
│ ├── style.css # 样式文件
72+
│ ├── script.js # JavaScript核心逻辑
73+
│ └── echarts.min.js # ECharts本地图表库
74+
└── config/ # 配置文件夹
75+
└── microlink_web_scp.txt # 默认配置文件
76+
```
77+
78+
## 🎯 功能模块详解
79+
80+
### 1. 串口调试面板
81+
- **参数管理**:保存、加载、重置串口参数
82+
- **自定义命令**:添加常用命令到快捷列表
83+
- **RTT控制**:启动/停止RTT调试功能
84+
- **SystemView控制**:系统性能分析配置
85+
- **FLM控制**:Flash算法文件配置
86+
- **下载控制**:固件文件下载配置
87+
88+
### 2. FLM配置面板
89+
- **文件上传**:支持ELF文件拖拽上传
90+
- **解析显示**:显示文件信息和符号表
91+
- **格式转换**:将ELF文件转换为.o格式
92+
- **Ymodem发送**:通过串口发送文件到设备
93+
94+
### 3. Python脚本配置面板
95+
- **参数配置**:设置脚本生成参数
96+
- **代码预览**:实时预览生成的Python代码
97+
- **脚本下载**:下载生成的Python脚本
98+
- **Ymodem发送**:直接发送脚本到设备
99+
100+
### 4. 变量分析面板
101+
- **文件解析**:上传ELF文件并解析变量
102+
- **变量选择**:选择需要监控的变量
103+
- **实时绘图**:多变量实时数据曲线
104+
- **串口控制**:配置数据采样参数
105+
106+
## ⚙️ 配置说明
107+
-该功能是为了方便后续用户进行自定义配置,方便快速使用,目前尚未完全开发
108+
109+
### RTT配置
110+
```ini
111+
# RTT调试参数
112+
rtt_addr=0x20000000
113+
rtt_size=0x4000
114+
rtt_channel=0
115+
```
116+
117+
### SystemView配置
118+
```ini
119+
# SystemView参数
120+
systemview_addr=0x20000000
121+
systemview_size=0x4000
122+
systemview_channel=1
123+
```
124+
125+
## 🔧 高级功能
126+
127+
### 数据缓冲机制
128+
- **智能缓冲**:根据数据特征自动调整缓冲策略
129+
- **分行超时**:可配置的数据分行超时时间
130+
- **完整性检查**:确保数据接收的完整性
131+
132+
### ANSI序列支持
133+
- **颜色代码**:支持16色、256色和RGB颜色
134+
- **控制序列**:支持光标移动、清屏等操作
135+
- **格式保持**:保持终端的原始格式
136+
137+
### 性能优化
138+
- **Worker线程**:图表数据处理使用Web Worker
139+
- **内存管理**:智能内存使用和垃圾回收
140+
- **渲染优化**:减少不必要的DOM操作
141+
142+
## 🌐 浏览器兼容性
143+
144+
### Web Serial API支持
145+
- ✅ Chrome 89+
146+
- ✅ Edge 89+
147+
- ✅ Opera 75+
148+
- ❌ Firefox (不支持)
149+
- ❌ Safari (不支持)
150+
151+
### File System Access API支持
152+
- ✅ Chrome 86+
153+
- ✅ Edge 86+
154+
- ✅ Opera 72+
155+
- ❌ Firefox (不支持)
156+
- ❌ Safari (不支持)
157+
158+
## 📝 使用技巧
159+
160+
### 基础操作
161+
1. **连接设备**:确保设备已连接并选择正确串口
162+
2. **配置参数**:根据设备要求设置波特率等参数
163+
3. **发送命令**:在终端中输入命令或使用预设命令
164+
4. **查看数据**:实时查看设备返回的数据
165+
166+
### 高级功能
167+
1. **变量分析**:上传ELF文件分析变量结构
168+
2. **实时绘图**:选择变量进行实时数据可视化
169+
3. **文件传输**:使用Ymodem协议传输文件
170+
4. **脚本生成**:生成Python自动化脚本
171+
172+
### 故障排除
173+
1. **连接失败**:检查设备连接和串口权限
174+
2. **数据乱码**:检查波特率设置是否正确
175+
3. **文件传输失败**:确保设备支持Ymodem协议
176+
4. **图表不显示**:检查变量选择和采样率设置
177+
178+
---
179+
180+
**MicroLink Web Serial Terminal** - 让嵌入式开发更简单、更高效!
181+
182+
更新日志
183+
V1.0.1
184+
-完成项目主要功能
185+
-创建使用说明
186+
-进行发布测试

bsp/MicroLink-web-assistant/assets/echarts.min.js

Lines changed: 45 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)