Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 186 additions & 0 deletions bsp/MicroLink-web-assistant/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,186 @@
# MicroLink Web Serial Terminal

一个基于Web Serial API的现代化串口终端应用,专为MicroLink设备设计,支持串口调试、烧录脚本下载、拖拽和离线脚本生成下载和实时变量分析等功能。

## ✨ 主要功能

### 🔌 串口通信
- **Web Serial API支持**:现代浏览器原生串口访问
- **多种显示模式**:HEX和文本模式数据接收
- **智能数据缓冲**:优化大量数据的显示效果
- **ANSI转义序列支持**:完整的颜色和格式支持

### 🖥️ 虚拟终端
- **实时按键发送**:所有按键实时发送到串口
- **特殊按键支持**:Tab、箭头键、Ctrl组合键等
- **ANSI序列处理**:智能处理和显示ANSI颜色代码
- **输入框自动清除**:避免与远程回显重复
- **命令历史**:支持命令历史记录和回放

### 📡 MicroLink API
- **RTT调试功能**:实时调试数据传输
- **SystemView性能分析**:系统性能监控
- **Flash编程**:固件下载和烧录
- **Ymodem文件传输**:可靠的文件传输协议
- **自定义命令**:支持用户自定义命令

### 📊 变量分析
- **ELF文件解析**:自动解析嵌入式可执行文件
- **变量提取**:从符号表中提取变量信息
- **实时曲线绘制**:多变量实时数据可视化
- **内存映射**:变量在内存中的分布展示
- **数据采样**:可配置的采样率和显示范围

### 🐍 Python脚本生成
- **自动化脚本**:图形化配置生成Python控制脚本
- **一键下载**:直接下载生成的脚本文件
- **脚本传输**:通过Ymodem协议传输脚本

### 📁 文件管理
- **多文件配置**:支持多个文件的批量处理
- **FLM文件处理**:嵌入式Flash算法文件支持
- **文件传输**:通过Ymodem协议传输文件
- **配置管理**:参数保存和加载

## 🚀 快速开始

### 环境要求
- **现代浏览器**:Chrome 89+、Edge 89+、Opera 75+
- **HTTPS环境**:Web Serial API需要安全上下文
- **MicroLink设备**:支持的硬件设备

### 使用方式
1. **打开文件**
- 打开index.html

2. **连接设备**
- 点击"连接串口"按钮
- 选择对应的串口设备

3. **开始使用**
- 选择对应的页面
- 使用相应的功能

## 📁 项目结构

```
microlink-web-terminal/
├── index.html # 主HTML文件
├── README.md # 项目说明文档
├── assets/ # 资源文件夹
│ ├── style.css # 样式文件
│ ├── script.js # JavaScript核心逻辑
│ └── echarts.min.js # ECharts本地图表库
└── config/ # 配置文件夹
└── microlink_web_scp.txt # 默认配置文件
```

## 🎯 功能模块详解

### 1. 串口调试面板
- **参数管理**:保存、加载、重置串口参数
- **自定义命令**:添加常用命令到快捷列表
- **RTT控制**:启动/停止RTT调试功能
- **SystemView控制**:系统性能分析配置
- **FLM控制**:Flash算法文件配置
- **下载控制**:固件文件下载配置

### 2. FLM配置面板
- **文件上传**:支持ELF文件拖拽上传
- **解析显示**:显示文件信息和符号表
- **格式转换**:将ELF文件转换为.o格式
- **Ymodem发送**:通过串口发送文件到设备

### 3. Python脚本配置面板
- **参数配置**:设置脚本生成参数
- **代码预览**:实时预览生成的Python代码
- **脚本下载**:下载生成的Python脚本
- **Ymodem发送**:直接发送脚本到设备

### 4. 变量分析面板
- **文件解析**:上传ELF文件并解析变量
- **变量选择**:选择需要监控的变量
- **实时绘图**:多变量实时数据曲线
- **串口控制**:配置数据采样参数

## ⚙️ 配置说明
-该功能是为了方便后续用户进行自定义配置,方便快速使用,目前尚未完全开发

### RTT配置
```ini
# RTT调试参数
rtt_addr=0x20000000
rtt_size=0x4000
rtt_channel=0
```

### SystemView配置
```ini
# SystemView参数
systemview_addr=0x20000000
systemview_size=0x4000
systemview_channel=1
```

## 🔧 高级功能

### 数据缓冲机制
- **智能缓冲**:根据数据特征自动调整缓冲策略
- **分行超时**:可配置的数据分行超时时间
- **完整性检查**:确保数据接收的完整性

### ANSI序列支持
- **颜色代码**:支持16色、256色和RGB颜色
- **控制序列**:支持光标移动、清屏等操作
- **格式保持**:保持终端的原始格式

### 性能优化
- **Worker线程**:图表数据处理使用Web Worker
- **内存管理**:智能内存使用和垃圾回收
- **渲染优化**:减少不必要的DOM操作

## 🌐 浏览器兼容性

### Web Serial API支持
- ✅ Chrome 89+
- ✅ Edge 89+
- ✅ Opera 75+
- ❌ Firefox (不支持)
- ❌ Safari (不支持)

### File System Access API支持
- ✅ Chrome 86+
- ✅ Edge 86+
- ✅ Opera 72+
- ❌ Firefox (不支持)
- ❌ Safari (不支持)

## 📝 使用技巧

### 基础操作
1. **连接设备**:确保设备已连接并选择正确串口
2. **配置参数**:根据设备要求设置波特率等参数
3. **发送命令**:在终端中输入命令或使用预设命令
4. **查看数据**:实时查看设备返回的数据

### 高级功能
1. **变量分析**:上传ELF文件分析变量结构
2. **实时绘图**:选择变量进行实时数据可视化
3. **文件传输**:使用Ymodem协议传输文件
4. **脚本生成**:生成Python自动化脚本

### 故障排除
1. **连接失败**:检查设备连接和串口权限
2. **数据乱码**:检查波特率设置是否正确
3. **文件传输失败**:确保设备支持Ymodem协议
4. **图表不显示**:检查变量选择和采样率设置

---

**MicroLink Web Serial Terminal** - 让嵌入式开发更简单、更高效!

更新日志
V1.0.1
-完成项目主要功能
-创建使用说明
-进行发布测试
45 changes: 45 additions & 0 deletions bsp/MicroLink-web-assistant/assets/echarts.min.js

Large diffs are not rendered by default.

Loading
Loading