Skip to content

Commit 1651b9c

Browse files
authored
docs: 继续调整措辞,删除 lockfree_queue 页面 (#14)
* docs: 继续调整措辞,删除 lockfree_queue 页面 - 去除「这条线」「当前接口边界」「语义边界」「这页不做什么」等写法 - 四处「当前接口边界」标题统一改为「说明」 - 删除已废弃的 lockfree_queue.md(中英文) - perf-topic.md 删除多余的读者引导段落 * docs: 修复删除 lockfree_queue 后的死链
1 parent a4db5bb commit 1651b9c

15 files changed

Lines changed: 18 additions & 125 deletions

File tree

docs/adv_coding/driver/uart_driver.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ UART 驱动对上统一暴露 `SetConfig(...)`、`Write(...)` 和 `Read(...)`。
2626

2727
`ESP32UART` 仍然沿用同一套端口抽象,但内部会按芯片能力选择后端。有 GDMA 时走 DMA 路径,没有则退回 FIFO + UART 中断。无论底层是哪条后端,发送侧都保留 active/pending 双槽,接收侧都以“先把字节推入端口队列,再处理挂起读请求”为准。
2828

29-
`ESP32CDCJtag` 也值得单独提一下。它对上同样继承 `LibXR::UART`,但底层不是传统 UART 外设,而是 `USB Serial/JTAG` 控制器。它保留了 UART 抽象,却不属于 XRUSB 的通用 `DeviceCore`。从驱动设计角度看,这条线依然遵循相同原则:发送侧准备下一块,接收侧把字节推进 `ReadPort`,只不过底层搬运方式从 UART DMA/FIFO 变成了 USB Serial/JTAG FIFO。
29+
`ESP32CDCJtag` 也值得单独提一下。它对上同样继承 `LibXR::UART`,但底层不是传统 UART 外设,而是 `USB Serial/JTAG` 控制器。它保留了 UART 抽象,却不属于 XRUSB 的通用 `DeviceCore`。从驱动设计角度看,它依然遵循相同原则:发送侧准备下一块,接收侧把字节推进 `ReadPort`,只不过底层搬运方式从 UART DMA/FIFO 变成了 USB Serial/JTAG FIFO。
3030

3131
## Linux 路径
3232

docs/basic_coding/driver/power.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public:
3535
- 可用于平台的电源按钮、远程命令、低电量策略等情境;
3636
- 由具体平台实现其底层行为,接口保持一致,便于移植与抽象封装。
3737
38-
## 当前接口边界
38+
## 说明
3939
4040
- `PowerManager` 当前是一个非常窄的抽象面:只有 `Reset()`、`Shutdown()` 和默认退化为 `Reset()` 的 `JumpToBootloader()`。
4141
- 它不携带状态查询、事件回调、低功耗级别枚举等更丰富的统一策略接口;如果某个平台有这些能力,仍属于具体实现或更上层策略模块,而不是当前基类公共契约。

docs/basic_coding/driver/pwm.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public:
3838
- 提供启用与禁用接口,适合状态控制与节能管理;
3939
- 平台需实现具体信号输出逻辑,上层调用保持一致性。
4040
41-
## 当前接口边界
41+
## 说明
4242
4343
- `SetDutyCycle(float value)` 当前只以注释形式约定“0.0 ~ 1.0”这一常见占空比表达;若某个平台实现需要做钳制、量化或错误返回,具体行为仍由该后端决定。
4444
- `Configuration` 当前只包含 `frequency` 字段;占空比并不通过 `SetConfig()` 设置,而是单独走 `SetDutyCycle()`。

docs/basic_coding/driver/spi.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,9 +118,9 @@ struct ReadWriteInfo {
118118
- 提供全双工传输接口,并暴露 `GetRxBuffer()` / `GetTxBuffer()``SwitchBuffer()``SetActiveLength()` 等双缓冲辅助接口;
119119
- 通用操作模型(`OperationRW = WriteOperation`),支持同步、回调、轮询等模式;
120120

121-
## 语义边界
121+
## 说明
122122

123-
- `ReadAndWrite(...)``Transfer(...)``MemRead(...)``MemWrite(...)` 都是平台实现需要提供的抽象行为;本页不假定所有平台都共享相同的寄存器协议或 DMA 组织方式
123+
- `ReadAndWrite(...)``Transfer(...)``MemRead(...)``MemWrite(...)` 都是平台实现需要提供的抽象行为;各平台的寄存器协议和 DMA 组织方式不一定相同
124124
- 当前 `GetRxBuffer()` / `GetTxBuffer()` 在双缓冲关闭时返回构造时传入的 `rx_buffer_ / tx_buffer_`;双缓冲开启时返回当前 active 半区。
125125
- `SwitchBuffer()` 只在 `double_buffer == true` 时切换内部 `DoubleBuffer` 状态;否则不做任何操作。
126126
- `SetActiveLength()` / `GetActiveLength()` 当前只作用在发送侧 `double_buffer_tx_` 的辅助长度字段上,不表示一条独立的统一“传输长度元信息协议”。

docs/basic_coding/driver/uart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ ErrorCode Read(RawData data, OperationType&& op, bool in_isr = false);
6060
- `OperationType` 需要是 `WriteOperation` / `ReadOperation`(或其派生/等价类型)。
6161
- `in_isr` 指示是否在中断上下文中调用(会透传到端口的 `operator()`)。
6262

63-
## 当前接口边界
63+
## 说明
6464

6565
- `UART::Parity` 当前只有 `NO_PARITY / EVEN / ODD` 三种取值;源码里仍保留 `Mark / Space` 的 TODO 注释,因此文档不应把这些模式写成已存在的通用接口能力。
6666
- `stop_bits` 当前只是一个原始 `uint8_t` 配置字段;基类接口本身没有再定义 `0.5 / 1.5` 这类统一枚举或跨平台保证。

docs/basic_coding/structure/README.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ sidebar_position: 2
2020
- [Queue(普通 FIFO 队列)](./queue.md)
2121
- [SPSCQueue(单生产者单消费者无锁队列)](./spsc_queue.md)
2222
- [MPMCQueue(多生产者多消费者有界队列)](./mpmc_queue.md)
23-
- [LockFreeQueue(历史兼容说明)](./lockfree_queue.md)
2423
- [Stack(栈)](./stack.md)
2524
- [List(链表)](./list.md)
2625
- [LockFreeList(无锁链表)](./lockfree_list.md)

docs/basic_coding/structure/lockfree_pool.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ sidebar_position: 8
5252
> - `ErrorCode::FULL`:无可写槽
5353
> - `ErrorCode::EMPTY`:无可读槽
5454
55-
## 当前接口边界
55+
## 说明
5656

5757
- 当前 `Put(const Data&, uint32_t& start_index)` / `Get(Data&, uint32_t& start_index)` 都只从给定起始槽位向后线性扫描;若想重新从头找,需要调用方自己把 `start_index` 重新置回 `0`
5858
- `RecycleSlot(index)` 当前只在槽状态为 `READY` 时成功;如果槽位已经被 `Get*()` 取走并进入 `RECYCLE`,再次调用 `RecycleSlot()` 不会成功。

docs/basic_coding/structure/lockfree_queue.md

Lines changed: 0 additions & 40 deletions
This file was deleted.

docs/concept.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ sidebar_position: 2
66

77
# 设计思想
88

9-
这一页不讲 API 清单,而是说明 `LibXR` 在几个核心问题上的设计取向:数据流怎样组织、回调和中断该承担什么职责、I/O 完成行为怎样表达、平台边界怎样划分。很多接口看起来有些克制,由此而来。
9+
本页说明 `LibXR` 在几个核心问题上的设计取向:数据流怎样组织、回调和中断该承担什么职责、I/O 完成行为怎样表达、平台边界怎样划分。很多接口看起来有些克制,由此而来。
1010

1111
## `无锁数据结构与 ISR 驱动的数据流`
1212

docs/env_setup/ch32.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ sidebar_position: 2
88

99
当前默认使用 WCH 提供的 GCC15 工具链,编译器前缀为 `riscv32-wch-elf-`
1010

11-
模板工程也已经按这条线配置。如果只是想快速编译,也可以直接使用 `docker-image-ch32-riscv`,当前镜像里已经是 `WCH GCC15 v240`
11+
模板工程已按此配置。如果只是想快速编译,也可以直接使用 `docker-image-ch32-riscv`,当前镜像里已经是 `WCH GCC15 v240`
1212

1313
## CMake 配置
1414

0 commit comments

Comments
 (0)