linux_learn/CLAUDE.md

76 lines
5.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# CLAUDE.md
本文件为 Claude Code (claude.ai/code) 在此仓库中工作时提供指导。
## 仓库概述
这是一个 **RK3568 嵌入式 Linux 开发的学习/参考资料仓库**,不是可构建的软件项目。它整理了厂商资料(创龙 / 正点原子、Rockchip 官方 SDK、示例源码以及手写学习指南。
两块目标开发板:
- **创龙 TL3568-EVM** — 基于 Buildroot 2018.02,资料在 `TL3568-EVM(Buildroot-2018.02)_V1.8/`
- **正点原子 ATK-DLRK356X** — 资料在 `叶鹏程/`
**使用者**:嵌入式软件工程师,从事电力二次保护设备通讯开发,正在系统学习 RK3568 的 Linux 系统、驱动和应用开发。
## 导航入口:`docs/` 目录
`docs/` 目录包含 7 份手写 markdown 索引文件,将学习主题映射到实际文件位置。**当用户询问某个主题时,始终先从这里入手**
| 文件 | 主题 |
|------|------|
| [00-学习资料总索引.md](docs/00-学习资料总索引.md) | 总索引含三条学习路径Linux 驱动方向、STM32→Linux 转型、CAN 总线实战) |
| [01-Linux内核与驱动开发.md](docs/01-Linux内核与驱动开发.md) | GPIO/SPI/CAN/USB/PCIe 驱动文档、VPU/NPU/GPU 加速、引脚控制 |
| [02-设备树与Linux系统构建.md](docs/02-设备树与Linux系统构建.md) | DTS 语法、Buildroot 构建流程、内核/uboot 镜像、启动卡制作 |
| [03-AMP_SMP_多核异构开发.md](docs/03-AMP_SMP_多核异构开发.md) | Rockchip AMP SDK、M0 核上运行 RT-Thread/Baremetal、rpmsg 核间通信 |
| [04-应用层与中间件开发.md](docs/04-应用层与中间件开发.md) | SocketCAN、EtherCATAcontis/IgH、MQTT、Qt、GStreamer、Docker、SQLite |
| [05-实时性与系统优化.md](docs/05-实时性与系统优化.md) | Preempt-RT、Cyclictest 延迟测试、PTP 时钟同步、性能调优 |
| [06-STM32与RTOS基础.md](docs/06-STM32与RTOS基础.md) | 野火指南HAL/FreeRTOS/uCOS/RT-Thread/LwIP、电机 FOC 控制 |
| [07-硬件参考与数据手册.md](docs/07-硬件参考与数据手册.md) | CPU/PMIC/RAM/ROM 数据手册、原理图、PCB 封装、B2B 连接器 |
每份索引文件都列出了对应主题在 `TL3568-EVM.../``叶鹏程/` 中的实际 PDF/源码路径。
## 关键资料位置
### 示例源码C/Linux 用户空间例程)
`TL3568-EVM(Buildroot-2018.02)_V1.8/4-软件资料/Demo/`
| 子目录 | 内容 |
|--------|------|
| `base-demos/` | can_echo、uart_rw、spi_rw、led_flash、key_demo、lcd_demo、tcp_udp、devmem_rw |
| `platform-demos/` | v4l2_capture、yolov5_object_detect、isp_demo、gige_capture、dma_memcpy、dual_camera、gst_rtsp/gst 编码管道 |
| `amp-demos/` | AMP 多核通信示例 |
| `qt-demos/` | Qt GUI 示例 |
| `python-demos/` | Python 外设/NPU 示例 |
| `mqtt-demos/` | MQTT 客户端示例 |
| `module-demos/` | 物联网模块4G、WiFi、蓝牙示例 |
| `FPGA-demos/` | ARM+FPGA 通过 PCIe 通信 |
### Rockchip 官方 SDK源码压缩包
- `TL3568-EVM.../6-开发参考资料/Rockchip官方SDK/rk356x_linux_release_v1.3.1_20221120/` — Linux 内核 + Buildroot
- `TL3568-EVM.../6-开发参考资料/Rockchip官方SDK/rk356x_amp_sdk_release_v1.2.3_20230515/` — AMP非对称多处理SDK
### Rockchip 驱动参考文档PDF
`TL3568-EVM.../6-开发参考资料/Rockchip官方参考文档/Common/` — 按模块分类CAN、SPI、UART、I2C、PWM、PCIe、USB、GMAC、DISPLAY、CAMERA、NPU、Pin-Ctrl 等
### 正点原子 SDK
`叶鹏程/【正点原子】RK3568开发板资料B盘-开发环境及SDK/02、ATK-DLRK3568开发板SDK/` — linux、android11、android12、openharmony SDK
### 野火 STM32 指南
`叶鹏程/A盘资料盘/1-程序源码_教程文档/` — 8 本 STM32 教程书HAL、FreeRTOS、uCOS、RT-Thread、LwIP、电机控制
## 在此仓库中工作的注意事项
- SDK 目录中的大部分源码在压缩包内,不可直接编辑,需要先解压。
- `Demo/` 下的示例代码是可直接阅读的源码C/C++ Makefile 工程、Python 脚本、Qt `.pro` 文件)。
- `3-用户手册/` 下的用户手册PDF是主要的操作指南涵盖环境搭建、测试和每个子系统的开发流程。
- `docs/` markdown 文件使用相对路径 `../` 链接引用实际文件位置,从 `docs/` 目录内解析这些路径是正确的。
- 当用户询问特定外设或子系统时,先在 `docs/` 中查找对应索引,再顺着链接找到实际 PDF 或源码。
- 用户从事电力二次保护通讯开发,关注 CAN 总线、EtherCAT、实时性Preempt-RT、网络通讯等方向回答时应优先关联这些场景。
## 目标硬件参数
- **SoC**Rockchip RK35684×Cortex-A55 + 1×Cortex-M0Mali-G52 GPU1 TOPS NPU
- **内核版本**Linux 4.19(创龙 Buildroot 2018.02 SDK或 Linux 5.10(正点原子 SDK
- **交叉编译器**aarch64-none-linux-gnu-gccRockchip 工具链包含在 SDK 中)
- **构建系统**Buildroot 2018.02(创龙)或标准内核构建(正点原子)