页次: 1
上游 PR 已经合并
❯ yay -Ss gx-codegen
aur/gx-codegen-git 1.0.r5.gf7217e2-1 (+0 0.00) (Installed)
GX (感芯科技)芯片代码生成器,Qt编写,用于方便的配置各个线程的相关主频及栈空间参数,生成对应的lds文件与.h文件
aur-repo/gx-codegen-git-debug 1.0.r5.gf7217e2-1 (602.6 KiB 2.7 MiB)
Detached debugging symbols for gx-codegen-git
aur-repo/gx-codegen-git 1.0.r5.gf7217e2-1 (98.6 KiB 377.0 KiB) (Installed)
GX (感芯科技)芯片代码生成器,Qt编写,用于方便的配置各个线程的相关主频及栈空间参数,生成对应的lds文件与.h文件
在Linux下运行需要sudo 权限,否则同样的异常错误,具体原因不知道,建议在linux使用。
这个是缺少 udev 的 rules 文件,可以参考这个包的处理
install -Dm644 99-rk-rockusb.rules -t "$pkgdir/usr/lib/udev/rules.d/"
udev 用户组的配置可以参考这里【gx-isptool】添加到 Arch Linux 的 AUR 仓库
增加两个 echo 输出信息,便于观察
#!/bin/sh
let i_ok=0
let i_error=0
while [ 1 ]; do
date +"测试时间:%Y-%m-%d %H:%M:%S"
rm /d/work3/x.bin -rf #源文件路径
rm /f/work3/x.bin -rf #米客方德SDNAND插入的U盘路径
echo "Generate random number file"
dd if=/dev/urandom of=/d/work3/x.bin bs=1M count=117 status=progress > /dev/null 2>&1 #生成随机数文件
sync
mkdir -p /f/work3/ #生成U盘文件夹
#cp /d/work3/x.bin /f/work3/x.bin -rf #复制到U盘
echo "SDNAND Direct Write Test"
dd if=/d/work3/x.bin of=/f/work3/x.bin bs=1M status=progress oflag=direct
sync #立即写入U盘
if [[ $(md5sum /d/work3/x.bin /f/work3/x.bin | awk '{print $1}' | uniq | wc -l) == 1 ]]; then #比较源文件与U盘文件
let i_ok=i_ok+1 #正确次数 +1
else
let i_error=i_error+1
md5sum /d/work3/x.bin /f/work3/x.bin
mkdir -p /d/work3/dump/$i_error/
cp /d/work3/x.bin /d/work3/dump/$i_error/source.bin #发生错误保存 源文件到电脑,方便后面比较
cp /f/work3/x.bin /d/work3/dump/$i_error/dest.bin #发生错误保存 目标到电脑,方便后面比较
fi
echo -e "$i_ok 次测试通过, $i_error 次测试错误.\n"
done
收到板子后,测试发现 Linux 下普通用户使用还需要添加 udev 的 rules 文件
注意: `49-gx-link.rules` 默认安装在 `/usr/lib/udev/rules.d` 下
不同 Linux 还需要将当前用户添加进响应的设别组里面,如:
# Arch 等新版本的 Linux 设备组是 uucp
sudo usermod -aG uucp $USER
# or
sudo gpasswd -a $USER uucp
# Ubuntu 等老版本的 Linux 设备组是 plugdev
sudo usermod -aG plugdev $USER
# or
sudo gpasswd -a $USER plugdev
Arch Linux 用户可以通过 AUR 源安装 gx-codegen-git 或添加自建源安装
注意:自建源需要等支持 Linux PR 合并后才能获取安装
❯ yay -Ss gx-codegen
aur/gx-codegen-git 1.0.r4.g5d52a96-1 (+0 0.00) (Installed: 1.0.r4.gce694b2-1)
GX (感芯科技)芯片代码生成器,Qt编写,用于方便的配置各个线程的相关主频及栈空间参数,生成对应的lds文件与.h文件
❯ yay -Syu gx-codegen
其他 Linux 用户可以参考 AUR gx-codegen-git 的 PKGBUILD 文件中的配置自行本地编译安装
Arch Linux 用户可以通过 AUR 源安装 gx-isptool 或添加自建源安装
❯ yay -Ss gx-isptool
aur/gx-isptool-git r18.e367e66-1 (+0 0.00) (Installed)
GX (感芯科技) 芯片下载工具,用于连接USB给GX芯片下载固件/调试固件,持续开发中,欢迎支持~
aur-repo/gx-isptool-git-debug r18.e367e66-1 (8.6 MiB 43.2 MiB)
Detached debugging symbols for gx-isptool-git
aur-repo/gx-isptool-git r18.e367e66-1 (6.3 MiB 8.2 MiB) (Installed)
GX (感芯科技) 芯片下载工具,用于连接USB给GX芯片下载固件/调试固件,持续开发中,欢迎支持~
❯ yay -Syu gx-isptool
其他 Linux 用户可以参考 AUR gx-isptool-git 的 PKGBUILD 文件中的配置自行本地编译安装
厉害,感谢
这个 PR 没什么问题的话合并一下吧
https://gitee.com/gxchip/GX_ISPTool/pulls/4
Arch 那边已经可以用了
@海石生风 已提 PR 进行修复 https://gitee.com/gxchip/GX_ISPTool/pulls/4
管理员有空的话可以合并下这个 PR
适用于 CI/CD 的 KiCad 自动化脚本的 Docker 镜像
https://github.com/INTI-CMNB/kicad_auto
kicad_auto
Docker image for KiCad automation scripts suitable for CI/CD
The main objetive is to use it as a base for KiCad automation in CI/CD environments.
The images are uploaded to Docker Hub and GitHub: Compatibility names, KiCad 5 and KiCad 6.
This image is based on setsoft/kicad_debian and adds some automation tools to it:
KiBot generate gerbers, drill, position files, etc.
KiAuto runs DRC/ERC, prints schematics, PCB, etc.
KiBoM generates HTML and CSV BoMs
InteractiveHtmlBom generates interactive HTML BoMs
PcbDraw generates 2D renders of the PCB
KiCost generates BoMs with prices
KiCad Git filters helps to reduce unneeded commits for KiCad files when using git
KiCad PCB diff a tool to see differences between PCBs, can be used as git plugin
[mw_shl_code=c,true]export USER_ID=$(id -u)
export GROUP_ID=$(id -g)
export WORKDIR=RELATIVE_PATH_TO_KICAD_PROJECTS
export SUBDIR=SUBDIR_INSIDE_WORKDIR
docker run --rm -it -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY \
-v $(pwd)/$WORKDIR:/home/$USER/workdir \
--user $USER_ID:$GROUP_ID \
--env NO_AT_BRIDGE=1 \
--workdir="/home/$USER" \
--volume="/etc/group:/etc/group:ro" \
--volume="/home/$USER/.config/kicad:/home/$USER/.config/kicad:rw" \
--volume="/home/$USER/.cache/kicad:/home/$USER/.cache/kicad:rw" \
--volume="/etc/passwd:/etc/passwd:ro" \
--volume="/etc/shadow:/etc/shadow:ro" \
setsoft/kicad_auto:10.3-5.1.5 /bin/bash -c "cd workdir/$SUBDIR; kiplot"[/mw_shl_code]
KiCad v7.0 已发布:https://www.kicad.org/download/
改进和优化有:
轮廓字体支持(原理图和pcb可以用任意字体和颜色了)
原理图 PCB 交互交叉选择新增多选
3D 鼠标支持
自带泪滴功能
原理图网络类
PCB 支持导入位图背景(抄板功能)
径向标注
符号编辑器引脚列表添加引脚长度属性
布线自动化(多线同布和布线自动补全)
自动符号注释
文件拖放打开
封装位置交换
原理图编辑器符号批量保存成库
macOS m1/m2 支持
详细信息:https://www.kicad.org/blog/2023/02/Version-7.0.0-Released/
【开源书籍】《嵌入式 Rust -- The Embedded Rust Book》
官方在线网页:https://docs.rust-embedded.org/book/index.html
官方仓库:https://github.com/rust-embedded/book
中文在线网页:https://xxchang.github.io/book/
中文仓库:https://github.com/XxChang/book
引言
欢迎阅读The Embedded Rust Book:一本介绍如何在裸机(比如,微处理器)上使用Rust编程语言的书籍。
Embedded Rust 是为谁准备的
Embedded Rust是为了那些即想要进行嵌入式编程,又想要使用Rust语言所提供的高级语言概念和安全保障的人们而准备的(也可以看 Who Rust Is For)
范围
这本书的目的是:
让开发者快速上手Rust嵌入式开发,比如,如何设置一个开发环境。
分享那些关于使用Rust进行嵌入式开发的,现存的,最好的实践经验,比如,如何最大程度上地利用好Rust语言的特性去写更正确的嵌入式软件
某种程度下作为工具书,比如,如何在一个项目里将C和Rust混合在一起使用
虽然这本书尝试尽可能地可以适用于大多数场景,但是为了使读者和作者更容易理解,在所有的案例中它都使用了ARM Cortex-M架构。然而,这本书并不需要读者熟悉这个架构,书中会在需要时对这个架构的特定细节进行解释。
这本书是为谁准备的
这本书适合那些有一些嵌入式背景或者有Rust背景的人,然而我相信每一个对Rust嵌入式编程好奇的人都能从这本书中得到某些收获。对于那些先前没有任何经验的人,我们建议你读一下“要求和预备知识”部分。从其它资料中获取、补充缺失的知识,这样能提高你的阅读体验。你可以看看“其它资源”部分,以找到你感兴趣的那些主题的资源。
要求和预备知识
你可以轻松地使用Rust编程语言,且在一个桌面环境上写过,运行过,调试过Rust应用。你也应该要熟悉2018 edition的术语,因为这本书是面向Rust 2018的。
你可以轻松地使用其它语言,比如C,C++或者Ada,开发和调试嵌入式系统,且熟悉如下的概念:
交叉编译
存储映射的外设(Memory Mapped Peripherals)
中断
I2C,SPI,串口等等常见接口
其它资源
如果你不熟悉上面提到的东西或者你对这本书中提到的某个特定主题感兴趣,你也许能从这些资源中找到有用的信息。
离线 pdf 版本,最新版本请从网页获取:
开发环境是 MounRiver。
我这边有打包到 Arch 的 AUR 上。其他 Linux 用户可以参考打包脚本自行移植到相应 Linux 上。
mounriver-studio 社区版 https://aur.archlinux.org/packages/mounriver-studio-community-bin
mounriver-studio-toolchain :https://aur.archlinux.org/pkgbase/mounriver-studio-toolchain-bin
rust 版本的 wchisp 工具: https://aur.archlinux.org/packages/wchisp
Arch Linux 有我打包的 mounriver-studio 社区版 https://aur.archlinux.org/packages/mounriver-studio-community-bin
mounriver-studio-toolchain :https://aur.archlinux.org/pkgbase/mounriver-studio-toolchain-bin
rust 版本的 wchisp 工具: https://aur.archlinux.org/packages/wchisp
其他 Linux 完全可以参考 PKGBUILD 内容进行相应的打包。deb 包可以到 ATZLinux (铜豌豆 Linux)gitee 那边仓库提打包请求。附上我这边的链接,负责人看到后会处理的
Rust 嵌入式宝典官方原文仓库:https://github.com/rust-embedded/embedonomicon
Rust 嵌入式宝典官方原文在线版:https://docs.rust-embedded.org/embedonomicon/
Rust 嵌入式宝典中文翻译仓库:https://github.com/XxChang/embedonomicon
Rust 嵌入式宝典中文翻译在线版:https://xxchang.github.io/embedonomicon/
文章预览:
嵌入式宝典
嵌入式宝典带领你经历从零创造一个 #![no_std] 应用的过程,经历为Coterx-M微控制器搭建架构特定的功能的迭代过程。
目的
通过阅读这本书你将会学到
搭建一个 #![no_std] 应用。这比搭建一个 #![no_std] 库更复杂,因为目标系统可能没有运行一个OS(或者你的目标就是搭建一个OS!),而且你的程序可能是目标中运行的唯一进程(或者第一个进程)。在这种情况下,程序可能需要为目标系统进行定制。
精细控制一个Rust程序的存储布局的技巧。你将学到链接器(linkers),链接器脚本和Rust中那些能让你控制Rust程序某些ABI的功能。
实现可以被静态重载(没有运行时消耗)的默认功能的一个技巧。
目标读者
这本书主要面向两个读者:
希望为一个生态系统还没有支持的架构提供裸板支持(比如,自Rust 1.28以来的Cortex-R),或者为一个刚获得Rust支持的架构提供支持(比如 未来可能有Xtensa)
对像是 cortex-m-rt,msp430-rt 和 riscv-rt 这样的 runtime 库的不寻常的实现感到好奇的人。
要求
这本书是自洽的。读者不需要熟悉Cortex-M架构,也不需要一个Cortex-M微控制器 -- 这本书里包含 的所有例子能在QEMU中测试。然而,你需要安装下面的工具来运行和检查这本书中的示例:
这本书中所有代码使用的是2018版的Rust。如果你不熟悉2018的特性和术语,阅读 edition guide 。
Rust 1.31 或者更新的具有ARM Cortex-M编译支持的工具链。
cargo-binutils. v0.1.4 或者更新的版本。
cargo-edit.
有ARM仿真支持的QEMU。qemu-system-arm 程序必须被安装在你的电脑上。
有ARM支持的GDB 。
PDF 版本,想看最新的请直接看在线版本:
The Embedonomicon.pdf
https://whycan.com/files/members/1933/HPM6750.png
CPU 很强:Andes D45内核,RV32IMAFDCP 指令集, 顺序双发射 8 级流水线,主频 800 MHz,9220 CoreMark、4651 DMIPS
外设也很强:双千兆网、双高速USB(集成 PHY)、4 CAN FD
大佬,哪儿能申请到样品呢?
# 本仓库是 [KiCad 中国](742339528) 的群文件储存仓库
## 介绍
#### 介绍
KiCad 中国讨论
KiCad 中文论坛:https://www.ilovekicad.com/
KiCad 开源中国 ① 群:742339528 (已满员,~~群主失联中,暂时无法扩容群人数。~~)
![KiCad_742339528](./KiCad_742339528.png)
KiCad 开源中国 ② 群:290150427
PC QQ 二维码解析:
![KiCad 开源中国②](./KiCad 开源中国②.png)
手机 QQ 扫码:
![KiCad 开源中国②_290150427](./KiCad 开源中国②_290150427.jpg)
Telegram 简体中文交流群: https://t.me/KiCad_zh_CN
飞书交流群:
![KiCad_CN_feishu](./KiCad_CN_feishu.png)
飞书话题谈论:
![Talk_KiCad_CN_feishu](./Talk_KiCad_CN_feishu.png)
KiCad 发行版 Windows 版本阿里云盘下载链接:[KiCad 发行版](https://www.aliyundrive.com/s/yZcznhyJg3Z)
# 新增新的格式文件前,请先增加 LFS 支持。
引用 `.gitattributes` 文件中的 LFS 追踪的文件格式:
> *.zip filter=lfs diff=lfs merge=lfs -text
> *.rar filter=lfs diff=lfs merge=lfs -text
> *.tar.* filter=lfs diff=lfs merge=lfs -text
> *.7z filter=lfs diff=lfs merge=lfs -text
> *.tgz* filter=lfs diff=lfs merge=lfs -text
> *.pdf filter=lfs diff=lfs merge=lfs -text
> *.epub filter=lfs diff=lfs merge=lfs -text
> *.mobi filter=lfs diff=lfs merge=lfs -text
> *.doc* filter=lfs diff=lfs merge=lfs -text
> *.xls* filter=lfs diff=lfs merge=lfs -text
> *.ppt* filter=lfs diff=lfs merge=lfs -text
> *.png filter=lfs diff=lfs merge=lfs -text
> *.jpg filter=lfs diff=lfs merge=lfs -text
> *.ico filter=lfs diff=lfs merge=lfs -text
> *.gif filter=lfs diff=lfs merge=lfs -text
> *.mp4 filter=lfs diff=lfs merge=lfs -text
> *.wmv filter=lfs diff=lfs merge=lfs -text
> *.mov filter=lfs diff=lfs merge=lfs -text
> *.kicad_mod filter=lfs diff=lfs merge=lfs -text
> *.lib filter=lfs diff=lfs merge=lfs -text
> *.pcblib filter=lfs diff=lfs merge=lfs -text
> *.pcb filter=lfs diff=lfs merge=lfs -text
> *.brb filter=lfs diff=lfs merge=lfs -text
> *.step filter=lfs diff=lfs merge=lfs -text
> *.stp filter=lfs diff=lfs merge=lfs -text
> *.wrl filter=lfs diff=lfs merge=lfs -text
> *.py* filter=lfs diff=lfs merge=lfs -text
> *.jar filter=lfs diff=lfs merge=lfs -text
> *.deb filter=lfs diff=lfs merge=lfs -text
> *.json filter=lfs diff=lfs merge=lfs -text
> *.txt filter=lfs diff=lfs merge=lfs -text
> *.csv filter=lfs diff=lfs merge=lfs -text
> *.htm* filter=lfs diff=lfs merge=lfs -text
> *.exe filter=lfs diff=lfs merge=lfs -text
> .tmp* filter=lfs diff=lfs merge=lfs -text
> *.apk* filter=lfs diff=lfs merge=lfs -text
> *.wav filter=lfs diff=lfs merge=lfs -text
> *.crx filter=lfs diff=lfs merge=lfs -text
> *.gz filter=lfs diff=lfs merge=lfs -text
>
# 参与贡献
本仓库启用了 LFS ,提交之前请确认 LFS 是否安装并启用。
```bash
# 使用 git clone 下载
git clone https://git.code.tencent.com/taotieren/KiCad_CN.git
# 安装 LFS
git lfs install
# 添加需要使用 LFS 储存的文件格式,如:
git lfs track "*.zip"
# 添加需要使用 LFS 储存的文件夹,如:
git lfs track LFS_test/*
# 或者直接用文本编辑工具,编辑 .gitattributes,按照里面的格式添加需要存储的二进制文件,如:
vi .gitattributes
# 查看仓库状态
git status
# 添加新文件到仓库
git add 所需要添加的文件
# 提交新文件到仓库
git commit -m "所需要添加的文件描述"
# 将新文件推送到 master 分支
git push 或 git push -u origin master
```
# 使用 MIT 开源协议
# [内容预览详见 KiCad_CN_index.md](./KiCad_CN_index.md)
```bash
│ .gitattributes
│ .gitignore
│ KiCad_742339528.png
│ KiCad_CN_feishu.png
│ KiCad_CN_index.bat
│ KiCad_CN_index.md
│ KiCad_CN_index.sh
│ KiCad_开源中国②.png
│ KiCad_开源中国②_290150427.jpg
│ LICENSE
│ README.md
│ Talk_KiCad_CN_feishu.png
│
├─ADI
│ ├─ADI 应用笔记合集
│ │ ADI 应用笔记合集 (第 1 册).pdf
│ │ ADI 放大器应用笔记 (第 1 册).pdf
│ │ ADI 模数转换器应用笔记 (第 1 册).pdf
│ │
│ ├─ADI 技术支持论坛放大器设计问答精选(完整版)
│ │ ADI 技术支持论坛放大器设计问答精选(完整版).pdf
│ │
│ ├─ADI 技术文章合集
│ │ ADI 技术文章合集.pdf
│ │
│ ├─ADI 智库
│ │ ├─ADC和DAC的基本架构
│ │ │ ADC和DAC的基本架构.pdf
│ │ │
│ │ ├─LTspice IV 入门指南
│ │ │ ltspice-getting-started-guide_cn.pdf
│ │ │
│ │ ├─PCB 设计秘籍
│ │ │ PCB 设计秘籍.pdf
│ │ │
│ │ ├─SmartMesh IP 技术问题解答
│ │ │ SmartMesh IP 技术问题解答.pdf
│ │ │
│ │ ├─仪表放大器应用工程师指南-第 3 版
│ │ │ 仪表放大器应用工程师指南-第 3 版.pdf
│ │ │
│ │ ├─传感器应用指南
│ │ │ 传感器应用指南.pdf
│ │ │
│ │ ├─如何查看数据手册
│ │ │ 如何查看数据手册.pdf
│ │ │
│ │ ├─射频与微波技术实用手册
│ │ │ 射频与微波技术实用手册.pdf
│ │ │
│ │ ├─放大器设计实践 125 问全解
│ │ │ 放大器设计实践125问全解.pdf
│ │ │
│ │ ├─无源器件使用要点
│ │ │ 无源器件使用要点.pdf
│ │ │
│ │ ├─电源技术问题解答
│ │ │ 电源技术问题解答.pdf
│ │ │
│ │ ├─电源设计基础知识精选
│ │ │ 电源设计基础知识精选.pdf
│ │ │
│ │ ├─锁相环常见问题解答
│ │ │ 锁相环常见问题解答.pdf
│ │ │
│ │ └─高速电路设计指南
│ │ 高速电路设计指南.pdf
│ │
│ ├─ADI 系统方案精选
│ │ 2014-ADI 系统方案精选_1.pdf
│ │ 2016-ADI 系统方案精选_4.pdf
│ │ 2017-ADI 系统方案精选_5.pdf
│ │ 2019-ADI 系统方案精选_6.pdf
│ │ 2019-ADI 系统方案精选_总辑.pdf
│ │
│ ├─ADI 解决方案集锦和参考电路_化学分析和环境监控
│ │ ADI 解决方案集锦和参考电路_化学分析和环境监控.pdf
│ │
│ ├─参考电路合集
│ │ ├─ADI 实验室电路合集
│ │ │ ADI 实验室电路合集_1.pdf
│ │ │ ADI 实验室电路合集_2.pdf
│ │ │ ADI 实验室电路合集_3.pdf
│ │ │ ADI 实验室电路合集_4.pdf
│ │ │
│ │ ├─参考电路设计_仪器仪表选集
│ │ │ 参考电路设计_仪器仪表选集.pdf
│ │ │
│ │ └─参考电路设计_过程控制与工业自动化选集
│ │ 参考电路设计_过程控制与工业自动化选集.pdf
│ │
│ ├─技术指南合集_第一版
│ │ ├─ADIsimPLL 设计工具指南
│ │ │ ADI simPLL 设计工具指南.pdf
│ │ │
│ │ ├─射频及高速器件
│ │ │ 射频及高速器件.pdf
│ │ │
│ │ ├─开关和基准源
│ │ │ 开关和基准源.pdf
│ │ │
│ │ ├─放大器
│ │ │ 放大器.pdf
│ │ │
│ │ ├─数模转换器
│ │ │ 数模转换器.pdf
│ │ │
│ │ ├─模数转换器
│ │ │ 模数转换器.pdf
│ │ │
│ │ └─电路仿真和 PCB 设计
│ │ 电路仿真和 PCB 设计.pdf
│ │
│ ├─新概念模拟电路
│ │ 新概念模拟电路1-晶体管.pdf
│ │ 新概念模拟电路2-负反馈和运算放大器基础.pdf
│ │ 新概念模拟电路3-运算放大器的频率特性和滤波器.pdf
│ │ 新概念模拟电路4-信号处理电路.pdf
│ │ 新概念模拟电路5-源电路(信号源和电源).pdf
│ │
│ ├─模拟对话
│ │ 模拟对话-2013-2014.pdf
│ │ 模拟对话-2014-2015.pdf
│ │ 模拟对话-2015-2016.pdf
│ │
│ └─非常见问题解答合集
│ 非常见问题解答合集-2017(120-140).pdf
│ 非常见问题解答合集-2020(141-170 期).pdf
│
├─ArchLinux
│ │ ArchLinux安装配置流程操作手册v1.3.pdf
│ │
│ └─Arch+KDE安装教程(作者:dio)
│ 1.mkv
│ 2.mkv
│ 3.mkv
│ Readme.txt
│
├─Arduino
│ README.md
│ [Arduino从基础到实践].BEGINNING.ARDUINO.[美].Michael.McRoberts.著.杨继志,郭敬.译.pdf
│
├─ARM
│ │ ARM SoC体系结构.pdf
│ │ ARM 汇编语言官方手册(中文).pdf
│ │
│ └─Cortex M3
│ Cortex M3权威指南(中文).pdf
│
├─ASM
│ 2712_汇编语言(第3版).pdf
│ Intel汇编指令集.pdf
│ 《汇编语言(第3版) 》王爽著.pdf
│
├─BSD
│ 4.4BSD操作系统设计与实现.chm
│ FreeBSD使用手册.pdf
│
├─C
│ │ 495个C语言问题.pdf
│ │ C Primer Plus 中文版(第6版).pdf
│ │ C Primer Plus 第6版 非扫描版 中文版.pdf
│ │ C 语言变成透视.pdf
│ │ C标准库(中文版).pdf
│ │ C语言深度解剖2010版全.pdf
│ │ 笨办法学C.pdf
│ │
│ └─ModernC
│ ModernC-code.zip
│ ModernC.pdf
│
├─C++
│ │ C++ Primer 5th ed.pdf
│ │ C++ Primer Plus(第6版 中文版).pdf
│ │ C++标准库——自学教程与参考手册(第2版)英文版.pdf
│ │ CplusplusConcurrencyInAction_PracticalMultithreading.pdf
│ │ More+Effective+C++(中文版).pdf
│ │
│ ├─EffectiveModernCpp
│ │ EffectiveModernCpp-zh.pdf
│ │ EffectiveModernCpp.pdf
│ │ EffectModernC++.emmx
│ │ EffectModernC++.km
│ │ EffectModernC++.md
│ │ EffectModernC++.mm
│ │ EffectModernC++.opml
│ │ EffectModernC++.xmind
│ │
│ └─modern-cpp-tutorial
│ modern-cpp-tutorial-en-us.pdf
│ modern-cpp-tutorial-zh-cn.pdf
│
├─Cadence
│ └─电子扫描版
│ Cadence完全学习手册.pdf
│ Cadence电路图设计百例.pdf
│ 高速电路设计与仿真分析:Cadence实例设计详解.pdf
│
├─CMake
│ CMake菜谱(CMake Cookbook中文版).pdf
│
├─CTF
│ └─CTF(Capture The Flag)竞赛入门指南(CTF All In One)
│ CTF 竞赛入门指南(CTF All In One).pdf
│
├─Debian
│ DebianReferenceCard.pdf
│
├─Deepin_UOS
│ Deepin折腾笔记v6.4.pdf
│ Linux折腾笔记v6.2.pdf
│
├─docker+k8s
│ centos7使用kubeadm安装k8s集群.pdf
│ centos7使用yum安装mesos.pdf
│ Docker —— 从入门到实践 - v1.0.pdf
│ Docker 中文教程 - v1.0.pdf
│ Docker 容器与容器云(第2版).pdf
│ Docker企业级架构篇.pdf
│ Docker入门白皮书.pdf
│ k8s Deployment 详解.png
│ K8s部署文档.pdf
│ kubeadm部署Kubernetes集群.pdf
│ kubernetes-chinese-docs_k8s中文文档.pdf
│ Kubernetes实战 ,吴龙辉 ,P272.pdf
│ kubernetes技术实践.png
│ Kubernetes权威指南:从Docker到Kubernetes实践全接触(第2版).pdf
│ Kubernetes权威指南:从Docker到Kubernetes实践全接触(第2版)-2016.10-电工-P519-龚正,吴治辉,王伟 等.pdf
│ Linux设备驱动开发详解:基于最新的Linux 4.0内核.pdf
│ Manning.Docker.in.Action.2016.3.pdf
│ 使用Docker建立Mysql集群.pdf
│ 使用docker运行gitlab.pdf
│ 最值得参考的 Kubernetes 安装文档.pdf
│
├─Electron
│ Electron v6.0 中文文档.pdf
│
├─Emacs
│ Emacs中文手册.pdf
│
├─Fossil
│ fossilbook.pdf
│
├─GCC
│ GCC 中文手册.pdf
│
├─GigaDevice
│ ├─固件库使用指南
│ │ GD32C10x_固件库使用指南_Rev1.0.pdf
│ │ GD32E10x_固件使用指南_Rev1.2.pdf
│ │ GD32E23x_固件库使用指南_Rev1.0.pdf
│ │ GD32F10x_固件库使用指南_V1.0.pdf
│ │ GD32F20x_固件库使用指南_V1.1.pdf
│ │ GD32F30x_固件库使用指南_Rev1.0.pdf
│ │ GD32_USBFS_HS 固件库用户指南_Rev1.0.pdf
│ │
│ ├─应用笔记
│ │ GD32F1x0_应用笔记007_KEIL5_Pack_biji_banben1.0.pdf
│ │ GD32VF103_JLINK驱动安装_V1.0.pdf
│ │ GD32小容量移植指南.pdf
│ │
│ ├─数据手册
│ │ GD32VF103_datasheet_Rev1.0.pdf
│ │
│ └─用户手册
│ GD32C10x_用户手册_Rev1.0.pdf
│ GD32E10x_用户手册_Rev1.5.pdf
│ GD32E50x_用户手册_Rev1.2.pdf
│ GD32F10x_用户手册_CN_Rev2.4.pdf
│ GD32F1x0_用户手册_CN_Rev3.4.pdf
│ GD32F30x_用户手册_Rev2.5.pdf
│ GD32F3x0_用户手册_Rev2.2.pdf
│ GD32F403_用户手册_Rev2.3.pdf
│ GD32F4xx_用户手册_Rev2.4.pdf
│ GD32VF103_用户手册_CN_V1.2.pdf
│
├─GitHub 加速
│ G.widora.cn使用.mp4
│ github一键加速下载傻瓜教程.txt
│ github加速.crx
│ Github加速.md
│
├─Grub
│ 双系统grub引导.pdf
│
├─HTTP
│ 图解HTTP 黑白印刷 [(日)上野宣著][人民邮电出版社][2014.05][250页](jb.pdf
│
├─Java
│ Java从入门到精通 第4版.pdf
│
├─Kali Linux
│ Kali Linux v2 by 肖哥.pdf
│ Kali Linux Web 渗透测试秘籍.pdf
│ Kali Linux 秘籍.pdf
│ 大学霸 Kali Linux 安全渗透教程.pdf
│
├─KiCad EDA
│ KiCad Windows 版本编译说明_v0.1.pdf
│ kicad-i18n_master_v0.18.zip
│ KiCad_doc_zh_CN_v0.5.1.zip
│ KiCad_doc_zh_CN_v0.5.2.tar.gz
│ KiCad_doc_zh_CN_v0.5.3.tar.gz
│ kicad_i18n_5.1.7_v0.6.zip
│ KiCad_i18n_5.1_zh_CN_v5.1.7.001.tar.gz
│ KiCad_i18n_5.1_zh_CN_v5.1.7.002.zip
│ KiCad_i18n_5.1_zh_CN_v5.1.7.004.zip
│ KiCad_i18n_manster_zh_CN_v0.13.zip
│ KiCad_i18n_master_v0.0.28.zip
│ kicad_i18n_master_v0.0.29.rar
│ KiCad_i18n_master_zh_CN_v0.0.12.rar
│ KiCad_i18n_master_zh_CN_v0.0.23.tar.gz
│ KiCad_i18n_master_zh_CN_v0.0.25.tar.gz
│ KiCad_i18n_master_zh_CN_v0.0.26.tar.gz
│ KiCad_i18n_master_zh_CN_v0.0.27.tar.gz
│ KiCad_v5.1.5_3_i18n_zh_CN.rar
│ KiCad_v5.1.7 简体中文翻译文件.zip
│ KiCad_zh_CN_Master_v0.0.15.zip
│ KiCad_zh_CN_Master_v0.0.16.7z
│ KiCad_zh_CN_Master_v0.0.17.zip
│ KiCad_zh_CN_Master_v0.0.24.zip
│ KiCad_zh_CN_v5.1.5-3_v0.5.rar
│ KiCad_zh_CN_v5.1.5-3_v0.6.zip
│ KiCad_zh_CN_v5.1.6_v0.1.7z
│ KiCad_zh_CN_v5.1.6_v0.2.zip
│ KiCad入门(汉化).pdf
│ Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle
│ newstroke-font(KiCad 笔画字体工程).tgz
│ 中文文案排版指北.pdf
│
├─KiCad Python 插件
│ altium2kicad-master (6).zip
│ CircularZone.rar
│ InteractiveHtmlBom-master动态Bom.zip
│ kicad 泪滴插件.zip
│ kicad-round-tracks-master.zip
│ kicad-text-tool-master.zip
│ KiCad6插件大全2.0自动安装.exe
│ KICADplugins(kicad插件大全)1.0.zip
│ KICADplugins(kicad插件大全)1.1.zip
│ KICADplugins(kicad插件大全)1.4.zip
│ kicad_scripts-master泪滴插件.zip
│ kicad_text_tool_Windows适配.7z
│ KICAD_V6_Plugins(6.0插件大全)1.9.zip
│ KiCAD主题和背景更改kicad-color-schemes-master.rar
│ spiki-master.zip
│ toolbox-master.zip
│ WireIt-master.zip
│
├─KiCad 九分钟速成视频教程
│ 1-KiCad-9分钟学会绘制原理图.mp4
│ 10-KiCad-9分钟学会层次图与设计规则.mp4
│ 11-KiCad-9分钟学会圆形覆铜_禁止覆铜_批量地过孔.mp4
│ 12-KiCad-9分钟学会封装自动排列和批量选择与编辑.mp4
│ 2-KiCad-9分钟学会绘制PCB.mp4
│ 3-KiCad-9分钟学会出Gerber文件.mp4
│ 4-KiCad-9分钟学会安装使用插件.mp4
│ 5-KiCad-9分钟学会编辑符号库.mp4
│ 6-Kicad-9分钟学会封装向导.mp4
│ 7-kiCad-9分钟学会手工创建封装.mp4
│ 8-KiCad-9分钟学会弧线和微带线过孔.mp4
│ 9-KiCad-9分钟学会蛇形等长布线.mp4
│ README.md
│
├─KiCad 开发者文档
│ KiCad_开发者文档.pdf
│
├─KiCad 快捷键图片
│ KiCad键盘快捷键-键盘样式-v0.1.png
│ README.md
│
├─KiCad 案例
│ kicad-bga-tools-rc0.zip
│ kicad-eda_12-layer-pcb_ciaa_acc.zip
│ kicad-eda_6-layer-pcb_A64-OlinuXino_Rev_D.zip
│ kicad-fpga12层板子.zip
│ KiCad-FPGA可编程逻辑器件芯片XC7Z030-2FBG676I主板12层PCB文件.zip
│ KiCad-全志 Allwinner A64 硬件开发6层PCB文件参考资料.zip
│
├─LC2KiCad
│ ├─demo视频
│ │ LC2KiCad Debug编译与Release编译对比.mp4
│ │ LC2KiCad导出PCB中所有库.mp4
│ │
│ └─发布版本
│ lc2kicad-alpha-0.1.6-mingw-x64.exe
│ lc2kicad-alpha-0.1.6-msvc2019-x64-github.exe
│ lc2kicad-alpha-0.1.6-msvc2019-x64.exe
│ lc2kicad-alpha-0.1.6-msvc2019-x86.exe
│ lc2kicad-msvc2019-x64-6fbec7e.exe.zip
│
├─LCKiConverter
│ lckiconverter1.1.zip
│ lckiconverter1.2.zip
│ lckiconverter1.3.zip
│ LCKiConverter_v1.0.crx
│
├─LFS(Linux From Scratch)
│ LFS-BOOK(Linux From Scratch (简体中文版)版本 9.0).pdf
│ LFS-SYSD-BOOK(Linux From Scratch (简体中文版)版本 9.0-systemd).pdf
│
├─Linux
│ │ fhs-3.0.pdf
│ │ Gastón Festari - Learning Shell Scripting with Zsh-Packt Publishing (2014).pdf
│ │ Linux C 编程一站式学习.pdf
│ │ Linux Kernel 核心中文手册.chm
│ │ Linux 内核揭秘(中文版).pdf
│ │ Linux 内核文档(中文版).pdf
│ │ Linux 字体配置要略.pdf
│ │ Linux 就该这么学.pdf
│ │ Linux 诞生和发展的五个重要支柱.pdf
│ │ Linux+Shell脚本攻略.第3版.pdf
│ │ linux-bible-9th-ed-2015-.pdf
│ │ linux-command-line-and-shell-scripting-bible5英文版.pdf
│ │ Linux命令行大全.绍茨 (William E.Shotts).人民邮电出版社.2013-3-1.pdf
│ │ Linux工具快速教程.pdf
│ │ Linux性能优化.pdf
│ │ Linux性能调优指南.pdf
│ │ Linux操作系统编译构建指南(内核 2.6.x 过时转看 LFS 构建).pdf
│ │ Linux程序设计第4版.epub
│ │ Linux系统编程(LSP).pdf
│ │ Linux系统编程中文版.pdf
│ │ MasteringLinuxShellScripting.Pdf
│ │ Understanding the Linux Kernel, Third Edition.pdf
│ │ Wicked Cool Shell Scripts, 2nd Edition.pdf
│ │ 命令行的艺术.pdf
│ │ 完全用 GNU_Linux 工作.pdf
│ │ 征服 Linux.pdf
│ │ 深入Linux内核架构.pdf
│ │ 深入理解linux内核(第三版中文).pdf
│ │ 精通Linux.pdf
│ │ 精通Linux.第2版.pdf
│ │ 鸟哥的Linux私房菜-基础篇.第四版.pdf
│ │
│ ├─GTK+GNOME
│ │ Linux应用程序开发指南:使用GTK+GNOME库.pdf
│ │
│ └─TLP 高级电源管理
│ TLP高级电源管理.doc
│
├─Lua
│ LuaTools 上手教程-看这篇就够了.pdf
│ Lua程序设计.pdf
│ Lua编程入门.pdf
│
├─LwIP 协议栈源码详解
│ LwIP老衲五木.pdf
│
├─Makefile
│ Makefile 基础教程.pdf
│
├─Markdown
│ Markdown编辑器语法.md
│
├─msk
│ msk-002.zip
│ msk-003.zip
│ msk-006.zip
│ msk-007.zip
│ msk-007_leapfrog_gerber.zip
│ msk-008.zip
│ msk-009.zip
│ msk-010.zip
│ msk-011.zip
│ msk-012.zip
│
├─Nmap
│ Nmap Reference Guide(Nmap参考指南).pdf
│
├─Openbox
│ 窗口管理器 Openbox 入门指南.pdf
│
├─PaddlePaddle
│ PaddlePaddle v1.4(fluid) 深度学习平台.pdf
│
├─PCB 设计生产规范
│ eetop.cn_icc2dp.pdf
│ GBPCB行业规则.pdf
│ RS-485保护电路大全2018.pdf
│ 《BGA及盲埋孔设计》上.pdf
│ 《BGA及盲埋孔设计》下.pdf
│ 《TI-电源设计经验谈》.pdf
│ 【选型】Rogers 高频印刷线路板材料选型指南.pdf
│ 信号完整性和电源完整性 第二版 中文.pdf
│ 华为PCB设计规范.pdf
│ 华为模拟电路设计(下册).pdf
│ 印制电路板行业规范公告管理暂行办法.pdf
│ 印制电路板行业规范条件.pdf
│ 史上最全的PCB封装命名规范_仅供参考.pdf
│ 基础电子元器件的特性、选型及应用.pdf
│ 如何使用电流检测放大器优化你的电路设计.pdf
│ 常用驱动电路设计及应用.pdf
│ 最全PCB设计避坑指南.pdf
│ 模拟工程师口袋参考书.pdf
│ 模拟电子基本知识200问.pdf
│ 电容去耦原理(解释十分透彻).pdf
│
├─PHP
│ PHPer 必知必会的 Linux 命令.pdf
│ PHP核心技术与最佳实践.pdf
│
├─PSPice 仿真教程
│ PSPice入门教材.rar
│
├─PX4
│ PX4自动驾驶中文维基.pdf
│
├─Python
│ │ Dan Bader - Python Tricks_ A Buffet of Awesome Python Features-Dan Bader (2017).pdf
│ │ Python Playground_ Geeky Projects for the Curious Programmer-No Starch Press (2015).pdf
│ │ Python+Cookbook第三版中文.pdf
│ │ Python_Golang Web 入坑指南.pdf
│ │ Python基础教程.第3版.pdf
│ │ Python极客项目编程.pdf
│ │ Python程序设计.第3版.pdf
│ │ Python编程之美:最佳实践指南.pdf
│ │ Python编程快速上手——让繁琐工作自动化.pdf
│ │ Python编程:从入门到实践.pdf
│ │ steven F.Lott - mastering object-oriented python-Packt Publishing Ltd. (2019).pdf
│ │ [图灵程序设计丛书].Python数据结构与算法分析.第2版.pdf
│ │ [图灵程序设计丛书].深入理解Python特性.pdf
│ │ 《Python+Cookbook》第三版中文v3.0.0.pdf
│ │
│ └─Python 官方中文手册
│ python-2.7.17-docs-pdf-a4.zip
│ python-3.7.6-docs-pdf-a4.zip
│ python-3.8.1-docs-pdf-a4.zip
│
├─QEMU
│ QEMU KVM学习笔记.pdf
│
├─Qt
│ QmlBook-In-Chinese.pdf
│
├─RF 天线设计
│ 001-96160_AN91445_-_Antenna_Design_and_RF_Layout_Guidelines_Chinese.pdf
│ 002-00012_AN91184_PSoC_4_BLE_-_Designing_BLE_Applications_Chinese.pdf
│ 002-25056_AN218241_PSoC_6_MCU_Hardware_Design_Considerations_Chinese.pdf
│ AN79938(ZH)_001-96370_00_V.pdf
│
├─RISC-V
│ 13.30-RISCV_OpenSBI_Deep_Dive_v5.pdf
│ Digital Design and Computer Architecture RISC-V Edition by Sarah Harris, David Harris (z-lib.org).pdf
│ FPGA与risc-v的嵌入式系统设计.pdf
│ RISC-V-Reader-Chinese-v2p1-特权指令集.pdf
│
├─RS-485
│ RS-485保护电路大全2018.pdf
│
├─RT-Thread
│ RT-Thread 移植笔记.pdf
│ RT-Thread学习脑图-neal.pdf
│ [野火?]《RT-Thread 内核实现与应用开发实战—基于STM32》已写16章20180716.pdf
│
├─RTTbook
│ AN0001-RT-Thread-串口设备应用笔记.pdf
│ AN0002-RT-Thread-通用 GPIO 设备应用笔记.pdf
│ AN0003-RT-Thread-I2C 设备应用笔记.pdf
│ AN0004-RT-Thread-SPI 设备应用笔记.pdf
│ AN0006-RT-Thread-使用 QEMU 进行仿真调试.pdf
│ AN0009-RT-Thread-使用 SystemView 分析工具.pdf
│ AN0010-RT-Thread-网络协议栈驱动移植笔记.pdf
│ AN0011-RT-Thread-网络开发应用笔记.pdf
│ AN0012-RT-Thread-文件系统应用笔记.pdf
│ AN0014-RT-Thread-AT 组件应用笔记-客户端篇.pdf
│ AN0017-RT-Thread-创建标准的工程.pdf
│ AN0018-RT-Thread-网络工具集应用笔记.pdf
│ AN0020-RT-Thread-使用 Eclipse + QEMU 调试.pdf
│ AN0021-RT-Thread-使用 VS Code + QEMU 调试.pdf
│ AN0022-RT-Thread-ulog 日志组件应用笔记 - 基础篇.pdf
│ AN0023-RT-Thread-使用 QEMU 运行动态模块.pdf
│ AN0024-RT-Thread-ulog 日志组件应用笔记 - 进阶篇.pdf
│ AN0025-RT-Thread-电源管理组件应用笔记.pdf
│ AN0026-RT-Thread-WLAN 框架应用笔记.pdf
│ RT-Thread 编程指南.pdf
│ UM1001-RT-Thread-WebClient 用户手册.pdf
│ UM1002-RT-Thread-ali-iotkit 用户手册.pdf
│ UM1003-RT-Thread-OneNET 用户手册.pdf
│ UM1004-RT-Thread-OTA 用户手册 .pdf
│ UM1005-RT-Thread-Paho-MQTT 用户手册.pdf
│ UM1006-RT-Thread-MbedTLS 用户手册.pdf
│ UM1007-RT-Thread-Azure-IoT-SDK 用户手册.pdf
│ UM1008-RT-Thread-设备维护云平台用户手册.pdf
│ UM1009-RT-Thread-电源管理组件用户手册.pdf
│ UM1010-RT-Thread-Web 服务器(WebNet)用户手册.pdf
│ UM1011-RT-Thread-MicroPython 用户手册.pdf
│ UM3001-RT-Thread-IoT Board WIFI 模块固件下载手册.pdf
│ UM3002-RT-Thread-IoT Board 发布说明.pdf
│ UM3003-RT-Thread-IoT Board 介绍.pdf
│ UM3004-RT-Thread-IoT Board 快速上手.pdf
│ UM3005-RT-Thread-IoT Board 开发手册.pdf
│
├─Rust
│ Abhishek Chanda - Network Programming with Rust-Packt Publishing (2018).epub
│ Andrew Johnson - Hands On Functional Programming in Rust - 2018.mobi
│ Andrew Johnson - Hands On Functional Programming in Rust - 2018.pdf
│ Beginning Rust.pdf
│ Brian L. Troutwine - Hands-On Concurrency with Rust - 2018.mobi
│ Brian L. Troutwine - Hands-On Concurrency with Rust - 2018.pdf
│ C2Rust 手册.pdf
│ Guillaume Gomez_ Antoni Boucher - Rust Programming By Example_ Enter the world of Rust by building engaging, concurrent, reactive, and robust applications-Packt Publishing (2018).epub
│ Hands-On Concurrency Rust.pdf
│ Hands-On DataStructAlgorithms Rust.pdf
│ Hands-OnConcurrencywithRust_Code.zip
│ Kevin Hoffman - Programming WebAssembly with Rust_ Unified Development for Web, Mobile, and Embedded Applications-The Pragmatic Programmers (2019).epub
│ Kolodin, Denis - Hands-On Microservices with Rust _ Build, Test, and Deploy Scalable and Reactive Microservices with Rust 2018.-Packt Publishing Ltd (2019).epub
│ Kolodin, Denis - program code for Hands-On Microservices with Rust _ Build, Test, and Deploy Scalable and Reactive Microservices with Rust 2018-Packt Publishing Ltd (2019).zip
│ Learning Rust With Entirely Too Many Linked Lists.pdf
│ leetcode部分链表题RUST题解.zip
│ Mastering Rust.pdf
│ Network Programming with Rust - Abhishek Chanda.epub
│ Network Programming with Rust.pdf
│ NETWORK_PROGRAMMING_WITH_RUST.pdf
│ os-developers-know-rust-pdf - IBM的rust介绍文档.pdf
│ Programming Rust.pdf
│ Programming WebAssembly with Rust.pdf
│ raft-zh_cn.md
│ Rust Cookbook.pdf
│ Rust Essentials.pdf
│ Rust High Performance (2018).epub
│ Rust High Performance - Iban Eguia Moraza.pdf
│ Rust High Performance.epub
│ Rust in Action - Ver. 16 by TS McNamara (z-lib.or.pdf
│ Rust 学习笔记.pdf
│ Rust 宏小册 中文版.pdf
│ Rust 死灵书 - Rust 高级与非安全程序设计.pdf
│ rust 程序设计语言.pdf
│ Rust 程序设计语言(第二版 & 2018 edition)简体中文版.epub
│ Rust 程序设计语言(第二版 & 2018 edition)简体中文版.mobi
│ Rust 程序设计语言(第二版 & 2018 edition)简体中文版.pdf
│ Rust 程序设计语言(第二版) 简体中文版.pdf
│ Rust 语言学习笔记.pdf
│ rust-for-functional-programmers.pdf
│ RustPrimer 中文版.pdf
│ rust书籍.pdf
│ rust内存管理备忘录.png
│ Rust程序设计语言(第二版).epub
│ rust编程之道主要内容.png
│ Rust高级特性使用_Rustonomicon_英文不带目录.pdf
│ Steve Klabnik, Carol Nichols - The Rust Programming Language-No Starch Press (2018).epub
│ Steve Klabnik, Carol Nichols - The Rust Programming Language-No Starch Press (2019).pdf
│ strings_in_rust.pdf
│ The Linux Programming Interface-Michael Kerrisk.pdf
│ The.Rust.Programming.Language.(Covers.Rust.2018).2019.8.pdf
│ trpl-zh-cn.pdf
│ Understanding and Evolving the Rust Programming Language - RalfJung.pdf
│ [smtebooks.com] Hands-On Data Structures and Algorithms with Rust 1st Edition.Pdf
│ 一个友好的Rust语言介绍(英文不带目录)_Rust-Tutorial-tjc.pdf
│ 写给C++程序员的Rust教程(带目录).pdf
│ 用欧拉计划学Rust编程20191011.pdf
│ 通过例子学 Rust.pdf
│
├─Segger
│ └─JLink
│ UM08002_JLinkDLL.pdf
│
├─SQL
│ SQL注入攻击与防御.pdf
│
├─STM32
│ STM32 USB设备开发指南.pdf
│ STM32F103ZET6(中文)数据手册.pdf
│ STM32F10xxx参考手册 .pdf
│ STM32F4xx中文参考手册.pdf
│ 你知道UART、IIC、GPIO、SDIO、CAN、SPI、IIS的区别吗.pdf
│
├─Systemd
│ systemd 中文版.pdf
│
├─TI
│ ├─模拟工程师口袋参考书
│ │ 《模拟工程师口袋参考书》(中文版)第四版.pdf
│ │ 《模拟工程师口袋参考书》(英文版)第五版.pdf
│ │
│ └─模拟工程师电路设计指导手册:放大器
│ TI 电路设计指导手册-运放 (第 2 版).pdf
│
├─Tigard
│ tigard-9pcs-bottom.jpg
│ tigard-9pcs-ibom.html
│ tigard-9pcs-top.jpg
│ tigard-9pcs.zip
│ tigard-9pcs_BOM.csv
│ tigard-9pcs_gerber.zip
│ tigard-9pcs_POS.csv
│
├─TODO
│ 11074.zip
│ 111.jpg
│ 1923885.pdf
│ 2.0 kicad - 快捷键.jpg
│ 2020-03-12 11-58-02 的屏幕截图.png
│ 2020-03-12 11-58-56 的屏幕截图.png
│ 2020-03-12 16-51-34 的屏幕截图.png
│ 2020-03-12 16-54-00 的屏幕截图.png
│ 2020-04-22_13-48.png
│ 2020-04-25 17-56-02屏幕截图.png
│ 3-6.1-2.5.kicad_mod
│ 3x6x3.5_SW_side.kicad_mod
│ 632723300011.stp
│ 87fce4d47936f381ba62de244aaf917.jpg
│ 9a2e3fc800b79cb4324845e4cafe7ec837561d64.gif
│ Adafruit-Bluefruit-LE-UART-Friend-PCB-master.zip
│ add03be79b08e4c17b32cb40b31740f7a185ea55(1).gif
│ add03be79b08e4c17b32cb40b31740f7a185ea55.gif
│ AIR202 LUAT.STEP
│ Air202.kicad_mod
│ air202.stp
│ AIR268.kicad_mod
│ AIR720.STEP
│ AIR720D.kicad_mod
│ Air720G.kicad_mod
│ Air720G_Small.kicad_mod
│ Air720SL.kicad_mod
│ Air800.kicad_mod
│ Animation.gif
│ arduino936.zip
│ balancingcar_borad.zip
│ behave-dark.json
│ BGA256C100P16X16_1700X1700X155..d
│ C150929_IRS2301SPBF_2018-01-25.PDF
│ CC2500.tar.gz
│ ch552G +n76e003at20.rar
│ cmf_commercial_signal_acm2012_zh.pdf
│ Codelife.pdf
│ coiler_gerber_1.zip
│ coiler_gerber_2.zip
│ com.jls.jlc.ui.apk
│ D2-常用的网站链接.zip
│ DAPLink.7z
│ Demo of WireIt Tools for PCBNEW - YouTube.mp4
│ DigtalPower.asc
│ DigtalPower.pdf
│ dvk-mx8m-bsb.pdf
│ eda移动.mp4
│ eeschema
│ EL-E.pdf
│ EL.pdf
│ EmBitz_1.11.exe
│ Fact_sheet_Mk3.pdf
│ FBGA-256_3D.zip
│ FE8.1-Data-Sheet-1.0.pdf
│ ffp-F_Fab.pdf
│ flexRoundingSuite-master.zip
│ GB14048.1-2006.pdf
│ GD32VF103V_EVAL_Demo_Suites.rar
│ GD32VF103_Datasheet_Rev1.0.pdf
│ GD32VF103_Firmware_Library_V1.0.0.rar
│ GD32VF103_User_Manual_CN_V1.0.pdf
│ gerber.rar
│ GIF.gif
│ Git零基础实战.pdf
│ GX12.zip
│ gz.gif
│ HackingTheXbox_Free.pdf
│ hosts
│ IP178G_GH_Fiber_application_circuit_20130109.zip
│ key.PcbLib
│ KiCAD 坐标格式整理.xlsm
│ kicad-cheatsheet-landscape.pdf
│ kicad-color-schemes-master.zip
│ kicad.7z
│ KICAD.png
│ kicadutil.jar
│ KiCad_plugin.md
│ kicad_tools-master(1).zip
│ kicad_tools-master.zip
│ kicad不缩放画布移动.mp4
│ kicad插件.zip
│ kicad移动.mp4
│ KICAD背面.png
│ lc_kicad_lib-master.zip
│ lc_kicad_lib.zip
│ leapfrog_1.zip
│ leapfrog_gerber.zip
│ ledtouch.wmv
│ libzstd_jb51.rar
│ Linux折腾笔记v6.0.1.pdf
│ Linux程序设计第4版_图灵程序设计.epub
│ LonganNano_sch.pdf
│ LOPYOEM_Mother_Board_V1.0r_20170413.PcbDoc_output.txt
│ mil与mm换算器.exe
│ MobaXterm_Installer_v12.4.zip
│ mt7232.pdf
│ My_GSM_SIMCOM.lib
│ N76E003_HC89S003.zip
│ netease-cloud-music-1.2.1-2-x86_64.pkg.tar.xz
│ NEW_PCB.json
│ novena-accessories-kicad.zip
│ novena-mechassy-pvt.stp.zip
│ OpenSCAD-2019.05-x86-64-Installer.exe
│ pcb.kicad_pcb
│ PCB.pdf
│ PCB3.DXF
│ Pcbnew.jpg
│ Pcbnew_position_relative_cartesian.png
│ PCB设计与制造-应用教材.pdf
│ PGEC_HexUnitModule_Back.jpg
│ PGEC_HexUnitModule_Buttom.jpg
│ PGEC_HexUnitModule_Front(1).jpg
│ PGEC_HexUnitModule_Front.jpg
│ pll_verification_ws_v1.0_001.tar.gz
│ project_stander_elec_v1.zip
│ qcef-1.1.6-1-x86_64.pkg.tar.xz
│ RDK FractN PLL Tutorial v1.0_090420.pdf
│ RJ45_SINGAL_PORT.dxf
│ RPI-CMIO-V3_0-PUBLIC.brd
│ S00107-11560295.mp4
│ S00107-12002595.mp4
│ S00107-12215758.mp4
│ SIM8060-6-0-14-00-A_revA.STEP
│ SMA__EdgeMount.kicad_mod
│ Snipaste_2020-02-01_21-37-25.png
│ Snipaste_2020-02-01_21-37-36.png
│ Snipaste_2020-02-04_11-20-07.png
│ Snipaste_2020-02-04_11-20-18.png
│ Spycheck-Windows-20200511.zip
│ sqjq910el-1766673.pdf
│ step-mxo2v2.2原理图.pdf
│ step-mxo2_硬件手册v1.1.pdf
│ stm32-1.pdf
│ stm32-linux.pdf
│ stm32-vserprog-gerber-v4.zip
│ sw.kicad_mod
│ SY7088.pdf
│ sy8205ffc.zip
│ T12-STM8S003(1).pdf
│ T12-STM8S003.pdf
│ teardrops.zip
│ teardrop_gui.py
│ TF_CARD.kicad_mod
│ tours.gif
│ transforms_zh.scad.md
│ TSSOP-38_L9.7-W4.4-P0.50-LS6.4-BL.json
│ TWRP-3.3.1-1029-XIAOMI8SE-CN-wzsx150-fastboot.7z
│ TWRP-3.3.1-1029-XIAOMI8SE-CN-wzsx150.zip
│ ubertooth-one.rar
│ uconfig-win32-v0.zip
│ USB-A-S-F-B-TH.step
│ USB-AM-S-F-B-TH.step
│ USB-B-S-F-B-TH.step
│ USB.zip
│ USB1061-GF-L-A.stp
│ usbarmory.zip
│ usb_a-usb_a-top-c.stp
│ USB_Micro-B-5s.kicad_mod
│ User Library-Micro_USB-1.STEP
│ User Library-USB - C.step
│ vca.eps
│ Video_2020-03-25_110433.wmv
│ VID_20200306_134335.mp4
│ vim零基础入门.txt
│ WPC_QI_5W_V3.0.pcb
│ wpsfontv1.0.tar.gz
│ wsn_v2.zip
│ WVSN_5.7z
│ XT系列.zip
│ ZINGTO_IO_Hi3521D_FRONT.jpg
│ 三菱PLC的485通讯.docx
│ 上海贝岭产品列表.xlsx
│ 元件列表.mp4
│ 屏幕录制 2020-03-08 下午8.12.11.mov
│ 屏幕录制2020-04-29上午8.32.45.mov
│ 嵌入式C语言自我修养.pdf
│ 开源安卓投屏工具scrcpy-win64-v1.12.1.zip
│ 归档2.zip
│ 提问的智慧+回答的智慧.txt
│ 插件.zip
│ 数控电源原理图(1).pdf
│ 数控电源原理图.pdf
│ 无标题.png
│ 深度截图_20200514214911(1).png
│ 深度截图_20200514214911.png
│ 深度截图_选择区域_20190828200003(1).png
│ 深度截图_选择区域_20190828200003.png
│ 深度截图_选择区域_20191010132200.png
│ 深度截图_选择区域_20191010132957.png
│ 深度截图_选择区域_20191010172526.png
│ 矽力杰产品列表.xlsx
│ 自动布线.exe
│
├─UEFI
│ ACPI_Spec_6_4_Jan22.pdf
│ Dist_Package_Spec_1_1.pdf
│ PI_Spec_1_7_A_final_May1.pdf
│ UEFI Firmware - Security Concerns and Best Practices.pdf
│ UEFI_Shell_2_2.pdf
│ UEFI_Spec_2_9_2021_03_18.pdf
│
├─Unix
│ Unix操作系统设计.pdf
│ UNIX环境高级编程.pdf
│ UNIX网络编程卷1(第三版 英文版).pdf
│ UNIX网络编程卷1:套接字联网API(第3版).pdf
│ UNIX网络编程卷2(第二版 英文版).pdf
│ UNIX网络编程卷2:进程间通信(第2版).pdf
│
├─Vim
│ Vim手册中文版8.0reference-2.1.0.pdf
│ 像 IDE 一样使用 vim.pdf
│
├─Vulkan
│ Vulkan编程指南.pdf
│
├─Web
│ Actix web - Rust Web 开发库.pdf
│ Web Hacking 101.pdf
│ Web开发者手边的一本CentOS小书.pdf
│ 黑客攻防技术宝典 浏览器实战篇.pdf
│
├─Windows
│ │ Windows 绝赞应用.pdf
│ │ WINDOWS内核原理与实现.pdf
│ │ 在 Windows 10 上设置开发环境.pdf
│ │
│ └─批处理(bat)语法
│ Windows 批处理(bat)语法大全.pdf
│
├─Wireshark
│ Wireshark网络分析就这么简单(完整扫描版).pdf
│
├─X-MagicBox
│ 2.jpg
│ 6B40F16820CDBFD4AAEFF21A64A5BDD2.mp4
│ Air724.kicad_mod
│ air724.step
│ binding-post-4mm-speaker-terminal-1.snapshot.4.zip
│ en.DM00235987.pdf
│ jack-pj313d-1.snapshot.9.zip
│ My_GSM_SIMCOM.lib
│ My_RF_Modules.pretty.zip
│ pj-307-stereo-connector-1.snapshot.5.zip
│ PJ311 v1.step
│ st-111-st-212-audio-connector-3-5-mm-1.snapshot.1.zip
│ usb-type-c-port-smd-type-1.snapshot.3.zip
│ xfmh.gif
│ XiaoFanMoHe-cache.lib
│ XiaoFanMoHe.pdf
│ XiaoFanMoHe.pretty.zip
│ xiaofanmohe.stp
│ XiaoFanMoHe.wrl
│ xiaofanmohe.zip
│ XiaoFanMoHe_64.exe
│ xiaofanmohe_asm.stp
│
├─ZMQ
│ ZMQ 指南.pdf
│
├─【必看】KiCad 简体中文手册 v5.1
│ Eeschema(汉化).pdf
│ KiCad5快速入门教程.pdf
│ KiCad_doc_zh_CN_v0.4.4.tar.gz
│ KiCad_doc_zh_CN_v0.5.1.zip
│ KiCad_zh_CN_v5.1.5-3_v0.6.zip
│ 开源 EDA KiCad 简体中文手册_v0.5.3.zip
│
├─【必看】KiCad 简体中文手册 v6.0
│ kicad.pdf
│ pcbnew.pdf
│
├─【自动布线插件】 FreeRouting
│ FreeRouting-cn.zip
│ FreeRouting-master-source.zip
│ freeRouting.jar
│ Kicad-freerouting.jar
│ layout-20190820-1-x86_64.pkg.tar.xz
│ layout_20190820_Ubuntu_19.04_amd64.deb
│
├─中英文排版
│ 中文文案排版指北.pdf
│
├─代码规范
│ Google 开源项目风格指南 (中文版).pdf
│ 代码整洁之道.pdf
│
├─信号完整性_电源完整性
│ 信号完整性和电源完整性 第二版 中文.pdf
│
├─全志D1 D1s RISC-V(基于平头哥C906) 哪吒开发板超全资料合集
│ D1_Datasheet_V0.1(Draft Version)_whycan.pdf
│ D1_Linux_AUDIOCODEC_开发指南.pdf
│ D1_Linux_CCU_开发指南.pdf
│ D1_Linux_CE开发指南.pdf
│ D1_Linux_CPUFREQ_开发指南.pdf
│ D1_Linux_Display_开发指南.pdf
│ D1_Linux_DMAC_开发指南.pdf
│ D1_Linux_DMIC_开发指南.pdf
│ D1_Linux_EMAC_开发指南.pdf
│ D1_Linux_G2D_开发指南.pdf
│ D1_Linux_GPADC_开发指南.pdf
│ D1_Linux_GPIO_开发指南.pdf
│ D1_Linux_HDMI20_开发指南.pdf
│ D1_Linux_I2S_开发指南.pdf
│ D1_Linux_IR-RX_开发指南.pdf
│ D1_Linux_IR-TX_开发指南.pdf
│ D1_Linux_LCD_开发指南.pdf
│ D1_Linux_LRADC_开发指南.pdf
│ D1_Linux_Media_开发指南.pdf
│ D1_Linux_RTC_开发指南.pdf
│ D1_Linux_SID_开发指南.pdf
│ D1_Linux_SPDIF_开发指南.pdf
│ D1_Linux_SPI-NAND_开发指南.pdf
│ D1_Linux_SPI_开发指南.pdf
│ D1_Linux_Standby_开发指南.pdf
│ D1_Linux_Thermal_开发指南.pdf
│ D1_Linux_TWI_开发指南.pdf
│ D1_Linux_UART_开发指南.pdf
│ D1_Linux_USB_开发指南.pdf
│ D1_Linux_离线烧录_开发指南.pdf
│ D1_Tina_Linux_Display_开发指南.pdf
│ D1_Tina_Linux_Key_快速配置_使用指南.pdf
│ D1_Tina_Linux_LCD_调试指南.pdf
│ D1_Tina_Linux_LEDC_开发指南.pdf
│ D1_Tina_Linux_OTA_开发指南.pdf
│ D1_Tina_Linux_PWM_开发指南.pdf
│ D1_Tina_Linux_SPI_LCD_调试指南.pdf
│ D1_Tina_Linux_syslog_使用指南.pdf
│ D1_Tina_Linux_Tinatest测试_使用指南.pdf
│ D1_Tina_Linux_U-Boot_开发指南 (1).pdf
│ D1_Tina_Linux_U-Boot_开发指南.pdf
│ D1_Tina_Linux_USB_开发指南.pdf
│ D1_Tina_Linux_Wi-Fi_开发指南.pdf
│ D1_Tina_Linux_WiFi_RF测试_使用指南.pdf
│ D1_Tina_Linux_以太网_开发指南.pdf
│ D1_Tina_Linux_内存优化_开发指南.pdf
│ D1_Tina_Linux_各平台多媒体格式_支持列表.pdf
│ D1_Tina_Linux_启动优化_开发指南.pdf
│ D1_Tina_Linux_图形系统_开发指南.pdf
│ D1_Tina_Linux_多媒体解码_开发指南.pdf
│ D1_Tina_Linux_存储_开发指南.pdf
│ D1_Tina_Linux_存储性能_参考指南.pdf
│ D1_Tina_Linux_安全_开发指南.pdf
│ D1_Tina_Linux_打包流程_说明指南.pdf
│ D1_Tina_Linux_扩展IO_开发指南.pdf
│ D1_Tina_Linux_温度控制_使用指南.pdf
│ D1_Tina_Linux_系统裁剪_开发指南.pdf
│ D1_Tina_Linux_系统调试_使用指南.pdf
│ D1_Tina_Linux_系统软件_开发指南.pdf
│ D1_Tina_Linux_红外_开发指南.pdf
│ D1_Tina_Linux_网络性能_参考指南.pdf
│ D1_Tina_Linux_蓝牙_开发指南.pdf
│ D1_Tina_Linux_配网_开发指南.pdf
│ D1_Tina_Linux_配置_开发指南.pdf
│ D1_Tina_Linux_量产测试_使用指南.pdf
│ D1_Tina_Linux_音频_开发指南.pdf
│ D1_User_Manual_V0.1(Draft Version)_whycan.pdf
│ D1哪吒开发板原理图20210224.pdf
│ D1开发板哪吒位号图20210224.pdf
│ F133_Datasheet_V1.0_whycan.pdf
│ F133_User_Manual_V1.0.pdf
│ README.md
│ TFT08006规格书1.pdf
│ 玄铁C906_R1S0用户手册.pdf
│
├─华为全套设计规范
│ 01.华为的世界.pdf
│ 02.华为内部C语言培训资料.pdf
│ 03.华为EMC资料.PDF
│ 04.华为PCB的EMC设计指南.pdf
│ 05.华为模电教程1.PDF
│ 06.华为模电教程2.PDF
│ 07.华为模拟电路设计全册.pdf
│ 08.华为Hi3515(ARM9)之高速电路硬件(原理图与PCB)设计指南.pdf
│ 09.华为高速数字电路设计.pdf
│ 10.华为静电防护(ESD)培训教材.pdf
│ 11.华为培训时发的资料.pdf
│ 12.华为无源滤波元器件-电容的介绍和深入_.pdf
│ 14.华为硬件设计LVDS检查列表checklist(1).pdf
│ 14.华为硬件设计LVDS检查列表checklist.pdf
│ 15.华为Hi3520硬件设计用户指南.pdf
│ 16.华为Hi3611硬件设计研发指导手册(内部研发文档47页).pdf
│ 17.华为PCBLayout设计规范.pdf
│ 18.华为单板硬件设计审查评审表checklist.pdf
│ 华为PCB布线规范.pdf
│ 华为工程师内部资料.pdf
│ 华为硬件工程师手册_全.pdf
│ 华为硬件设计规范.pdf
│
├─古代文学
│ └─《黄金策》总断千金赋
│ 黄金策总断千金赋.pdf
│
├─国标
│ └─GB∕T 20851.1-2019 电子收费 专用短程通信
│ GB∕T 20851.1-2019 电子收费 专用短程通信 第1部分:物理层.pdf
│ GB∕T 20851.2-2019 电子收费 专用短程通信 第2部分:数据链路层.pdf
│ GB∕T 20851.3-2019 电子收费 专用短程通信 第3部分:应用层.pdf
│ GB∕T 20851.4-2019 电子收费 专用短程通信 第4部分:设备应用.pdf
│ GB∕T 20851.5-2019 电子收费 专用短程通信 第5部分:物理层主要参数测试方法.pdf
│
├─定投改变命运
│ on-regularinvesting-cn.pdf
│ OnRegularInvesting_cn.epub
│ OnRegularInvesting_cn.mobi
│
├─嵌入式 Linux
│ 嵌入式 Linux 知识库.pdf
│
├─并发模型
│ 七周七并发模型.pdf
│
├─开发语言路线图
│ └─GO
│ 2019 GO 开发路线图.gif
│
├─思维导图
│ └─日常生活中的思维导图-矢岛美由希
│ 日常生活中的思维导图 - 矢岛美由希.epub
│
├─操作系统
│ 《嵌入式系统 硬件与软件架构(英文)》.pdf
│ 《操作系统原理》操作系统-教材-高等教育.pdf
│ 操作系统思考.pdf
│ 操作系统设计与实现-中文.pdf
│ 现代操作系统(第三版)中文版.pdf
│ 用开源软件写操作系统.pdf
│ 计算机操作系统+第三版.pdf
│
├─敏捷软件开发
│ 敏捷软件开发:原则、模式与实践.pdf
│
├─数据库和缓存
│ Mycat事务补偿设计文档(讨论稿).docx
│ Oracle ADF开发实战指南.pdf
│ PostgreSQL.ppt
│ Redis 3.0 中文版 - v1.1.pdf
│ Redis 入门指南.pdf
│ Redis 源码日志 - v1.0.pdf
│ Redis入门指南 第2版.pdf
│ The Little Redis Book 中文版 - v1.0.pdf
│ 高性能MySQL【第3版】【中文版】.pdf
│
├─机械结构及工艺
│ 机械实用手册[日]土屋喜一.pdf
│ 机械工程师面试试题.pdf
│ 机械工程师面试题2.pdf
│ 机械工程师面试题答案2.pdf
│ 机械零件.rar
│ 自动化设计标准件选型概要.pptx
│ 自动机械凸轮机构实用设计手册 [刘昌祺,刘庆立,蔡昌蔚 编著] 2013年.pdf
│ 螺纹及其联结.pdf
│ 钣金展开速查手册.pdf
│ 链轮参数计算软件.rar
│ 齿轮技术应用.pdf
│
├─正则表达式
│ 正则表达式.doc
│ 精通正则表达式(第3版).pdf
│
├─汽车电子_CAN
│ CAN-bus现场总线基础教程周立功PDF.pdf
│ CAN总线应用层协议实例解析.pdf
│ CAN总线详细教程_精心编制_不可错过.pdf
│ CAN-bus 规范 V2.0 版本 (中文).pdf
│ CAN-bus 规范 V2.0 版本 (英文).pdf
│ 值得收藏:德国工程师的CANopen备忘录.pdf
│ 瑞萨 CAN入门书.pdf
│
├─深度学习
│ 深度学习与计算机视觉-算法原理、框架应用与代码实现.pdf
│
├─煲耳机试音碟
│ Hotel California 加州旅馆.wav
│ 渡口.wav
│
├─玄学
│ ├─奇门
│ │ 秘传奇门遁甲鸣法.pdf
│ │
│ ├─易经
│ │ └─风水
│ │ 易经风水布局秘笈(上).pdf
│ │ 易经风水布局秘笈(下).pdf
│ │
│ ├─真气
│ │ 真气运行学●自学大全.txt
│ │
│ ├─符箓
│ │ 符咒全书(藏外道书版)(1).pdf
│ │ 茅山符咒制煞秘芨.pdf
│ │
│ └─道教
│ 正统道藏洞真部本文类-无上内秘真藏经(简体).txt
│ 正统道藏洞真部本文类-无上内秘真藏经(繁体).txt
│
├─电子元器件选型
│ 基础电子元器件的特性、选型及应用.pdf
│
├─电子计算工具
│ ├─Buck反馈电阻计算-不语;
│ │ Buck反馈分压标称阻值计算v1.5.3-GB2312-不语.exe
│ │ Buck反馈分压标称阻值计算v1.5.3-UTF8-不语.exe
│ │
│ ├─常用计算工具
│ │ LCD选色工具.xlsx
│ │ LC振荡器计算表.xls
│ │ LC频率.xls
│ │ TL431_LM317电阻.xls
│ │ 两点直线拟合.xls
│ │ 体积.xls
│ │ 凸透镜成像焦距.xls
│ │ 分压电阻计算表.xls
│ │ 勾股定理.xls
│ │ 弓形面积计算.xls
│ │ 温度对二极管压降.xls
│ │ 电阻并联分压方案(1).xls
│ │ 电阻并联分压方案.xls
│ │
│ └─电子DIY工具集
│ 电子DIY工具集.exe
│
├─电容去耦原理(理解十分透彻)
│ 电容去耦原理(解释十分透彻).pdf
│
├─看雪精华21
│ readme.md
│ 看雪精华21.zip
│ 订阅公众号【看雪学院】回复[密码].jpg
│
├─社科类书籍
│ 《无言的宇宙隐藏在24个数字公式背后的故事》.pdf
│ 人月神话(中文版).pdf
│ 太阳系的秘密.pdf
│
├─稀饭放姜上传的3D库
│ 0-49in-oled-1.snapshot.7.zip
│ 0-66in-oled-1.snapshot.2.zip
│ 0-91in-oled-1.snapshot.3.zip
│ 0-95in-oled-full-color-1.snapshot.4.zip
│ 0-96in-lcd-2.snapshot.3.zip
│ 0-96in-oled-1.snapshot.2.zip
│ 1-14-tft-ips-module-st7789-1.snapshot.1.zip
│ 1-3-tft-ips-module-st7789-1.snapshot.7.zip
│ 1-44in-lcd-tft-1.snapshot.4.zip
│ 1-54-ips-tft-display-1.snapshot.1.zip
│ 1-54in-e-ink-display-assortment-1.snapshot.3.zip
│ 1-8in-tft-1.snapshot.30.zip
│ 14500-battery-1.snapshot.2.zip
│ 18650-retainers-1.snapshot.4 (1).zip
│ 18650-retainers-1.snapshot.4.zip
│ 2-0-tft-ips-1.snapshot.6.zip
│ 2-0in-lcd-module-1.snapshot.5.zip
│ 2-13in-e-ink-display-black-flexible-1.snapshot.1.zip
│ 2-4in-tft-module-1.snapshot.10.zip
│ 2-8in-lcd-module-1.snapshot.7 (1).zip
│ 2-8in-lcd-module-1.snapshot.7.zip
│ 2-9in-e-ink-display-red-black-1.snapshot.6.zip
│ 7-5in-e-ink-display-assortment-1.snapshot.2.zip
│ 80mm-fan-2.snapshot.6.zip
│ banana-connector-4-00mm-1.snapshot.2.zip
│ heatsink-assortment-1.snapshot.5.zip
│ jdy-08-1.snapshot.2.zip
│ jdy-10-2.snapshot.2.zip
│ jst-ch-3-96mm-connector-set-1.snapshot.3.zip
│ jst-gh-1-25mm-connector-set-1.snapshot.101.zip
│ jst-ph-2-00mm-connector-set-1.snapshot.63.zip
│ jst-vh-3-96mm-connector-set-1.snapshot.2.zip
│ jst-xh-2-54mm-generic-connector-set-1.snapshot.31.zip
│ lcd-2004-2.snapshot.2.zip
│ lcd-4002-1.snapshot.3.zip
│ relay-solinoid-assortment-1.snapshot.2.zip
│ sd-card-reader-4.snapshot.4.zip
│ selector-switch-ss12d00-1.snapshot.3.zip
│ switch-illuminated-12x12-1.snapshot.11.zip
│ tactile-switch-assortment-1.snapshot.5.zip
│ tactile-switch-smd-12mm-series-1.snapshot.4.zip
│ tactile-switch-smd-5mm-series-1.snapshot.2.zip
│ tactile-switch-smd-6mm-series-1.snapshot.2.zip
│ tactile-switch-thru-12mmx12mm-with-cap-1.snapshot.5.zip
│ tactile-switch-thru-12mmx12mmx8mm-color-1.snapshot.2.zip
│ tactile-switch-thru-6mm-series-1.snapshot.25.zip
│ tactile-switch-thru-6mmx-6mmx5mm-color-1.snapshot.24.zip
│ terminal-block-7-62mm-assortment-1.snapshot.2.zip
│ thermal-electric-cooler-assortment-tec-1.snapshot.4.zip
│ toggle-button-8-4-x-8-4-x-13-5mm-latching-1.snapshot.2.zip
│ trimmer-capacitor-1.snapshot.2.zip
│ User Library-SOT1118 DFN2020-6.zip
│ User Library-User Library-_model1_bananaHeader3X7.zip
│
├─立创 EDA
│ 立创EDA使用教程——林羽人生整理.pdf
│ 立创EDA元件创建规范_装订版.pdf
│ 立创EDA学习手册V2.0.pdf
│
├─算法和数据结构
│ 分布式算法导论.pdf
│ 图灵程序设计丛书 算法 第4版.pdf
│ 大话数据结构.pdf
│ 常用算法程序集.pdf
│ 快速傅里叶变-算法与应用.pdf
│ 数学之美.pdf
│ 数据结构(C语言版).pdf
│ 数据结构与算法分析:C语言描述_原书第2版_高清版.pdf
│ 浙大《概率论与数理统计》第四版.pdf
│ 离散数学及其应用 原书第6版(美)罗森著 第六版中文版.pdf
│ 程序员的数学.pdf
│ 程序员的数学2概率统计平冈和幸日堀玄著P406.pdf
│ 程序员的数学_3_线性代数_平冈和幸堀玄著.pdf
│ 算法导论 (原书第二版) 中文 PDF 清晰版.pdf
│ 算法导论中文版.pdf
│ 算法技术手册.pdf
│ 算法(第4版).pdf
│ 线性代数应该这样学Liner Algebra Done Right(中文).pdf
│ 趣学算法.pdf
│
├─精通 Git
│ Git 在线学习网站.txt
│ git-community-book.pdf
│ progit_v2.1.55.epub
│ progit_v2.1.55.pdf
│ 精通 Git(Pro Git).pdf
│
├─继电器和开关电路符号分析
│ A symbolic analysis of relay and switching circuits.pdf
│
├─编译原理
│ 程序员的自我修养—链接、装载与库--书签目录.pdf
│ 编译原理中文版.pdf
│
├─英语学习
│ 英语进阶指南.pdf
│
├─计科书籍
│ 《计算机系统结构基础》(第三版)电子版.pdf
│ 数字图像处理(第二版).pdf
│ 计算机组成原理(第五版)-白中英-电子书.pdf
│
├─软件架构
│ 研磨设计模式.pdf
│ 软件架构师应该知道的97件事.pdf
│ 软件架构设计:程序员向架构师转型必备-第二版-温昱.pdf
│
├─韭菜的自我修养
│ 韭菜的自我修养-增订版.pdf
│
└─高频印刷线路板材料选型指南
【选型】Rogers 高频印刷线路板材料选型指南.pdf
印制电路板行业规范公告管理暂行办法.pdf
印制电路板行业规范条件.pdf
```
看到 MM32 官网的 MM32_JLINK_pack 只有 win 版本没有 Linux 版本。为了解决 Linux 下调试 MM32 的问题,于是对官网的 MM32_JLINK_pack 动了想法。
此处以 Arch Linux 为例,其他 Linux 可以参考处理方法。
1. 编写 PKGBUILD
# Maintainer: taotieren <admin@taotieren.com>
pkgname=mm32-jlink-pack
pkgver=0.97
pkgrel=1
epoch=
pkgdesc="JLINK Pack 支持包支持 MM32 全系列芯片,在 SEGGER JLink 6.10 及以上版本下的安装。"
arch=('any')
url="https://www.mindmotion.com.cn/support/software/jlink_pack/"
license=('custom' 'Commercial')
groups=()
depends=("jlink-software-and-documentation>=6.10")
makedepends=('libarchive')
checkdepends=()
optdepends=()
provides=('MM32_JLINK_pack')
conflicts=()
replaces=()
backup=()
options=('!strip')
install=${pkgname}.install
changelog=
source=("${pkgname}-${pkgver}.zip::https://www.mindmotion.com.cn/download1.aspx?itemid=152&typeid=4"
"${pkgname}.install")
noextract=(${pkgname}-${pkgver}.zip)
sha256sums=('b819fe79db4e135e039ebe407318d9b1a4362bbe71720c9f42f52e4f3825770a'
'783f83bea0655ec837a2c52286ccea7bc5989b183303c62dc92d86a8a6d78fa9')
#validpgpkeys=()
package() {
install -dm0755 "${pkgdir}/opt/SEGGER/JLink/"
bsdtar -xf "${srcdir}/${pkgname}-${pkgver}.zip" --strip-components=1 -C "${pkgdir}/opt/SEGGER/JLink/"
find "${pkgdir}/opt/SEGGER/JLink/" -type f -exec chmod 644 "{}" \;
find "${pkgdir}/opt/SEGGER/JLink/" -type d -exec chmod 755 "{}" \;
cd "${pkgdir}/opt/SEGGER/JLink/"
# mv JLinkDevices.xml JLinkDevicesMM32.xml
tail -n +1610 JLinkDevices.xml > JLinkDevicesMM32.xml.patch
rm -rf JLinkDevices.xml
}
2. 编写 INSTALLL 文件
# mm32-jlink-pack.install
info() {
echo -e "JLINK Pack 支持包支持 MM32 全系列芯片,在 SEGGER JLink 6.10 及以上版本下的安装。"
}
post_install() {
echo "Install JLinkDevicesMM32.xml..."
info
install_jlinkdevices
}
post_upgrade() {
post_install
}
pre_remove() {
echo "Uninstall JLinkDevicesMM32.xml..."
mv -v /opt/SEGGER/JLink/JLinkDevicesBak.xml /opt/SEGGER/JLink/JLinkDevices.xml
}
install_jlinkdevices() {
cp -rv /opt/SEGGER/JLink/JLinkDevices.xml /opt/SEGGER/JLink/JLinkDevicesBak.xml
sed -i "s|</DataBase>||g" /opt/SEGGER/JLink/JLinkDevices.xml
cat /opt/SEGGER/JLink/JLinkDevicesMM32.xml.patch >> /opt/SEGGER/JLink/JLinkDevices.xml
}
3. 本地验证没发现问题,已经将此包上传至 AUR 仓库:https://aur.archlinux.org/packages/mm32-jlink-pack
https://bbs.21ic.com/data/attachment/forum/202202/24/153230zfvrthnzevvzvhpn.png.thumb.jpg
taotieren 说:有计划支持 rs-flash 吗?
请问这是什么东西 没听说过
https://github.com/probe-rs/cargo-flash
https://github.com/probe-rs/probe-rs
# 哪吒 D1 通过 TF 卡运行 Arch Linux RISC-V rootfs
## 制作 RVBoards 的 Debian RISC-V TF 启动卡
1. 详细资料参考这里 :[「RVBoards-哪吒」D1 Debian系统镜像和安装方法](https://rvboards.org/forum/cn/topic/61/rvboards-%E5%93%AA%E5%90%92-d1-debian%E7%B3%BB%E7%BB%9F%E9%95%9C%E5%83%8F%E5%92%8C%E5%AE%89%E8%A3%85%E6%96%B9%E6%B3%95/2)
2. 补充下这里面没提到的坑
- 根据 [内核无法访挂载rootfs](https://fedoraproject.org/wiki/Architectures/RISC-V/Allwinner/zh-cn#.E5.86.85.E6.A0.B8.E6.97.A0.E6.B3.95.E8.AE.BF.E6.8C.82.E8.BD.BDrootfs) 这里的介绍
```bash
[ 9.015501] md: Waiting for all devices to be available before autodetect
[ 9.039910] md: If you don't use raid, use raid=noautodetect
[ 9.064235] md: Autodetecting RAID arrays.
[ 9.085291] md: autorun ...
[ 9.104713] md: ... autorun DONE.
[ 9.126379] List of all partitions:
[ 9.146691] b300 15558144 mmcblk0
[ 9.146697] driver: mmcblk
[ 9.186490] b301 1048576 mmcblk0p1 1676bb7b-c349-4f5b-a48a-0f77d0cb680b
[ 9.186495]
[ 9.228663] b302 32 mmcblk0p2 de35d1f7-9081-4f33-8952-3bc51a4b10c6
[ 9.228668]
[ 9.270932] b303 16384 mmcblk0p3 47aae416-9ac3-47dc-a4f4-8023251eaefc
[ 9.270937]
[ 9.313210] b304 14491119 mmcblk0p4 b93e5544-034f-41b7-b64d-1d7c2a5cfe58
[ 9.313214]
[ 9.355206] No filesystem could mount root, tried:
[ 9.355212] ext4
[ 9.376478]
[ 9.411420] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,4)
[ 9.436391] CPU: 0 PID: 1 Comm: swapper Not tainted 5.4.61 #3
[ 9.458151] Call Trace:
[ 9.475929] [<ffffffe0000d6598>] walk_stackframe+0x0/0xc4
[ 9.496999] [<ffffffe0000d6838>] show_stack+0x3c/0x46
[ 9.517441] [<ffffffe000bb19f6>] dump_stack+0x24/0x2c
[ 9.537749] [<ffffffe0000e1f0a>] panic+0x100/0x32a
[ 9.557557] [<ffffffe000001522>] 0xffffffe000001522
[ 9.577224] [<ffffffe0000015e2>] 0xffffffe0000015e2
[ 9.596711] [<ffffffe00000173c>] 0xffffffe00000173c
[ 9.616044] [<ffffffe00000105e>] 0xffffffe00000105e
[ 9.635113] [<ffffffe000bc6e5a>] kernel_init+0x1c/0x100
[ 9.654494] [<ffffffe0000d4838>] ret_from_exception+0x0/0xc
[ 9.674194] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,4) ]---
```
说明您使用的SD卡存在GPT分区表残留,导致内核不知道如何找到rootfs。(似乎您忘记了在烧写前使用 **wipefs** 清理 GPT 备份分区表) 解决的办法如下:
- 将出问题的SD卡插入PC,通过 gdisk 清除残余的分区表,过程如下:
```bash
# sdX 表示 TF/SD 卡磁盘号,此处以 sdf 为例
$ sudo gdisk /dev/sdf
GPT fdisk (gdisk) version 1.0.5
Caution: invalid main GPT header, but valid backup; regenerating main header
from backup!
Warning: Invalid CRC on main header data; loaded backup partition table.
Warning! Main and backup partition tables differ! Use the 'c' and 'e' options
on the recovery & transformation menu to examine the two tables.
Warning! Main partition table CRC mismatch! Loaded backup partition table
instead of main partition table!
Warning! One or more CRCs don't match. You should repair the disk!
Main header: ERROR
Backup header: OK
Main partition table: ERROR
Backup partition table: OK
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: damaged
Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
1 - MBR
2 - GPT
3 - Create blank GPT
Your answer: 1
Command (? for help): p
Disk /dev/sdf: 62333952 sectors, 29.7 GiB
Model: Multi-Reader -3
Sector size (logical/physical): 512/512 bytes
Disk identifier (GUID): 632BFA1B-F09D-42A8-82F4-5FAB32E41DC2
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 62333918
Partitions will be aligned on 2048-sector boundaries
Total free space is 37084093 sectors (17.7 GiB)
Number Start (sector) End (sector) Size Code Name
2 69632 319487 122.0 MiB 0700 Microsoft basic data
3 319488 1320959 489.0 MiB 8300 Linux filesystem
4 1320960 25319423 11.4 GiB 8300 Linux filesystem
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sdf.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.
```
- 还可以通过 wipefs 擦除 TF 卡的分区信息
```bash
# sdX 表示 TF/SD 卡磁盘号
sudo wipefs -a /dev/sdX
sudo dd if=Fedora-riscv64-d1-developer-xfce-with-esp-Rawhide-latest-sda.raw of=/dev/sdX status=progress bs=4M
```
3. 如果在 win 10 上通过 全志的 TF 卡制作启动盘工具请使用 [PhoenixCardv4.2.7.7z](https://www.aw-ol.com/downloads/resources/42) 2021/07/14 08:56:40 更新的版本,否则会出现 启动卡无法格式化,无法制作成功等糟心的问题。
4. 可选操作:扩展根文件系统分区尺寸:
插入读卡器到linux系统下,执行以下操作来扩展根文件系统分区尺寸:(sdX的X表示你实际的读卡器盘符字母)
```bash
sudo e2fsck -f /dev/sdX7
sudo resize2fs -p /dev/sdX7
```
## 启动 Debian RISC-V TF卡
1. 使用 USB2TTL 串口工具链接 D1 的 debug 口,插入 TF 到 D1 的 TF 卡座,
2. 使用 minicom 连接串口
```bash
# 注意连接 如果出现键盘输入信息,串口接收不到的情况,请关闭 minicom 的硬件流控。
# 关闭 minicom 硬件流控
$ sudo minicom -s
+------[设置]---------+
| 文件名和路径 |
| 文件传输协定 |
| 串口设置 |
| 调制解调器和拨接 |
| 屏幕和键盘 |
| 保存设置为 dfl |
| 另存设置为… |
| 离开本画面 |
| 离开 Minicom |
+-------------------+
#选择 串口设置
-----------+
+-----------------------------------------------------------------------+ |
| A - 串行设备 : /dev/modem | |
| B - 锁文件位置 : /var/run ||
| C - 拨入程序 : | |
| D - 拨出程序 : | |
| E - Bps/Par/Bits : 115200 8N1 | |
| F - 硬件流控制 : 否 |
| G - 软件流控制 : 否 |
| H - RS485 Enable : No |
| I - RS485 Rts On Send : No | |
| J - RS485 Rts After Send : No |
| K - RS485 Rx During Tx : No |
| L - RS485 Terminate Bus : No | |
| M - RS485 Delay Rts Before: 0 |
| N - RS485 Delay Rts After : 0 | |
| | |
| 变更设置? | |
+-----------------------------------------------------------------------+ |
|
# 按 F 切换硬件流控,选择为关闭,按回车间确认,放回到主界面保存设置。
# 连接 D1 串口
$ minicom -c on -b 115200 -D /dev/ttyUSB0
```
3. 使用 Type-C 数据线连接 OTG 接口,minicom 会输出相应启动信息
4. 不出意外的话会进入 Debian RISC-V 的系统
5. Debian RISC-V 系统默认用户名:`root` 密码:`rvboards`
## 替换 Arch Linux RISC-V rootfs
1. 国外的 [sunxi-linux Nezha](https://linux-sunxi.org/Allwinner_Nezha) 介绍如何移植主线内核
2. 肥猫的 [Arch Linux RISC-V](https://archriscv.felixc.at/) 项目
3. 下载 arch risc-v rootfs 系统
```bash
# 将 archriscv-20210601.tar.zst 下载到 ~/ 下
$ wget -c https://archriscv.felixc.at/images/archriscv-20210601.tar.zst
```
4. 将 D1 断电,拔出 TF 卡,通过读卡器挂载到电脑上
5. 备份 Debian RISC-V 的 rootfs
```bash
# 此处以 sde5 为例,根据实际情况找到 rootfs 磁盘
$ mount /dev/sde5 /mnt
$ cd /mnt
# 备份当前 Debian RISC-V rootfs
$ tar -zcvf . ~/debian-riscv-`date -s`.tar.xz
# 删除 Debian RISC-V rootfs
$ sudo rm -rf .
# 将 archriscv-20210601.tar.zst 解压到 /mnt 下
# Arch Linux 用户
$ sudo bsdtar -xvf ~/archriscv-20210601.tar.zst -C /mnt/
# 非 Arch Linux 用户,依赖 zstd 库,没有的此库的用户自行安装
sudo tar -I zstd -xvf ~/archriscv-20210601.tar.zst -C /mnt/
```
6. 启动 Arch Linux RISC-V 虚拟机,Arch Linux RISC-V 的默认` root` 密码为 `sifive`
```bash
$ sudo systemd-nspawn -D /mnt/ --machine archriscv -a -U
# Arch Linux RISC-V 的默认 root 密码为 sifive
```
7. 配置 Arch Linux RISC-V 的静态 IP 地址
```bash
# 此处以默认网卡为 eth0 为例,实际通过 `ip addr` 获取网卡信息
# 查看网络状态
sudo systemctl status systemd-networkd
# 通过 cat 配置静态 IP 文件
cat > /etc/systemd/network/10-static-eth0.network << EOF
[Match]
Name=eth0
[Network]
Address=192.168.1.199/24
Gateway=192.168.1.1
DNS=192.168.1.1 223.5.5.5 114.114.114.114
EOF
# 把服务加入开机自启
sudo systemctl reenable systemd-networkd
# 重启系统
sudo reboot
# 查看 IP
ip addr // 或者 ifconfig
# 如果静态 IP 重启后变成动态 IP,可以审查是否因为 `networkmanager` 引起,如果是请执行下面命令卸载
sudo pacman -Rsn `pacman -Qsq networkmanager` network-manager-applet
```
8. 配置 `/etc/fstab`
```bash
# 使得根目录是 rw 的(这能避免一些 SEGV)
/dev/mmcblk0p5 / ext4 rw 0 1
```
9. 修改镜像源
如果是是 `SSL` 连接错误,如下:
```bash
pacman -Syyus
.ac.cn/archriscv_archriscv.felixc.at_g' /etc/pacman.conf cat /etc/pacman.conf
:: Synchronizing package databases...
error: failed retrieving file 'core.db' from archriscv.felixc.at : SSL certificate problem: certificate is not yet valid
error: failed to update core (download library error)
error: failed retrieving file 'extra.db' from archriscv.felixc.at : SSL certificate problem: certificate is not yet valid
error: failed to update extra (download library error)
error: failed retrieving file 'community.db' from archriscv.felixc.at : SSL certificate problem: certificate is not yet valid
error: failed to update community (download library error)
error: failed to syn
```
```bash
# 将 https 替换成 http
sed -i 's_https_http_g' /etc/pacman.conf
```
如果是下载速度慢可以换其他镜像站:
```bash
sed -i 's_archriscv.felixc.at_mirrors.wsyu.edu.cn/archriscv_g' /etc/pacman.conf
```
10. 退出 Arch Linux RISC-V 虚拟机
```bash
Ctrl + D
# 或
exit
```
11. 卸载 `/mnt` 分区
```bash
sudo umount -R /mnt
```
12. 安全弹出 TF 卡,插入 D1 TF 卡座,OTG 接口供电,不出意外是能进入 archlinux risc-v 的 rootfs
## 参考连接
- [在 RISC-V 板子(哪吒 D1)上安装 Arch Linux ](https://blog.zenithal.me/2021/08/28/%E5%9C%A8-RISC-V-%E6%9D%BF%E5%AD%90%EF%BC%88%E5%93%AA%E5%90%92-D1%EF%BC%89%E4%B8%8A%E5%AE%89%E8%A3%85-Arch-Linux/)
- [Allwinner Nezha](https://linux-sunxi.org/Allwinner_Nezha)
- [Arch Linux RISC-V](https://archriscv.felixc.at/)
- [Debian by PerfXLab](https://d1.docs.aw-ol.com/strong/strong_4debian/)
- [「RVBoards-哪吒」D1 Debian系统镜像和安装方法](https://rvboards.org/forum/cn/topic/61/rvboards-%E5%93%AA%E5%90%92-d1-debian%E7%B3%BB%E7%BB%9F%E9%95%9C%E5%83%8F%E5%92%8C%E5%AE%89%E8%A3%85%E6%96%B9%E6%B3%95)
- [在哪吒上启动Fedora的最简说明](https://fedoraproject.org/wiki/Architectures/RISC-V/Allwinner/zh-cn#.E4.BF.AE.E5.A4.8DSD.E5.8D.A1.E4.B8.AD.E7.9A.84.E5.90.AF.E5.8A.A8.E5.9B.BA.E4.BB.B6)
# Arch Linux 生命不息,折腾不止!
编写 nutool-usbtoserialport 的 PKGBUILD 已经上传到 Arch Linux 的 AUR 仓库 [nutool-usbtoserialport-git](https://aur.archlinux.org/packages/nutool-usbtoserialport-git)。
可以通过 AUR 工具下载安装,如:yay
yay -S nutool-usbtoserialport-git
PKGBUILD 源码
# Maintainer: taotieren <admin@taotieren.com>
pkgname=nutool-usbtoserialport-git
_pkgname=NuTool-USBtoSerialPort
pkgver=e7da256
pkgrel=1
epoch=
pkgdesc="NuTool-USB to Serial Port is a host-side software, it passes through and montiors I2C, SPI and CAN data of Nu-Link2-Pro® adapter"
arch=('any')
url="https://gitee.com/OpenNuvoton/NuTool-USB-to-Serial-Port"
license=('GPL3')
groups=()
depends=('qt5-serialport')
makedepends=('qt5-tools' 'git')
checkdepends=()
optdepends=()
provides=('NuTool-USBtoSerialPort')
conflicts=(${pkgname%-git})
replaces=()
backup=()
options=('!strip')
install=
changelog=
source=("${_pkgname}::git+${url}.git")
noextract=()
sha256sums=('SKIP')
#validpgpkeys=()
pkgver() {
cd "${srcdir}/${_pkgname}/"
# git describe --long --tags | sed 's/V//g;s/\([^-]*-g\)/r\1/;s/-/./g'
git describe --always | sed 's|-|.|g'
}
build() {
cd "${srcdir}/${_pkgname}"
qmake
make
}
package() {
cd "${srcdir}/${_pkgname}"
install -Dm0755 ${_pkgname} "${pkgdir}/usr/bin/${_pkgname}"
install -Dm0644 /dev/stdin "${pkgdir}/usr/share/metainfo/io.gitee.opennuvoton.nutool-usb-to-serial-port.metainfo.xml" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>io.gitee.opennuvoton.nutool-usb-to-serial-port</id>
<name>${_pkgname}</name>
<summary>${_pkgname}</summary>
<metadata_license>MIT</metadata_license>
<project_license>GPL-2.0-or-later</project_license>
<description>
<p>
NuTool-USB to Serial Port is a host-side software, it passes through and montiors I2C, SPI and CAN data of Nu-Link2-Pro® adapter
</p>
</description>
<launchable type="desktop-id">io.gitee.opennuvoton.nutool-usb-to-serial-port.desktop</launchable>
</component>
EOF
install -Dm0644 /dev/stdin "${pkgdir}/usr/share/applications/io.gitee.opennuvoton.nutool-usb-to-serial-port.desktop" << EOF
[Desktop Entry]
Version=1.0
Type=Application
Name=${_pkgname}
Comment=${_pkgname}
Categories=Development;Electronics;
Icon=${_pkgname}
Exec=${_pkgname}
Terminal=false
EOF
install -dm0755 "${pkgdir}/usr/share/licenses/${pkgname%-git}/"
cp -ra "${srcdir}/${_pkgname}/Licenses" "${pkgdir}/usr/share/licenses/${pkgname%-git}/"
}
编写 ma35d1-nuwriter-git 的 PKGBUILD 已经上传到 Arch Linux 的 AUR 仓库 [ma35d1-nuwriter-git](https://aur.archlinux.org/packages/ma35d1-nuwriter-git)。
可以通过 AUR 工具下载安装,如:yay
yay -S ma35d1-nuwriter-git
PKGBUILD 源码
# Maintainer: taotieren <admin@taotieren.com>
pkgname=ma35d1-nuwriter-git
pkgver=7a5d115
pkgrel=1
epoch=
pkgdesc="MA35D1 NuWriter"
arch=('any')
url="https://gitee.com/OpenNuvoton/MA35D1_NuWriter"
license=('GPL3')
groups=()
depends=('python-pyusb' 'python' 'python-crcmod' 'python-pyqt5')
makedepends=("git")
checkdepends=()
optdepends=()
provides=('MA35D1_NuWriter')
conflicts=(${pkgname%-git})
replaces=()
backup=()
options=('!strip')
install=${pkgname}.install
changelog=
source=("${pkgname%-git}::git+${url}.git"
"${pkgname}.install")
noextract=()
sha256sums=('SKIP'
'940f09c5609e8a78c600078ddab945c403216c186601830c128a854757de8a89')
#validpgpkeys=()
pkgver() {
cd "${srcdir}/${pkgname%-git}/"
# git describe --long --tags | sed 's/V//g;s/\([^-]*-g\)/r\1/;s/-/./g'
git describe --always | sed 's|-|.|g'
}
package() {
cd "${srcdir}/${pkgname%-git}"
install -Dm644 "${srcdir}/${pkgname%-git}/gui/images/NuWriter.ico" "${pkgdir}/usr/share/pixmaps/${pkgname%-git}.ico"
cp -ra ${srcdir}/${pkgname%-git}/ "${pkgdir}/usr/share/"
install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/${pkgname%-git}" << EOF
#!/bin/bash
if [ ! -d "$HOME"/.local/share/${pkgname%-git} ] ; then
mkdir -p "$HOME"/.local/share/${pkgname%-git} || exit 1
cp -ra /usr/share/${pkgname%-git} "$HOME"/.local/share/ || exit 1
fi
python "$HOME"/.local/share/${pkgname%-git}/nuwriter.py "\$@"
EOF
install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/${pkgname%-git}-ui" << EOF
#!/bin/bash
if [ ! -d "$HOME"/.local/share/${pkgname%-git} ] ; then
mkdir -p "$HOME"/.local/share/${pkgname%-git} || exit 1
cp -ra /usr/share/${pkgname%-git} "$HOME"/.local/share/ || exit 1
fi
python "$HOME"/.local/share/${pkgname%-git}/nuwriterUI.py "\$@"
EOF
install -Dm0644 /dev/stdin "${pkgdir}/usr/share/applications/${pkgname%-git}-ui.desktop" << EOF
[Desktop Entry]
Name=${pkgname%-git}-ui
Name[zh_CN]=${pkgname%-git}-ui
Comment=${pkgdesc}
#MimeType=application/x-${pkgname%-git}-ui;
Exec=${pkgname%-git}-ui %f
Type=Application
Categories=Development;Tool;
Terminal=false
Icon=${pkgname%-git}.ico
Version=${pkgver}
EOF
}
ma35d1-nuwriter-git.install
# ma35d1-nuwriter-git.install
info() {
echo -e "MA35D1 NuWriter"
}
post_install() {
info
}
post_upgrade() {
echo "deleting the ma35d1-nuwriter bottle..."
find /home -maxdepth 5 -name "ma35d1-nuwriter" -exec rm -rf {} \;
info
}
pre_remove() {
echo "deleting the ma35d1-nuwriter bottle..."
find /home -maxdepth 5 -name "ma35d1-nuwriter" -exec rm -rf {} \;
}
编写 nuc970-nuwriter 的 PKGBUILD 已经上传到 Arch Linux 的 AUR 仓库 [nuc970-nuwriter-git](https://aur.archlinux.org/packages/nuc970-nuwriter-git)。
可以通过 AUR 工具下载安装,如:yay
yay -S nuc970-nuwriter-git
PKGBUILD 源码
# Maintainer: taotieren <admin@taotieren.com>
pkgname=nuc970-nuwriter-git
pkgver=1328b10
pkgrel=1
epoch=
pkgdesc="The Nu-writer Command Tool is a linux console application consisting of functions to access storage(eg. DRAM,NAND,SPINOR,SPINAND,SD) in a NUC970 family processors"
arch=('any')
url="https://gitee.com/OpenNuvoton/NUC970_NuWriter_CMD"
license=('GPL3')
groups=()
depends=('libusb')
makedepends=("gcc" "git" "automake" "pkgconfig")
checkdepends=()
optdepends=()
provides=('NUC970_NuWriter_CMD')
conflicts=(${pkgname%-git})
replaces=()
backup=()
options=('!strip')
install=
changelog=
source=("${pkgname%-git}::git+${url}.git")
noextract=()
sha256sums=('SKIP')
#validpgpkeys=()
pkgver() {
cd "${srcdir}/${pkgname%-git}/"
# git describe --long --tags | sed 's/V//g;s/\([^-]*-g\)/r\1/;s/-/./g'
git describe --always | sed 's|-|.|g'
}
build() {
cd "${srcdir}/${pkgname%-git}"
autoreconf -f -i
./configure
# ./configure --prefix=$PWD/install
make
}
package() {
cd "${srcdir}/${pkgname%-git}"
# make install
install -Dm0755 "nuwriter" "${pkgdir}/usr/bin/${pkgname%-git}"
install -Dm0755 "99-nuvoton_isp.rules" "${pkgdir}/usr/lib/udev/rules.d/99-nuvoton_isp.rules"
install -dm0755 "${pkgdir}/usr/share/${pkgname%-git}"
cp -rv nudata "${pkgdir}/usr/share/${pkgname%-git}"
}
反馈的问题:
- 内置的 automake 版本是使用 automake-1.15 生成。现 Arch 上版本是 1.16 需要使用 `autoreconf -f -i` 更新配置文件,其他 Linux 版本编译不过,也可以使用 `autoreconf -f -i` 更新 automake 文件
- `./configure --prefix=$PWD/install` 内的文件有缺失,需要更新。
- 串口配置文件安装后需要刷新 udev
sudo udevadm trigger
sudo udevadm control --reload-rules
- 可能会踩的坑 Ubuntu 等需要将 $USER 加到 串口组(uucp) 里面(新版本一般是 uucp ,旧版本可能是其他的,使用 ls -lsh /dev/ttyUSB* 查看设备所在组。如果在 Linux 下调试时遇到串口不通或者提示没权限,把用户加入串口设备组里面,后重启电脑试试。示例:
❯ ls -lash /dev/ttyS0 0 crwxrwxrwx 1 root uucp 4, 64 Feb 15 19:09 /dev/ttyS0
❯ sudo gpasswd -a `whoami` uucp
[sudo] taotieren 的密码:
正在将用户“taotieren”加入到“uucp”组中
❯ groups `whoami`
wheel uucp vboxusers taotieren
❯ reboot
编写 nuc980-nuwriter 的 PKGBUILD 已经上传到 Arch Linux 的 AUR 仓库 [nuc980-nuwriter-git](https://aur.archlinux.org/packages/nuc980-nuwriter-git)。
可以通过 AUR 工具下载安装,如:yay
yay -S nuc980-nuwriter-git
PKGBUILD 源码
# Maintainer: taotieren <admin@taotieren.com>
pkgname=nuc980-nuwriter-git
pkgver=b7ef934
pkgrel=1
epoch=
pkgdesc="The Nu-writer Command Tool is a linux console application consisting of functions to access storage(eg. DRAM,NAND,SPINOR,SPINAND,SD) in a NUC980 family processors"
arch=('any')
url="https://gitee.com/OpenNuvoton/NUC980_NuWriter_CMD"
license=('GPL3')
groups=()
depends=('libusb')
makedepends=("gcc" "git" "automake" "pkgconfig")
checkdepends=()
optdepends=()
provides=('NUC980_NuWriter_CMD')
conflicts=(${pkgname%-git})
replaces=("nuwriter-git")
backup=()
options=('!strip')
install=
changelog=
source=("${pkgname%-git}::git+${url}.git")
noextract=()
sha256sums=('SKIP')
#validpgpkeys=()
pkgver() {
cd "${srcdir}/${pkgname%-git}/"
# git describe --long --tags | sed 's/V//g;s/\([^-]*-g\)/r\1/;s/-/./g'
git describe --always | sed 's|-|.|g'
}
build() {
cd "${srcdir}/${pkgname%-git}"
autoreconf -f -i
# ./configure --prefix=$PWD/install
make
}
package() {
cd "${srcdir}/${pkgname%-git}"
# make install
install -Dm0755 nuwriter "${pkgdir}/usr/bin/${pkgname%-git}"
install -Dm0755 run.ini "${pkgdir}/usr/share/nudata/run.ini"
cp -rv nudata "${pkgdir}/usr/share/"
}
反馈的问题:
- 内置的 automake 版本是使用 automake-1.15 生成。现 Arch 上版本是 1.16 需要使用 `autoreconf -f -i` 更新配置文件,其他 Linux 版本编译不过,也可以使用 `autoreconf -f -i` 更新 automake 文件
- `./configure --prefix=$PWD/install` 内的文件有缺失,需要更新。
使用 Arch Linux 的时候遇到需要给 STC 的 MCU 烧录程序。
众所周知 STC 官方的 STC-ISP 不支持 Linux 系统。
现在网上也有很多 STC 的烧录软件,还有有的 十几年没更新过。
于是想了想能不能用 wine 来跑 STC-ISP。
STC-ISP 单个软件集成的东西比较多,所需要的依赖相当少,
于是就写个了 PKGBUILD ,直接上源码
# Maintainer: taotieren <admin@taotieren.com>
pkgname=stc-isp-wine
pkgver=v6.88L
pkgrel=1
pkgdesc="Wine STC-ISP 下载编程烧录软件"
arch=('any')
url="http://www.stcmcudata.com"
license=('unknow')
provides=('STC-ISP')
conflicts=( ${pkgname%-wine} 'stc-isp-bin')
replaces=('stc-isp-bin')
depends=('wine' 'wqy-microhei' 'winetricks')
optdepends=("wine-mono-gecko-version-fix: Fix the version numbers of wine-mono and wine-gecko files to solve the dialog box that pops up when starting wine.")
makedepends=('unarchiver')
backup=()
options=('!strip')
install=${pkgname}.install
source=("${pkgname%-wine}-${pkgver}.zip::${url}/STCISP/${pkgname%-wine}-15xx-${pkgver}.zip"
"${pkgname}.install")
sha256sums=('741c7375c173c187a4172156dc2d6eb1f7b9196b0757bad6a0e5fd0da6a2ba50'
'b2a93211b74f6e23a9c4dd508c65bf374c0a03c11174092f6ccec3e9194e47a6')
noextract=("${pkgname%-wine}-${pkgver}.zip")
prepare() {
unar -e GBK "${srcdir}/${pkgname%-wine}-${pkgver}.zip"
}
package() {
export LC_CTYPE="zh_CN.UTF-8"
_stc="opt/STCMCU"
_ftname="wqy-microhei.ttc"
install -dm0755 "${pkgdir}/${_stc}/${pkgname%-wine}"
cp -ra "${srcdir}/${pkgname%-wine}-${pkgver}/${pkgname%-wine}-${pkgver}.exe" "${pkgdir}/${_stc}/${pkgname%-wine}"
find "${pkgdir}/${_stc}" -type f -exec chmod 644 "{}" \;
find "${pkgdir}/${_stc}" -type d -exec chmod 755 "{}" \;
install -Dm0644 /dev/stdin "${pkgdir}/${_stc}/${pkgname%-wine}/regpatch.reg" << EOF
REGEDIT4
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"Lucida Sans Unicode"="${_ftname}"
"Microsoft Sans Serif"="${_ftname}"
"MS Sans Serif"="${_ftname}"
"Tahoma"="${_ftname}"
"Tahoma Bold"="${_ftname}"
"SimSun"="${_ftname}"
"Arial"="${_ftname}"
"Arial Black"="${_ftname}"
"Lucida Sans Unicode"=str(7):"${_ftname}"
"Microsoft Sans Serif"=str(7):"${_ftname}"
"Tahoma"=str(7):"${_ftname}"
"Lucida Sans Unicode"="${_ftname}"
"Microsoft Sans Serif"="${_ftname}"
"Microsoft YaHei"="${_ftname}"
"微软雅黑"="${_ftname}"
"宋体"="${_ftname}"
"新細明體"="${_ftname}"
"DFKai-SB"="${_ftname}"
"FangSong"="${_ftname}"
"KaiTi"="${_ftname}"
"Microsoft JhengHei"="${_ftname}"
"Microsoft YaHei"="${_ftname}"
"MingLiU"="${_ftname}"
"NSimSun"="${_ftname}"
"PMingLiU"="${_ftname}"
"SimHei"="${_ftname}"
"SimKai"="${_ftname}"
"SimSun"="${_ftname}"
[HKEY_CURRENT_USER\Software\Wine\X11 Driver]
"ClientSideAntiAliasWithCore"="N"
"ClientSideAntiAliasWithRender"="N"
"ClientSideWithRender"="N"
[HKEY_CURRENT_USER\Control Panel\Desktop]
"FontSmoothing"="2"
"FontSmoothingType"=dword:00000002
"FontSmoothingGamma"=dword:00000578
"FontSmoothingOrientation"=dword:00000001
[HKEY_LOCAL_MACHINE\Software\Wine\Ports]
"COM1"="/dev/ttyUSB0"
"COM2"="/dev/ttyUSB1"
"COM3"="/dev/ttyUSB2"
"COM4"="/dev/ttyUSB3"
"COM5"="/dev/ttyUSB4"
"COM6"="/dev/ttyUSB5"
"COM7"="/dev/ttyUSB6"
"COM8"="/dev/ttyUSB7"
"COM9"="/dev/ttyUSB8"
"COM10"="/dev/ttyACM0"
"COM11"="/dev/ttyACM1"
"COM12"="/dev/ttyACM2"
"COM13"="/dev/ttyACM3"
"COM14"="/dev/ttyACM4"
"COM15"="/dev/ttyACM5"
"COM16"="/dev/ttyACM6"
"COM17"="/dev/ttyACM7"
"COM18"="/dev/ttyACM8"
"COM19"="/dev/ttyACM9"
EOF
install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/${pkgname%-wine}" << EOF
#!/bin/bash
export LC_CTYPE="zh_CN.UTF-8"
export WINEARCH=win32 WINEPREFIX="$HOME/.${pkgname%-wine}/wine"
if [ ! -d "$HOME"/.${pkgname%-wine} ] ; then
mkdir -p "$HOME"/.${pkgname%-wine}/wine || exit 1
cp -r /${_stc}/${pkgname%-wine}/regpatch.reg "$HOME"/.${pkgname%-wine}/wine || exit 1
ln -s /${_stc}/${pkgname%-wine}/${pkgname%-wine}-${pkgver}.exe "$HOME"/.${pkgname%-wine}/${pkgname%-wine} || exit 1
fi
if [ ! -f "$HOME"/.${pkgname%-wine}/regpatchok ] ; then
touch "$HOME"/.${pkgname%-wine}/regpatchok || exit 1
cd "$HOME"/.${pkgname%-wine}/wine && regedit regpatch.reg && wineserver -k
winetricks -q mfc42
fi
wine "$HOME"/.${pkgname%-wine}/${pkgname%-wine} "\$@"
EOF
install -Dm0644 /dev/stdin "${pkgdir}/usr/share/applications/${pkgname%-wine}.desktop" << EOF
[Desktop Entry]
Name=${pkgname%-wine}
Name[zh_CN]=${pkgname%-wine}
Comment=${pkgdesc}
#MimeType=application/x-${pkgname%-wine};
Exec=${pkgname%-wine} %f
Type=Application
Categories=Development;Tool;
Terminal=false
Icon=${pkgname%-wine}.png
Version=${pkgver}
EOF
}
解决了以下问题:
- 处理 STC-ISP 运行环境 -》 /usr/bin/${pkgname%-wine}
- STC-ISP 运行时字体显示方框 -> 写了个注册表导入了 wqy-microhei 字体支持
- 串口号映射 -> 在注册表中处理
- dotnet 运行环境 -> winetricks -q mfc42
- 新版本的 STC-ISP 多了中英文切换,处理语言切换时中文字体乱码 -》 export LC_CTYPE="zh_CN.UTF-8"
- 增加了 Linux 桌面文件 -》/usr/share/applications/${pkgname%-wine}.desktop
- 删除了自带的驱动程序 -》 linux 下安装 win 的驱动,也安装不上,留着也没用,一些串口驱动在 Linux 是能自动识别,使用 lsusb 查看即可,如果没有自行安装驱动,
可能会踩的坑 Ubuntu 等需要将 $USER 加到 串口组(uucp) 里面(新版本一般是 uucp ,旧版本可能是其他的,使用 ls -lsh /dev/ttyUSB* 查看设备所在组。如果在 Linux 下调试时遇到串口不通或者提示没权限,把用户加入串口设备组里面,后重启电脑试试。示例:
❯ ls -lash /dev/ttyS0 0 crwxrwxrwx 1 root uucp 4, 64 Feb 15 19:09 /dev/ttyS0
❯ sudo gpasswd -a `whoami` uucp
[sudo] taotieren 的密码:
正在将用户“taotieren”加入到“uucp”组中
❯ groups `whoami`
wheel uucp vboxusers taotieren
❯ reboot
效果图
现在打完包后找不到 STC-ISP 的板子测试了
已经上传到 Arch Linux 的 AUR 仓库:https://aur.archlinux.org/packages/stc-isp-wine
Arch 系用户可以通过 aur 工具来安装,例如:yay
yay -Sy stc-isp-wine
其他 Linux 想用 wine 运行 STC-ISP 可以参考这里的处理方法
taotieren 说:mark。
资料能分享到其他平台吗?可以的。
文档同步到仓库了:https://git.code.tencent.com/taotieren/KiCad_CN/tree/master/%E5%85%A8%E5%BF%97D1%20D1s%20RISC-V(%E5%9F%BA%E4%BA%8E%E5%B9%B3%E5%A4%B4%E5%93%A5C906)%20%E5%93%AA%E5%90%92%E5%BC%80%E5%8F%91%E6%9D%BF%E8%B6%85%E5%85%A8%E8%B5%84%E6%96%99%E5%90%88%E9%9B%86
也方便大家下载
taotieren 说:@windoufu 使用开源 EDA KiCad v5.99+ 版本可以打开
win10 下载官网kicad-5.1.10_1-i686.exe后还是打不开,帮忙转个pdf吧,感谢
tf2sdnand_jtag.pdf
你下载的是 kicad v5.1.10 版本当然打不开啊。
https://mirrors.tuna.tsinghua.edu.cn/kicad/windows/nightly/
这个里面才是 v5.99 测试版。
目前kicad6.0正式版还没出来吗,官网刚更新到5.10
可以到国内镜像站( https://gitee.com/KiCAD-CN/kicad-cn-forum/blob/master/zh_CN/KiCad_install.md#kicad-%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F ) 下载 5.99 测试版体验。有问题也能及时反馈。
插件仓库:https://gitee.com/KiCAD-CN/KiCadPythonActionsPlugins
使用的是 Git 的子模块方式建立的仓库,安装和使用参考仓库内的说明。脚本还没写完,准备用 Python 重写。
BezierTrack @ 1499439
Update KiCad Python plugin actions
3个月前
HierPlace @ 2df1420
Update KiCad Python plugin actions
3个月前
InteractiveHtmlBom @ f447335
Update KiCad Python plugin actions
3个月前
JLCKicadTools @ 4f3c165
Update JLCKicadTools
3个月前
KiBuzzard @ e7d3232
Update KiCad Python plugin actions
3个月前
Kicad_action_plugins @ 2d2c665
Update KiCad Python plugin actions
3个月前
RF-tools-KiCAD @ 6e3c3dd
Update KiCad Python plugin actions
3个月前
WireIt @ 85d6909
Update KiCad Python plugin actions
3个月前
diffpads @ 9170619
Update KiCad Python plugin actions
3个月前
flexRoundingSuite @ b7a78b4
Update KiCad Python plugin actions
3个月前
gerber_to_order @ 29c9ad6
Update KiCad Python plugin actions
3个月前
kicad-action-scripts @ c863e5e
Update KiCad Python plugin actions
3个月前
kicad-action-tools @ 263bac8
Update KiCad Python plugin actions
3个月前
kicad-bga-tools @ 45ec903
Update KiCad Python plugin actions
3个月前
kicad-laser-stencil-plugin @ 6409f8e
Update KiCad Python plugin actions
3个月前
kicad-plugin-arrange-like-schematic @ 46b7555
Update KiCad Python plugin actions
3个月前
kicad-round-tracks @ d7af0de
Update KiCad Python plugin actions
3个月前
kicad-teardrops @ 901b4f5
Update KiCad Python plugin actions
3个月前
kicad-text-tool @ c0d9ff7
Update KiCad Python plugin actions
3个月前
kicad_align @ 5db378a
Update KiCad Python plugin actions
3个月前
原文地址: https://gitee.com/KiCAD-CN/kicad-cn-forum/blob/master/zh_CN/KiCad_plugin.md
常用插件整理
编号 插件名称 插件介绍 插件状态 插件支持的操作系统 备注
1 BezierTrack 贝塞尔曲线
2 CircularZone 圆型禁止布线或覆铜
3 diffpads 差分线圆滑处理
4 flexRoundingSuite VIA/PAD/Track 三个工具集合
5 HierPlace 整理零件分类并整齐摆放
6 InteractiveHtmlBom 生成动态 BOM
7 kicad_align 对齐焊盘
8 kicad_text_tool 轮廓字体文本放置工具 5.1.9 不可用
9 kicad_tools KiCad 生产文件生成器
10 kicad-action-scripts 圆形覆铜和过地孔集合
11 kicad-round-tracks 弧线布线插件 Windows 不可用
12 RF-tools 射频插件
13 spiki PCB 螺旋电感线生成器
14 teardrops 泪滴
15 toolbox 工具箱
16 ViaStitching 批量过孔
17 WireIt 直接在 PCB 中手工画导线
起因
随着从其他 EDA 转KiCad 的越来越多,为了使用方便,转换来自其他软件的 PCB 文件,在这里我总结了一下方法。其他软件如 OrCAD、PADS 、Cadence Allegro 等都可以通过 AD 转换成 KiCad 格式!把其他软件的 PCB 文件通过 Altium Designer 的输入向导导入 AD,然后根据下面方法转换成 KiCad 格式。 立创 EDA 可以直接导出 AD 格式!
用 AD 打开导出 P-CAD 格式,使用 [pcbnew( 独立版)][1] 导入。
使用 lc2kicad 转换。此工具是群里 RigoLigo 开发,是命令行工具,群文件仓库和群里有 exe 可执行文件,立创导出的 JSON 格式文件拖动到LC2KICAD工具即可转换。不支持原理图转换。
使用 Atok 工具转换,本工具由 KiCad 论坛 60 多岁的老爷子基于 altium2Kicad开发的,使用 C# 开发,带有用户使用界面,比较友好,可以把转换的 PCB 导出并生成 KiCad 封装库,可以提取 AD 封装的 3D 模型,还自动关联封装。只是目前还不支持原理图转换。此工具我已经上传到群文件。
使用 altium2kicad 工具转换,原理图和 PCB 都可以。使用 Perl 脚本开发,需要安装 Perl支持软件才能使用,不带界面。但可以转换 AD 的原理图和 PCB 文件。群文件找此工具。
使用最新版本的 kiCad 5.99 转换,原理图和 PCB 都可以。
[1]: PCBNEW 独立版,Linux 终端方式:Linux 可以直接在终端中运行 pcbnew 即可打开;Linux 通过桌面方式:在应用程序里面搜索 pcbnew 会显示一个 PCBNEW (独立版) 的标识。mac OS 同理。Windows 通过桌面方式:在开始菜单找到 KiCad 应用程序的分类文件夹 单击 PCBNEW 即可运行独立版 PCBNEW。
原文连接:https://gitee.com/KiCAD-CN/kicad-cn-forum/blob/master/zh_CN/KiCad_2_other_EDA.md
由于论坛不支持 markdown 编辑器,完整的排版再这里:
NXP 提供的 LPCScrypt 工具支持 Linux macOS 和 Windows
https://www.nxp.com/design/microcontrollers-developer-resources/lpcscrypt-v2-1-2:LPCSCRYPT
官网给的 Linux 版本的 LPCScrypt.deb.bin 工具看名称是 Debian/Ubuntu 衍生版才能安装使用,
我 Arch 用户或其他 Linux 发行版用户想使用怎么办?
---- 开始骚操作了------
1. 注册 NXP 官网下载相应的 Linux 版本文件
2. 用文本编辑器打开看了下里面的内容
前半部分是 shell 脚本 从 499 行开始就是乱码了
第 437 行有这个提示:offset=`head -n 498 "$0" | wc -c | tr -d " "`
推测 NXP 是使用 gzexe 进行了压缩和简单的加密处理
3. 开始 bin 解密
tail -n +499 lpcscrypt-2.1.2_57.x86_64.deb.bin > lpcscrypt-2.1.2_57.x86_64.deb
得到一个 deb 包(不知道是不是正常的 deb 包,进行下一步验证)
4. 解压 deb 包
bsdtar -xf lpcscrypt-2.1.2_57.x86_64.deb
解压成功(狗头保命
5. 解压 data.tar.gz
mkdir -p build
tar -xf data.tar.gz -C build
得到 NXP 的编译后的二进制文件
ls usr/local/lpcscrypt-2.1.2_57/
bin docs eula images probe_firmware scripts
6. 这下就能进行 AUR 打包处理了
编译 PKGBUILD 打包脚本
# Maintainer: taotieren <admin@taotieren.com>
# Contributor:
pkgname="lpcscrypt-bin"
pkgver=2.1.2
pkgrel=1
pkgdesc="LPCScrypt is the recommended tool for programming the latest versions of CMSIS-DAP and J-Link firmware onto boards with Link2/LPC-Link2 debug probes."
arch=("x86_64")
makedepends=('imagemagick')
depends=('jlink-software-and-documentation')
optdepends=()
conflicts=()
url="https://www.nxp.com/design/microcontrollers-developer-resources/lpcscrypt-v2-1-2:LPCSCRYPT"
license=('Commercial' 'Apache-2.0' 'BSD-4-clause' 'BSD-3-clause' 'LGPLV2.1' 'GPLV2' 'Zlib')
options=(!strip)
_pkgver_ext=${pkgver}_57
_pkg_file_name=${pkgname%-bin}-${_pkgver_ext}.${arch}.deb.bin
_deb_file_name=${pkgname%-bin}-${_pkgver_ext}.${arch}.deb
_DOWNLOADS_DIR=`xdg-user-dir DOWNLOAD`
if [ ! -f ${PWD}/${_pkg_file_name} ]; then
if [ -f $_DOWNLOADS_DIR/${_pkg_file_name} ]; then
ln -sfn $_DOWNLOADS_DIR/${_pkg_file_name} ${PWD}
else
msg2 ""
msg2 "The package can be downloaded here: "
msg2 "Please remember to put a downloaded package ${_pkg_file_name} into the build directory ${PWD} or $_DOWNLOADS_DIR"
msg2 ""
fi
fi
source=("local://${_pkg_file_name}")
sha256sums=('379c63b788a72e64571af870d760ad6b3be32e4c863d29ca58276f750e416750')
noextract=(${_pkg_file_name})
prepare(){
cd "$srcdir"
tail -n +499 ${_pkg_file_name} > ${_deb_file_name}
mkdir -p build
bsdtar xf ${_deb_file_name} -C build
bsdtar xf build/${_deb_file_name} -C build
}
package() {
cd "$srcdir"
msg2 'Installing LPCScrypt'
tar xf "build/data.tar.gz" -C "${pkgdir}/"
mv "${pkgdir}/lib" "${pkgdir}/usr"
msg2 'Instalation of binary file'
install -Dm0755 /dev/stdin "${pkgdir}/usr/bin/${pkgname%-bin}" <<END
#!/bin/sh
/usr/local/lpcscrypt-2.1.2_57/bin/lpcscrypt "\$@"
END
msg2 'Instalation of license file'
install -dm0755 "${pkgdir}/usr/share/licenses/${pkgname%-bin}/"
cp -rv "${pkgdir}/usr/local/lpcscrypt-2.1.2_57/eula" "${pkgdir}/usr/share/licenses/${pkgname%-bin}/"
}
#
# makepkg --printsrcinfo > .SRCINFO
#
# vim: set ts=8 sw=8 tw=0 noet:
7. 上传到 AUR 仓库
https://aur.archlinux.org/packages/lpcscrypt-bin/
基于晕哥这个使用 KiCad v5.99 进行二创:
https://gitee.com/Car_Smart/tf2sdnand_jtag/releases/v0.1
iBOM 信息
tf2sdnand_jtag_ibom_v0.1.zip
Greber 文件
tf2sdnand_jtag_gerber_v0.1.zip
这里有一个别人写好的脚本用起来更简单:
楼主 KiCad v6.0什么时候发布,这个软件现在用的越来越顺手了
原燃尽图是 2021.02
由于一些不好解决的 bug 往后推移了几次
现在有重构 Python 操作 API 的(计划是新的 Python 操作 API 要支持原理图和 PCB 操作脚本)燃尽图推迟到 7 月份了
目前社区也在谈论是否发行一个 v6.0-rc1 的版本
社区里面有国外的高校的教授准备将其作为教学 EDA 工具上报给学校备案 ,以便机房维护人员新增此软件。
v7 的功能版本支持轮廓字体了
楼主很用心,但我觉得既然这本书是写给新手看的,可不可以花点篇幅介绍一下我们为什么花时间完全用 GNU/Linux 工作呢?其实在我看来 Windows 下的 WSL2 已经很好用了,完全用 Linux 相比这个方案有什么好处呢?:/
有多个方面可以说。
1. 你的 Windows 系统是正版的吗?
2. 有遭受国内流氓厂家的骚扰吗?(内置各种全家桶 各种恶意推广软件。
3. 有经历过电脑中毒吗?
4. 你的安全问题有考虑过吗?
5. 你可能在大环境中放弃了自己的隐私。
6. 一些商业软件在 Win 下有各种和谐版本就没想过使用开源软件?
7. 并不是非要强迫你使用 Linux 系统?甚至你在大环境中都不知道现在的 Linux 发展到什么样了?甚至都不知道有开源?
8. 常年的白嫖下。有想过为开源做点贡献吗?
9. Linux 只是让你多一种选择!斯诺登的棱镜门事件怕不是已经忘的干干净净了。
10. Linux 的游戏能力大幅提升。使用 Lutris 游戏管理器能愉快玩各大主流平台的游戏。(腾讯游戏除外。为什么?自己想想就明白了。
...............
第一章 Deepin 桌面配置与技巧 11
1.1 Super+S 切换工作区 . . . . . . . . . . . . . . . . . . . . . 11
1.2 善用强大的 Super 键 . . . . . . . . . . . . . . . . . . . . . 11
1.3 启动器搜索支持拼音 . . . . . . . . . . . . . . . . . . . . . . 11
1.4 “自然滚动”与 macOS、Win10 一致体验 . . . . . . . . . . . . . 11
1.5 加速软件更新 . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.6 解决安装系统后更新失败 . . . . . . . . . . . . . . . . . . . . 11
1.7 预装系统安装应用商店 . . . . . . . . . . . . . . . . . . . . . 12
1.8 Chrome、VSCode 使用自定义标题栏 . . . . . . . . . . . . . . . 12
1.9 应用商店卸载软件失败 . . . . . . . . . . . . . . . . . . . . . 12
1.10 修改文件扩展名 . . . . . . . . . . . . . . . . . . . . . . . 12
1.11 删除不需要的文件打开方式 . . . . . . . . . . . . . . . . . . . 12
1.12 KWin 无法开启窗口特效 . . . . . . . . . . . . . . . . . . . 12
1.13 启动器隐藏不想看到的启动项 . . . . . . . . . . . . . . . . . . 12
1.14 创建数据盘 . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.15 启动器创建“我的世界”启动项 . . . . . . . . . . . . . . . . . 13
1.16 VirtualBox 支持 USB2.0/3.0 设备 . . . . . . . . . . . . . 13
1.17 简易文字编辑器 . . . . . . . . . . . . . . . . . . . . . . . 14
1.18 调整桌面字体大小 . . . . . . . . . . . . . . . . . . . . . . 14
1.19 安装字体的另一种方法 . . . . . . . . . . . . . . . . . . . . 14
1.20 将当前位置加入书签 . . . . . . . . . . . . . . . . . . . . . 14
1.21 重置默认打开方式 . . . . . . . . . . . . . . . . . . . . . . 14
1.22 Nemo 文件管理器 . . . . . . . . . . . . . . . . . . . . . . 14
1.23 恢复默认文件管理器 . . . . . . . . . . . . . . . . . . . . . 14
1.24 VLC 视频播放器 . . . . . . . . . . . . . . . . . . . . . . . 15
1.25 audacious 音频播放器 . . . . . . . . . . . . . . . . . . . 15
第二章 Deepin 常见终端命令行 17
2.1 常用 Linux 文件目录命令 . . . . . . . . . . . . . . . . . . . 17
2.2 更换主机名 . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 找到命令所在路径和所属软件包 . . . . . . . . . . . . . . . . . 17
2.4 APT 软件包管理扩展用法 . . . . . . . . . . . . . . . . . . . . 18
2.5 查询系统信息 . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6 tar 命令行压缩解压 . . . . . . . . . . . . . . . . . . . . . 18
2.7 7z 命令行压缩解压 . . . . . . . . . . . . . . . . . . . . . . 19
2.8 unar 万能解压 . . . . . . . . . . . . . . . . . . . . . . . . 19
2.9 查找删除重复文件 . . . . . . . . . . . . . . . . . . . . . . . 19
2.10 打印目录结构 . . . . . . . . . . . . . . . . . . . . . . . . 19
第三章 Deepin 硬件与驱动 21
3.1 安装 Nvidia 显卡闭源驱动 . . . . . . . . . . . . . . . . . . 21
3.2 双显卡用户驱动 Nvidia 独显 . . . . . . . . . . . . . . . . . 21
3.3 更新官方 Nvidia 显卡驱动 . . . . . . . . . . . . . . . . . . 22
3.4 老 Nvidia 显卡安装驱动 . . . . . . . . . . . . . . . . . . . 22
3.5 驱动显卡后黑屏或卡 LOGO . . . . . . . . . . . . . . . . . . . 22
3.6 双显卡驱动大黄蜂方案 . . . . . . . . . . . . . . . . . . . . . 22
3.7 显卡驱动与性能测试 . . . . . . . . . . . . . . . . . . . . . . 23
3.8 HP 打印机驱动 . . . . . . . . . . . . . . . . . . . . . . . . 23
3.9 HP 打印机备用驱动 . . . . . . . . . . . . . . . . . . . . . . 23
3.10 支持 Linux 的打印机 . . . . . . . . . . . . . . . . . . . . 23
3.11 触控版、无线网卡和蓝牙不正常 . . . . . . . . . . . . . . . . . 24
3.12 查询无线网卡型号 . . . . . . . . . . . . . . . . . . . . . . 24
3.13 无线网卡加速 . . . . . . . . . . . . . . . . . . . . . . . . 24
3.14 无线网卡解锁或蓝牙加锁 . . . . . . . . . . . . . . . . . . . 24
3.15 判断缺少哪些硬件驱动 . . . . . . . . . . . . . . . . . . . . 24
3.16 查询声卡信息 . . . . . . . . . . . . . . . . . . . . . . . . 24
第四章 Deepin 系统备份与还原 25
4.1 系统快照,折腾无忧 . . . . . . . . . . . . . . . . . . . . . . 25
4.2 硬盘或分区克隆及恢复 . . . . . . . . . . . . . . . . . . . . . 25
4.3 备份还原硬盘分区表 . . . . . . . . . . . . . . . . . . . . . . 25
4.4 再生龙启动盘制作 . . . . . . . . . . . . . . . . . . . . . . . 26
4.5 再生龙分区备份恢复到新硬盘 . . . . . . . . . . . . . . . . . . 26
4.6 再生龙备份恢复到大容量磁盘 . . . . . . . . . . . . . . . . . . 26
4.7 备份常见的用户配置 . . . . . . . . . . . . . . . . . . . . . . 27
4.8 备份还原硬盘 MBR . . . . . . . . . . . . . . . . . . . . . . 27
第五章 Deepin 系统维护与技巧 29
5.1 开机进入命令行 . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 主目录被误删除的恢复方法 . . . . . . . . . . . . . . . . . . . 29
5.3 解决与 Windows 时间不同步 . . . . . . . . . . . . . . . . . . 29
5.4 删除不需要的旧内核 . . . . . . . . . . . . . . . . . . . . . . 29
5.5 清除已卸载软件遗留配置 . . . . . . . . . . . . . . . . . . . . 29
5.6 假死后安全重启系统 . . . . . . . . . . . . . . . . . . . . . . 30
5.7 进程相关命令 . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.8 查看与同步 GPT 分区 UUID . . . . . . . . . . . . . . . . . . 30
5.9 修改分区 UUID . . . . . . . . . . . . . . . . . . . . . . . . 30
5.10 sfdisk 创建磁盘 GPT 分区 . . . . . . . . . . . . . . . . . 30
5.11 修改磁盘卷标 . . . . . . . . . . . . . . . . . . . . . . . . 31
5.12 跨平台可读写文件系统 exfat 的格式化 . . . . . . . . . . . . . 31
5.13 修改系统运行级别 . . . . . . . . . . . . . . . . . . . . . . 31
5.14 离线安装软件 . . . . . . . . . . . . . . . . . . . . . . . . 32
5.15 升级操作系统内核 . . . . . . . . . . . . . . . . . . . . . . 33
5.16 自行编译内核 . . . . . . . . . . . . . . . . . . . . . . . . 33
5.17 重置所有用户配置 . . . . . . . . . . . . . . . . . . . . . . 33
5.18 终端 Ctrl+R 执行历史命令 . . . . . . . . . . . . . . . . . . 34
5.19 更换用户名及家目录 . . . . . . . . . . . . . . . . . . . . . 34
5.20 配置命令行默认 Python 版本 . . . . . . . . . . . . . . . . . 34
5.21 软件包管理技巧 . . . . . . . . . . . . . . . . . . . . . . . 34
5.21.1 禁止某软件包升级 . . . . . . . . . . . . . . . . . . . 34
5.21.2 允许某软件包升级 . . . . . . . . . . . . . . . . . . . 35
5.21.3 修正 dpkg -i *.deb 安装后缺少依赖 . . . . . . . . . . 35
5.21.4 强制清除 . . . . . . . . . . . . . . . . . . . . . . . 35
5.22 从源码编译安装软件包 . . . . . . . . . . . . . . . . . . . . 35
5.22.1 通过源码编译升级软件包 . . . . . . . . . . . . . . . . 35
5.22.2 基于源码编译 Shadowsocks-Qt5 . . . . . . . . . . . . 35
5.23 文件或目录权限管理 . . . . . . . . . . . . . . . . . . . . . 36
5.24 VirtualBox 虚拟机减肥 . . . . . . . . . . . . . . . . . . . 36
5.25 安装 TeXLive 最新版 . . . . . . . . . . . . . . . . . . . . 36
5.26 支持多架构:64 位系统安装 32 位软件 . . . . . . . . . . . . . 36
5.27 Backports 新版本软件安装 . . . . . . . . . . . . . . . . . . 36
5.28 Git 导出 Windows 行尾源码 . . . . . . . . . . . . . . . . . 37
5.29 架设 TFTP 服务器 . . . . . . . . . . . . . . . . . . . . . . 37
5.30 安装字体查看器 . . . . . . . . . . . . . . . . . . . . . . . 37
5.31 nmap 端口扫描 . . . . . . . . . . . . . . . . . . . . . . . 37
5.32 dns 和 arp 常用命令 . . . . . . . . . . . . . . . . . . . . 38
5.33 chroot 切换后访问网络 . . . . . . . . . . . . . . . . . . . 38
5.34 tty 文本模式连接 wifi . . . . . . . . . . . . . . . . . . . 38
5.35 调整 GPT 磁盘分区顺序 . . . . . . . . . . . . . . . . . . . 38
5.36 修改 SSH 端口号 . . . . . . . . . . . . . . . . . . . . . . 38
5.37 利用 ssh 登陆服务器 . . . . . . . . . . . . . . . . . . . . 38
5.38 利用 sshfs 挂载主机文件系统 . . . . . . . . . . . . . . . . . 39
5.39 scp 在服务器和本地间传送文件 . . . . . . . . . . . . . . . . 39
5.40 开机出现 Firmware Bug 日志 . . . . . . . . . . . . . . . . 39
5.41 ShadowSocks 代理上网 . . . . . . . . . . . . . . . . . . . 39
5.42 不重启切换终端与桌面 . . . . . . . . . . . . . . . . . . . . 39
5.43 查询系统服务 . . . . . . . . . . . . . . . . . . . . . . . . 40
5.44 查询服务依赖 . . . . . . . . . . . . . . . . . . . . . . . . 40
5.45 创建服务延时执行命令 . . . . . . . . . . . . . . . . . . . . 40
第六章 Deepin 办公与生产力 41
6.1 必备的 WPS 兼容字体包 . . . . . . . . . . . . . . . . . . . . 41
6.2 PDF 文件压缩 . . . . . . . . . . . . . . . . . . . . . . . . 41
6.3 卸载搜狗输入法,改用 Google 拼音 . . . . . . . . . . . . . . . 41
6.4 安装中州韵 fcitx-rime 输入法 . . . . . . . . . . . . . . . . 42
6.5 安装中州韵 rime-ibus 输入法 . . . . . . . . . . . . . . . . . 42
6.6 输入法无法开机自启动 . . . . . . . . . . . . . . . . . . . . . 43
6.7 解决中州韵偶尔无法输入中文 . . . . . . . . . . . . . . . . . . 43
6.8 搜狗输入法解决内存泄露 . . . . . . . . . . . . . . . . . . . . 43
6.9 Blender 视频剪辑多核渲染插件 . . . . . . . . . . . . . . . . . 43
6.10 Blender 视频剪辑多核渲染崩溃处置 . . . . . . . . . . . . . . 44
6.11 ffmpeg 音频视频编码 . . . . . . . . . . . . . . . . . . . . 44
6.11.1 ffmpeg 视频转换 . . . . . . . . . . . . . . . . . . . 44
6.11.2 批量编码转换 . . . . . . . . . . . . . . . . . . . . . 44
6.11.3 ffmpeg 视频连接 . . . . . . . . . . . . . . . . . . . 45
6.11.4 ffmpeg 提取音频 . . . . . . . . . . . . . . . . . . . 45
6.11.5 ffmpeg 视频混合音频 . . . . . . . . . . . . . . . . . 45
6.11.6 ffmpeg 视频合并音频 . . . . . . . . . . . . . . . . . 45
6.11.7 ffmpeg 截取视频 . . . . . . . . . . . . . . . . . . . 45
6.11.8 ffmpeg 指定时间合并 . . . . . . . . . . . . . . . . . 45
6.11.9 ffmpeg 调整播放速度 . . . . . . . . . . . . . . . . . 46
第七章 Deepin 启动与多系统 47
7.1 开机画面卡死卡桌面或者黑屏 . . . . . . . . . . . . . . . . . . 47
7.2 启动后桌面空白,任务栏消失 . . . . . . . . . . . . . . . . . . 47
7.3 系统启动分析 . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.4 检查启动失败服务 . . . . . . . . . . . . . . . . . . . . . . . 47
7.5 查看开机日志 . . . . . . . . . . . . . . . . . . . . . . . . . 48
7.6 了解用户登陆情况 . . . . . . . . . . . . . . . . . . . . . . . 48
7.7 利用系统安装盘进 Live 模式 . . . . . . . . . . . . . . . . . . 48
7.8 Live 模式修复 GRUB 引导 . . . . . . . . . . . . . . . . . . . 48
7.9 GRUB 维护技巧 . . . . . . . . . . . . . . . . . . . . . . . . 49
7.9.1 设置默认系统为用户选择 . . . . . . . . . . . . . . . . . 49
7.9.2 隐藏启动菜单 . . . . . . . . . . . . . . . . . . . . . 49
7.10 禁止 GRUB 检测其它系统 . . . . . . . . . . . . . . . . . . . 49
7.11 屏蔽开关机屏幕日志 . . . . . . . . . . . . . . . . . . . . . 49
7.12 开机关机巨大 LOGO . . . . . . . . . . . . . . . . . . . . . 50
7.13 修正启动或关机界面分辨率 . . . . . . . . . . . . . . . . . . . 50
7.14 Ventoy 制作多系统启动盘 . . . . . . . . . . . . . . . . . . 50
7.15 Win10 USB 启动盘制作 . . . . . . . . . . . . . . . . . . . 50
7.16 安装 Deepin 与 Windows 双系统 . . . . . . . . . . . . . . . 51
7.17 双系统修复 Windows EFI . . . . . . . . . . . . . . . . . . 51
7.18 Windows 系统读写 EFI 分区 . . . . . . . . . . . . . . . . . 51
7.19 制作 USB 启动盘 . . . . . . . . . . . . . . . . . . . . . . 51
7.20 EFI 引导分区不要删除 ubuntu . . . . . . . . . . . . . . . . 52
7.21 误删 EFI 分区后的还原 . . . . . . . . . . . . . . . . . . . 52
7.22 恢复 Deepin 引导主题 . . . . . . . . . . . . . . . . . . . . 52
7.23 命令行查看 EFI 启动项 . . . . . . . . . . . . . . . . . . . 52
7.24 查看当前 EFI 启动项详情 . . . . . . . . . . . . . . . . . . . 53
7.25 删除重复的 EFI 启动项 . . . . . . . . . . . . . . . . . . . 53
7.26 调整 EFI 启动项顺序 . . . . . . . . . . . . . . . . . . . . 53
7.27 创建 EFI 启动项 . . . . . . . . . . . . . . . . . . . . . . 53
7.28 删除 EFI 启动项 . . . . . . . . . . . . . . . . . . . . . . 53
7.29 查看硬盘分区信息 . . . . . . . . . . . . . . . . . . . . . . 53
7.30 修复黑苹果 Clover 引导 . . . . . . . . . . . . . . . . . . . 53
7.31 Live 模式调整磁盘分区大小 . . . . . . . . . . . . . . . . . . 54
7.32 Live 模式防锁屏后无法登陆 . . . . . . . . . . . . . . . . . . 54
7.33 解决多系统启动缓慢 . . . . . . . . . . . . . . . . . . . . . 54
7.34 VirtualBox 从 U 盘启动 . . . . . . . . . . . . . . . . . . 54
第八章 Deepin 远程控制与共享 55
8.1 向日葵远程控制 . . . . . . . . . . . . . . . . . . . . . . . . 55
8.2 TeamViewer 远程控制 . . . . . . . . . . . . . . . . . . . . 55
8.3 AnyDesk 远程控制 . . . . . . . . . . . . . . . . . . . . . . 55
8.3.1 提高 AnyDesk 远程控制权限 . . . . . . . . . . . . . . . 55
8.3.2 AnyDesk 自动连接控制 . . . . . . . . . . . . . . . . . 55
8.3.3 禁止 AnyDesk 自启动 . . . . . . . . . . . . . . . . . 55
8.4 VNC 远程控制 . . . . . . . . . . . . . . . . . . . . . . . . 55
8.5 RDP 协议连接 Windows 远程桌面 . . . . . . . . . . . . . . . . 56
8.6 Linux 打印机共享 . . . . . . . . . . . . . . . . . . . . . . 56
8.7 Windows 打印机共享 . . . . . . . . . . . . . . . . . . . . . 56
8.8 Windows 云打印共享 . . . . . . . . . . . . . . . . . . . . . 56
第九章 Deepin 运行 Windows 软件 57
9.1 安装运行 Windows 绿色软件 . . . . . . . . . . . . . . . . . . 57
9.2 为大型 Windows 软件创建独立运行环境 . . . . . . . . . . . . . 57
9.3 修改 QQ 聊天窗口文字大小 . . . . . . . . . . . . . . . . . . . 57
9.4 双击运行 Windows 软件 . . . . . . . . . . . . . . . . . . . . 57
9.5 适配绿色版 Photoshop CC . . . . . . . . . . . . . . . . . . 58
9.6 卸载 Windows 软件 . . . . . . . . . . . . . . . . . . . . . 58
第十章 Deepin 疑难问题解答 59
10.1 安装 Deepin 时找不到 M.2 硬盘 . . . . . . . . . . . . . . . 59
10.2 应用程序假死或无响应 . . . . . . . . . . . . . . . . . . . . 59
10.3 禁用 IPv6 解决 QQ 图片显示 . . . . . . . . . . . . . . . . . 59
10.4 从 3D 游戏返回后屏幕闪烁 . . . . . . . . . . . . . . . . . . 59
10.5 关闭错误报警蜂鸣声 . . . . . . . . . . . . . . . . . . . . . 60
10.6 睡眠/休眠唤醒之后触摸板失灵 . . . . . . . . . . . . . . . . . 60
10.7 任务栏/启动器消失 . . . . . . . . . . . . . . . . . . . . . . 61
10.8 窗口无响应或系统卡顿 . . . . . . . . . . . . . . . . . . . . 61
10.9 创建 DEB 安装包 . . . . . . . . . . . . . . . . . . . . . . 61
第十一章 Deepin 终端操作技巧集锦 63
11.1 以管理员身份自启动 . . . . . . . . . . . . . . . . . . . . . 63
11.2 递归更改文件所有者 . . . . . . . . . . . . . . . . . . . . . 63
11.3 从指定类型文件中查找 . . . . . . . . . . . . . . . . . . . . 63
11.4 更好的搜索方法 . . . . . . . . . . . . . . . . . . . . . . . 63
11.5 将行末多个空行转换成一个空行 . . . . . . . . . . . . . . . . . 63
11.6 ls 只显示目录名 . . . . . . . . . . . . . . . . . . . . . . 63
11.7 ls 只显示文件 . . . . . . . . . . . . . . . . . . . . . . . 63
11.8 ls 显示软链接 . . . . . . . . . . . . . . . . . . . . . . . 64
11.9 为子目录和文件设置不同权限 . . . . . . . . . . . . . . . . . . 64
11.10 为指定类型文件设置可执行权限 . . . . . . . . . . . . . . . . 64
11.11 获取脚本文件所在路径 . . . . . . . . . . . . . . . . . . . . 64
11.12 批量文本替换 . . . . . . . . . . . . . . . . . . . . . . . 64
11.13 获取 CPU 个数并四则运算后导出环境变量 . . . . . . . . . . . . 64
11.14 命令行解压缩到指定目录 . . . . . . . . . . . . . . . . . . . 64
11.15 通过 git 实现跨平台的 grep 用法 . . . . . . . . . . . . . . 65
11.16 打印当前目录路径 . . . . . . . . . . . . . . . . . . . . . . 65
11.17 初始化当前用户配置 . . . . . . . . . . . . . . . . . . . . . 65
11.18 初始化 root 用户配置 . . . . . . . . . . . . . . . . . . . 65
11.19 查询命令软链接 . . . . . . . . . . . . . . . . . . . . . . . 65
11.20 top 命令技巧 . . . . . . . . . . . . . . . . . . . . . . . 65
11.21 查看指定行的内容 . . . . . . . . . . . . . . . . . . . . . . 65
11.22 搜索匹配多个关键词 . . . . . . . . . . . . . . . . . . . . . 66
11.23 字符串截取 . . . . . . . . . . . . . . . . . . . . . . . . 66
第十二章 ArchLinux DDE 折腾笔记 67
12.1 下载 Arch 安装镜像,阅读安装指南 . . . . . . . . . . . . . . 67
12.2 安装 1:连接网络 . . . . . . . . . . . . . . . . . . . . . . 67
12.3 安装 2:分区与挂载 . . . . . . . . . . . . . . . . . . . . . 67
12.4 安装 3:换国内源 . . . . . . . . . . . . . . . . . . . . . . 67
12.5 安装 4:安装与配置 . . . . . . . . . . . . . . . . . . . . . 68
12.6 安装 5:后期批处理 . . . . . . . . . . . . . . . . . . . . . 68
12.7 使用 LTS 内核提高稳定性 . . . . . . . . . . . . . . . . . . . 69
12.8 为 LTS 内核安装 dkms 后缀包 . . . . . . . . . . . . . . . . 70
12.9 安装 NVIDIA 显卡驱动 . . . . . . . . . . . . . . . . . . . . 70
12.10 更多软件安装 . . . . . . . . . . . . . . . . . . . . . . . 70
12.11 pacman 常见用法 . . . . . . . . . . . . . . . . . . . . . 70
12.12 清除孤儿包 . . . . . . . . . . . . . . . . . . . . . . . . 71
12.13 yay 替代 pacman . . . . . . . . . . . . . . . . . . . . . 71
12.14 yay 扩展用法 . . . . . . . . . . . . . . . . . . . . . . . 71
12.15 yay 缓存路径 . . . . . . . . . . . . . . . . . . . . . . . 71
12.16 免密码挂载分区 . . . . . . . . . . . . . . . . . . . . . . . 71
12.17 备用 Nemo 文件管理器 . . . . . . . . . . . . . . . . . . . 72
12.18 外部磁盘挂载改/media/$USER . . . . . . . . . . . . . . . . 72
12.19 删除不再需要的软件 . . . . . . . . . . . . . . . . . . . . . 72
12.20 禁止无密码授权 . . . . . . . . . . . . . . . . . . . . . . . 72
12.21 禁止 root 用户登陆 . . . . . . . . . . . . . . . . . . . . 72
第十三章 LMDE 4 折腾笔记 73
13.1 LMDE 安装与简介 . . . . . . . . . . . . . . . . . . . . . . 73
13.2 注释 Debian 官方安全源 . . . . . . . . . . . . . . . . . . . 73
13.3 安装中文输入法 . . . . . . . . . . . . . . . . . . . . . . . 73
13.4 安装中州韵输入法 . . . . . . . . . . . . . . . . . . . . . . 73
13.5 免密码挂载分区 . . . . . . . . . . . . . . . . . . . . . . . 73
13.6 卸载 LibreOffice,更换 WPS . . . . . . . . . . . . . . . . 73
第十四章 Debian 10 折腾笔记 75
14.1 自定义安装 GNOME 桌面 . . . . . . . . . . . . . . . . . . . 75
14.2 Debian Shell 连接 wifi . . . . . . . . . . . . . . . . . . 75
14.3 更换国内软件源 . . . . . . . . . . . . . . . . . . . . . . . 75
14.4 终端命令自动完成 . . . . . . . . . . . . . . . . . . . . . . 76
14.5 驱动无线网卡 . . . . . . . . . . . . . . . . . . . . . . . . 76
14.6 驱动 Nvidia 显卡 . . . . . . . . . . . . . . . . . . . . . 76
14.7 安装中州韵 rime-ibus 输入法 . . . . . . . . . . . . . . . . 76
14.8 为终端设置 Ctrl+Alt+T 快捷键 . . . . . . . . . . . . . . . . 76
14.9 启用触摸板轻拍以点击 . . . . . . . . . . . . . . . . . . . . 76
14.10 启用触摸板双指滚动 . . . . . . . . . . . . . . . . . . . . . 76
14.11 重启 GNOME Shell . . . . . . . . . . . . . . . . . . . . . 77
14.12 启用 macOS 风格桌面 . . . . . . . . . . . . . . . . . . . . 77
14.13 启用 Windows 风格桌面 . . . . . . . . . . . . . . . . . . . 77
14.14 NetworkManager 托管网络 . . . . . . . . . . . . . . . . . 77
14.15 显示托盘图标 . . . . . . . . . . . . . . . . . . . . . . . 77
14.16 免密码挂载分区 . . . . . . . . . . . . . . . . . . . . . . . 77
14.17 Backport 软件安装 . . . . . . . . . . . . . . . . . . . . 77
14.18 Debian 急救模式修复 GRUB 引导 . . . . . . . . . . . . . . . 78
第十五章 Ubuntu 20.04 LTS 折腾笔记 79
15.1 Ubuntu 加速安装进程 . . . . . . . . . . . . . . . . . . . . 79
15.2 更换国内软件源 . . . . . . . . . . . . . . . . . . . . . . . 79
15.3 安装中州韵输入法 . . . . . . . . . . . . . . . . . . . . . . 79
15.4 卸载 Snap,更换商店 . . . . . . . . . . . . . . . . . . . . 79
15.5 卸载 LibreOffice,换 WPS . . . . . . . . . . . . . . . . . 79
15.6 驱动独立显卡 . . . . . . . . . . . . . . . . . . . . . . . . 80
15.7 更多选项优化 . . . . . . . . . . . . . . . . . . . . . . . . 80
15.8 添加与卸载 PPA 源 . . . . . . . . . . . . . . . . . . . . . 80
第十六章 更多笔记·部分已过时 81
16.1 LightDM 配置维护 . . . . . . . . . . . . . . . . . . . . . 81
16.1.1 修改 lightdm 登陆分辨率 . . . . . . . . . . . . . . . 81
16.1.2 解决 lightdm 不加载.profile . . . . . . . . . . . . 81
16.1.3 lightdm 用户自动登陆 . . . . . . . . . . . . . . . . 81
16.2 屏幕亮度修正 . . . . . . . . . . . . . . . . . . . . . . . . 81
16.2.1 方法一 . . . . . . . . . . . . . . . . . . . . . . . . 81
16.2.2 方法二 . . . . . . . . . . . . . . . . . . . . . . . . 82
16.3 创建 Android 可连接的 WIFI 热点 . . . . . . . . . . . . . . 82
16.4 Wine 配置方法 . . . . . . . . . . . . . . . . . . . . . . . 83
16.4.1 配置 Wine 纯净版 . . . . . . . . . . . . . . . . . . 83
16.4.2 彻底清理 Wine . . . . . . . . . . . . . . . . . . . . 83
16.4.3 Wine 调用批处理时字体错误处理 . . . . . . . . . . . . . 83
16.4.4 64 位系统,通过 Wine 模拟纯 32 位 Windows . . . . . . 84
16.4.5 英文系统安装 Wine 及中文支持 . . . . . . . . . . . . . 84
16.5 MlDonkey 选项设置 . . . . . . . . . . . . . . . . . . . . . 84
Rust 程序设计语言(第二版 & 2018 edition)简体中文版
目录
入门指南
Introduction1.1
入门指南1.2
安装1.2.1
Hello, World!1.2.2
Hello, Cargo!1.2.3
猜猜看游戏教程1.3
常见编程概念1.4
变量与可变性1.4.1
数据类型1.4.2
函数如何工作1.4.3
注释1.4.4
控制流1.4.5
认识所有权1.5
什么是所有权?1.5.1
引用与借用1.5.2
Slices1.5.3
使用结构体来组织相关联的数据1.6
定义并实例化结构体1.6.1
一个使用结构体的示例程序1.6.2
方法语法1.6.3
枚举与模式匹配1.7
定义枚举1.7.1
match 控制流运算符1.7.2
if let 简洁控制流1.7.3
基本 Rust 技能
使用包、Crate 和模块管理不断增长的项目2.1
包和 crate2.1.1
定义模块来控制作用域与私有性2.1.2
路径用于引用模块树中的项2.1.3
使用 use 关键字将名称引入作用域2.1.4
将模块分割进不同文件2.1.5
常见集合2.2
vector2.2.1
字符串2.2.2
哈希 map2.2.3
错误处理2.3
panic! 与不可恢复的错误2.3.1
Result 与可恢复的错误2.3.2
panic! 还是不 panic!2.3.3
泛型、trait 与生命周期2.4
泛型数据类型2.4.1
trait:定义共享的行为2.4.2
生命周期与引用有效性2.4.3
测试2.5
编写测试2.5.1
运行测试2.5.2
测试的组织结构2.5.3
一个 I/O 项目:构建命令行程序2.6
接受命令行参数2.6.1
读取文件2.6.2
重构以改进模块化与错误处理2.6.3
采用测试驱动开发完善库的功能2.6.4
处理环境变量2.6.5
将错误信息输出到标准错误而不是标准输出2.6.6
Rust 编程思想
Rust 中的函数式语言功能:迭代器与闭包3.1
闭包:可以捕获其环境的匿名函数3.1.1
使用迭代器处理元素序列3.1.2
改进之前的 I/O 项目3.1.3
性能比较:循环对迭代器3.1.4
更多关于 Cargo 和 Crates.io 的内容3.2
采用发布配置自定义构建3.2.1
将 crate 发布到 Crates.io3.2.2
Cargo 工作空间3.2.3
使用 cargo install 从 Crates.io 安装二进制文件3.2.4
Cargo 自定义扩展命令3.2.5
智能指针3.3
Box 指向堆上数据,并且可确定大小3.3.1
通过 Deref trait 将智能指针当作常规引用处理3.3.2
Drop Trait 运行清理代码3.3.3
Rc 引用计数智能指针3.3.4
RefCell 与内部可变性模式3.3.5
引用循环与内存泄漏是安全的3.3.6
无畏并发3.4
线程3.4.1
消息传递3.4.2
共享状态3.4.3
可扩展的并发:Sync 与 Send3.4.4
Rust 的面向对象编程特性3.5
面向对象语言的特点3.5.1
为使用不同类型的值而设计的 trait 对象3.5.2
面向对象设计模式的实现3.5.3
高级主题
模式用来匹配值的结构4.1
所有可能会用到模式的位置4.1.1
Refutability:何时模式可能会匹配失败4.1.2
模式的全部语法4.1.3
高级特征4.2
不安全的 Rust4.2.1
高级 trait4.2.2
高级类型4.2.3
高级函数与闭包4.2.4
宏4.2.5
最后的项目: 构建多线程 web server4.3
单线程 web server4.3.1
将单线程 server 变为多线程 server4.3.2
优雅停机与清理4.3.3
附录4.4
A - 关键字4.4.1
B - 运算符与符号4.4.2
C - 可派生的 trait4.4.3
D - 实用开发工具4.4.4
E - 版本4.4.5
F - 本书译本4.4.6
G - Rust 是如何开发的与 “Nightly Rust”4.4.7
none_20200520-0047.pdf
中文文案排版指北
封面
扉页
版权
内容提要
序
关于封面
代码猴子与童子军军规
前言
第1章 整洁代码
1.1 要有代码
1.2 糟糕的代码
1.3 混乱的代价
1.3.1 华丽新设计
1.3.2 态度
1.3.3 迷题
1.3.4 整洁代码的艺术
1.3.5 什么是整洁代码
1.4 思想流派
1.5 我们是作者
1.6 童子军军规
1.7 前传与原则
1.8 小结
1.9 文献
第2章 有意义的命名
2.1 介绍
2.2 名副其实
2.3 避免误导
2.4 做有意义的区分
2.5 使用读得出来的名称
2.6 使用可搜索的名称
2.7 避免使用编码
2.7.1匈牙利语标记法
2.7.2 成员前缀
2.7.3 接口和实现
2.8 避免思维映射
2.9 类名
2.10 方法名
2.11 别扮可爱
2.12 每个概念对应一个词
2.13 别用双关语
2.14 使用解决方案领域名称
2.15 使用源自所涉问题领域的名称
2.16 添加有意义的语境
2.17 不要添加没用的语境
2.18 最后的话
第3章 函数
3.1 短小
3.2 只做一件事
3.3 每个函数一个抽象层级
3.4 switch语句
3.5 使用描述性的名称
3.6 函数参数
3.6.1 一元函数的普遍形式
3.6.2 标识参数
3.6.3 二元函数
3.6.4 三元函数
3.6.5 参数对象
3.6.6 参数列表
3.6.7 动词与关键字
3.7 无副作用
3.8 分隔指令与询问
3.9 使用异常替代返回错误码
3.9.1 抽离Try/Catch代码块
3.9.2 错误处理就是一件事
3.9.3 Error.java依赖磁铁
3.10 别重复自己
3.11 结构化编程
3.12 如何写出这样的函数
3.13 小结
3.14 SetupTeardownIncluder程序
3.15 文献
第4章 注释
4.1 注释不能美化糟糕的代码
4.2 用代码来阐述
4.3 好注释
4.3.1 法律信息
4.3.2 提供信息的注释
4.3.3 对意图的解释
4.3.4 阐释
4.3.5 警示
4.3.6 TODO注释
4.3.7 放大
4.44.5第5章 格式
5.15.24.3.8 公共API中的Javadoc
坏注释
4.4.1 喃喃自语
4.4.2 多余的注释
4.4.3 误导性注释
4.4.4 循规式注释
4.4.5 日志式注释
4.4.6 废话注释
4.4.7 可怕的废话
4.4.8 能用函数或变量时就别用注释
4.4.9 位置标记
4.4.10 括号后面的注释
4.4.11 归属与署名
4.4.12 注释掉的代码
4.4.13 HTML注释
4.4.14 非本地信息
4.4.15 信息过多
4.4.16 不明显的联系
4.4.17 函数头
4.4.18 非公共代码中的Javadoc
4.4.19 范例
文献
格式的目的
垂直格式
5.2.1 向报纸学习
5.2.2 概念间垂直方向上的区隔
5.2.3 垂直方向上的靠近
5.2.4 垂直距离
5.2.5 垂直顺序
5.3 横向格式
5.3.1 水平方向上的区隔与靠近
5.3.2 水平对齐
5.3.3 缩进
5.3.4 空范围
5.4 团队规则
5.5 鲍勃大叔的格式规则
第6章 对象和数据结构
6.1 数据抽象
6.2 数据、对象的反对称性
6.3 得墨忒耳律
6.3.1 火车失事
6.3.2 混杂
6.3.3 隐藏结构
6.4 数据传送对象
6.5 小结
6.6 文献
第7章 错误处理
7.1 使用异常而非返回码
7.2 先写Try-Catch-Finally语句
7.3 使用不可控异常
7.4 给出异常发生的环境说明
7.5 依调用者需要定义异常类
7.6 定义常规流程
7.7 别返回null值
7.8 别传递null值
7.9 小结
7.10 文献
第8章 边界
8.1 使用第三方代码
8.2 浏览和学习边界
8.3 学习log4j
8.4 学习性测试的好处不只是免费
8.5 使用尚不存在的代码
8.6 整洁的边界
8.7 文献
第9章 单元测试
9.1 TDD三定律
9.2 保持测试整洁
9.3 整洁的测试
9.3.1 面向特定领域的测试语言
9.3.2 双重标准
9.4 每个测试一个断言
9.5 F.I.R.S.T.
9.6 小结
9.7 文献
第10章 类
10.1 类的组织
10.2 类应该短小
10.2.1 单一权责原则
10.2.2 内聚
10.2.3 保持内聚性就会得到许多短小的类
10.3 为了修改而组织
10.4 文献
第11章 系统
11.1 如何建造一个城市
11.2 将系统的构造与使用分开
11.2.1 分解main
11.2.2 工厂
11.2.3 依赖注入
11.3 扩容
11.4 Java代理
11.5 纯Java AOP框架
11.6 AspectJ的方面
11.7 测试驱动系统架构
11.8 优化决策
11.9 明智使用添加了可论证价值的标准
11.10 系统需要领域特定语言
11.11 小结
11.12 文献
第12章 迭进
12.1 通过迭进设计达到整洁目的
12.2 简单设计规则1:运行所有测试
12.3 简单设计规则2~4:重构
12.4 不可重复
12.5 表达力
12.6 尽可能少的类和方法
12.7 小结
12.8 文献
第13章 并发编程
13.1 为什么要并发
13.2 挑战
13.3 并发防御原则
13.3.1 单一权责原则
13.3.2 推论:限制数据作用域
13.3.3 推论:使用数据复本
13.3.4 推论:线程应尽可能地独立
13.4 了解Java库
13.5 了解执行模型
13.5.1 生产者-消费者模型
13.5.2 读者-作者模型
13.5.3 宴席哲学家
13.6 警惕同步方法之间的依赖
13.7 保持同步区域微小
13.8 很难编写正确的关闭代码
13.9 测试线程代码
13.9.1 将伪失败看作可能的线程问题
13.9.2 先使非线程代码可工作
13.9.3 编写可插拔的线程代码
13.9.4 编写可调整的线程代码
13.9.5 运行多于处理器数量的线程
13.9.6 在不同平台上运行
13.9.7 装置试错代码
13.9.8 硬编码
13.9.9 自动化
13.10 小结
13.11 文献
第14章 逐步改进
14.1 Args的实现
14.2 Args:草稿
14.2.1 所以我暂停了
14.2.2 渐进
14.3 字符串参数
14.4 小结
第15章 JUnit内幕
15.1 JUnit框架
15.2 小结
第16章 重构SerialDate
16.1 首先,让它能工作
16.2 让它做对
16.3 小结
16.4 文献
第17章 味道与启发
17.1 注释
17.2 环境
17.3 函数
17.4 一般性问题
17.5 Java
17.6 名称
17.7 测试
17.8 小结
17.9 文献
附录A 并发编程II
A.1 客户端/服务器的例子
A.1.1 服务器
A.1.2 添加线程代码
A.1.3 观察服务器端
A.1.4 小结
A.2A.3A.4A.5A.6A.7A.8A.9A.10执行的可能路径
A.2.1 路径数量
A.2.2 深入挖掘
A.2.3 小结
了解类库
A.3.1 Executor框架
A.3.2 非锁定的解决方案
A.3.3 非线程安全类
方法之间的依赖可能破坏并发代码
A.4.1 容忍错误
A.4.2 基于客户代码的锁定
A.4.3 基于服务端的锁定
提升吞吐量
A.5.1 单线程条件下的吞吐量
A.5.2 多线程条件下的吞吐量
死锁
A.6.1 互斥
A.6.2 上锁及等待
A.6.3 无抢先机制
A.6.4 循环等待
A.6.5 不互斥
A.6.6 不上锁及等待
A.6.7 满足抢先机制
A.6.8 不做循环等待
测试多线程代码
测试线程代码的工具支持
小结
教程:完整代码范例
A.10.1 客户端/服务器非线程代码
A.10.2 使用线程的客户端/服务器代码
附录B org.jfree.date.SerialDate
结束语
内容提要
软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相
关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。
本书提出一种观念:代码质量与其整洁度成正比。干净的代码,既
在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领
域的佼佼者,本书作者给出了一系列行之有效的整洁代码操作实践。这
些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项
目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,
从而有效提升代码质量。
本书阅读对象为一切有志于改善代码质量的程序员及技术经理。书
中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编
程方面,虽为一“家”之言,然诚有可资借鉴的价值。
none.pdf
致谢
目錄
前言
建立開機媒體 (隨身碟、光碟)
網路設定
套件管理
套件庫及鏡像站
安裝驅動程式
簡易的防火牆 - UFW & GUFW
電源管理 - PowerTOP
Hacking Bash
Shell Scripts
Hacking Vim
Vim 套件管理 - NeoBundle
Pentadactyl
色碼擷取器 - Gpick vs Gcolor2
文字界面的字典 sdcv
於 Vim 裡使用 sdcv
商業版的 Wine - CrossOver
藉由 CrossOver 安裝 Microsoft Office 2007
虛擬機器 - VMware Player 5
增進 SSH 使用效率 - ssh_config
遠端桌面軟體 - Remmina
密碼管理員 - FPM2
密碼管理員 - FPM2Droid
視窗管理及工作區 (上)
視窗管理及工作區 (下)
使用 Clonezilla 打造不死的作業系統
Ubuntu 系統版本升級
使用 Live CD 修復 Debian/Ubuntu 系統
檢測硬碟 SMART 健康狀態
銷毀資料 - Shred
附錄 - 將 Markdown 文件轉成 HTML
完全用 GNU/Linux 工作
</> Markdown
GitBook chusiang/working-on-linux
License CC BY-NC-SA 3.0
GNU/Linux 至今已經相當成熟並足以應付日常生活之使用,凍仁也於 2009 年開始使用它來工作至今,將藉由此書
[^1] 來撰寫較有系統的文章及分享些上班經驗。
若需勘誤,觀迎大家來信 working-on-gnu-linux (at) drx.tw,(當然您也可以上 GitHub 網站 [^2] 送
Pull Request 或發 issues),讓此書可以更完美。
《完全用 GNU/Linux 工作》由凍仁翔製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款釋
出。
致谢
序
01.理解Linux操作系统
1.2.Linux内存体系
1.3.Linux文件系统
1.4.磁盘IO子系统
1.5.网络子系统
1.6.理解Linux性能指标
02.监控和压测工具
2.1.介绍
2.2.工具功能概述
2.3.监控工具
2.4.压测工具
03.分析性能瓶颈
3.1.发现瓶颈
3.2.CPU瓶颈
3.3.内存瓶颈
3.4.磁盘瓶颈
3.5.网络瓶颈
04.系统调优
4.1.优化原则
4.2.安装考量
4.3.调整内核参数
4.4.优化处理器子系统
4.5.优化虚拟内存子系统
4.6.优化磁盘子系统
4.7.优化网络子系统
致谢
当前文档 《Linux性能调优指南》 由 进击的皇虫 使用 书栈(BookStack.CN) 进行构建,生成于 2018-
07-16。
书栈(BookStack.CN) 仅提供文档编写、整理、归类等功能,以及对文档内容的生成和导出工具。
文档内容由网友们编写和整理,书栈(BookStack.CN) 难以确认文档内容知识点是否错漏。如果您在阅读文档
获取知识的时候,发现文档内容有不恰当的地方,请向我们反馈,让我们共同携手,将知识准确、高效且有效地传递
给每一个人。
同时,如果您在日常工作、生活和学习中遇到有价值有营养的知识文档,欢迎分享到 书栈(BookStack.CN) ,
为知识的传承献上您的一份力量!
如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取最新的文档,以跟上知识更新换代的步伐。
文档地址:http://www.bookstack.cn/books/transoflptg
书栈官网:http://www.bookstack.cn
书栈开源:https://github.com/TruthHun
分享,让知识传承更久远! 感谢知识的创造者,感谢知识的分享者,也感谢每一位阅读到此处的读者,因为我们
都将成为知识的传承者。
序
Linux是一个由全世界各地开发者合作打造的开源操作系统。Linux的源代码可以在互联网上自由获取,并且在
GPL(GNU General Public License)协议下自由使用。像Red Hat和Novell这样的公司可以定制各式的Linux
发行版本提供给用户使用。大部分Linux桌面发行版能够从网络上免费下载,而服务器版可能需要付费购买才能使
用。
在过去的这些年里,Linux渗透进了许多公司的数据中心,并且在科学界和商业界都大受欢迎。今天,Linux已经是
最通用的操作系统,Linux无处不在,如防火墙、电话和大型机。自然的,Linux操作系统的性能问题成为了各类用
户关注一个热点。但是,在不同场景下对操作系统的要求是不一样的,譬如用作天气计算和运行数据库的需求就完全
不同,这就要求Linux在所有可能的场景中都表现出卓越性能。幸好,大多数的Linux发行版都包含了通用的调优参
数。
IBM把Linux作为一个企业级应用操作系统。大多数的企业应用都已经可以在Linux上运行,例如打印服务,数据库服
务,Web服务和邮件服务!
作为企业系统,用户需要监控各项系统性能指标,必要的时候,还需解决影响用户的系统瓶颈。这本IBM的红皮书提供
了优化Linux的办法,使用书中的工具,可以监控和分析Linux服务器性能,以及针对特定的服务调整关键参数!这
本书中解释了如何分析和优化Linux,使其在各类应用场景中表现出卓越性能。
书中环境的各类参数、基准结果和监测工具都是基于运行在IBM System x系列服务器和IBM System z系列服务器
上的Red Hat和Novell SUSE Linux系统,内核版本2.6。不过,书中的知识,应该同样适用于运行在各类硬件平
台上的各版本Linux!
本书结构
为了方便各类Linux或者Linux调优新手迅速开始,我们以如下的方式组织本书:
第一章, 理解Linux操作系统。 这一章介绍了影响系统性能的问题,以及Linux如何管理系统资源。你将学
习到一些重要的系统性能指标!
第二章, 监控和测试工具 介绍各类衡量和分析Linux性能的工具。
第三章, 分析性能瓶颈 介绍如何识别出系统中的瓶颈
第四章, 优化操作系统 基于前几章已经介绍的操作系统工作原理,和性能分析工具,你可以开始探索Linux
上的各种性能优化办法!
本书作者团队
本书由来自工作在国际技术支持组织(International Technical Support Organization)的专家组完成。
英文版 MAINTAINER / EDITOR
Bug this guy:
Scott Chacon (schacon@gmail.com)
中文版 MAINTAINER / EDITOR
liuhui998 (liuhui998@gmail.com),(http://liuhui998.com)
liu Wei (liuw@liuw.name),(http://blog.liuw.name)
Wendal Chen(wendal1985@gmail.com),(http://wendal.net)
Jiancong Guo(guojiancong0121@gmail.com),(http://www.cbpm-gw.com)
中文版网址
http://gitbook.liuhui998.com
欢迎使用
欢迎使用GIT
欢迎来使用Git, 它是一个快速的分布式版本控制系统。
这本书的目的是为那些初学者尽快熟悉Git,提供了一个良好的起点。
此书将以介绍Git如何存储数据做为开始,让你了解它和其它版本控制系统有什么不同的背景。这大约要花你20分
钟的时间。
接下来,我们会讲一些Git的基本用法
基本用法,那些你将在90%的时间都在使用的命令。这些东东能给一个不错的使用的基
础,也许这些命令就是你将使用的全部命令。这一节大约会花你30分钟的时间来读。
其后,我们会讲一些稍微复杂的Git中级用法
中级用法,这些用法也许会替换掉前面的基本用法。在你了解前面的基本用法
后, 这些看起来像魔术一样的命令,你可能会用起来很爽。
如果前面的这些东东你都掌握了,我们就会讲Git的高级用法
的高级用法,这些高级用法也许大多数人很少使用,但是在特定
的环境会非常有用。学习这些用法(命令),你将能获得全面的日常Git知识; 你将能成为Git大师。
即然你学会了Git, 我们将会讲在
在 Git中工作
中工作。我们将要学习 Git 配合脚本、部署工具、编辑器和其它工具一起工
作。这一节将帮助你将Git 集成进你的工作环境。
最后我们会有一系列的文章:low-level documentation,这些可能对那些Git hacker 有用,包括Git 的内核和协
议如何运作等等。
反馈与参与
如果你发现本书的中任何错误,或者你想参与进此书的编写,你可以给我写email schacon@gmail.com, 或者你也可
以用git得到本书的原始 档案(source) http://github.com/schacon/gitbook, 然后给我发一个补丁(patch)或者一个pull请求
译者注:如果有哪位朋友发现中译本的错误,或者是想参加此书的翻译,也可以给我发email liuhui998@gmail.com, 或者
你也可以用git得到本书的原始 档案(source) http://github.com/liuhui998/gitbook, 然后给我发一个补丁(patch)或者一个
pull请求
参考
这本书由很多不同的资料汇聚起来,如果你更愿意阅读原始的文章和资料,下面提供了它们的url:
• Git User Manual
•••The Git Tutorial
The Git Tutorial pt 2
"My Git Workflow" blog post
GIT对象模型
对象模型
SHA
所有用来表示项目历史信息的文件,是通过一个40个字符的(40-digit)“对象名”来索引的,对象名看起来像这样:
6ff87c4664981e4397625791c8ea3bbb5f2279a3
你会在Git里到处看到这种“40个字符”字符串。每一个“对象名”都是对“对象”内容做SHA1哈希计算得来的,(SHA1
是一种密码学的哈希算法)。这样就意味着两个不同内容的对象不可能有相同的“对象名”。
这样做会有几个好处:
• Git只要比较对象名,就可以很快的判断两个对象是否相同。
• 因为在每个仓库(repository)的“对象名”的计算方法都完全一样,如果同样的内容存在两个不同的仓库
中,就会存在相同的“对象名”下。
• Git还可以通过检查对象内容的SHA1的哈希值和“对象名”是否相同,来判断对象内容是否正确。
对象
每个对象(object) 包括三个部分:类型
类型,大小
大小和内容
内容。大小就是指内容的大小,内容取决于对象的类型,有四种类
型的对象:"blob"、"tree"、 "commit" 和"tag"。
••••“blob”用来存储文件数据,通常是一个文件。
“tree”有点像一个目录,它管理一些“tree”或是 “blob”(就像文件和子目录)
一个“commit”只指向一个"tree",它用来标记项目某一个特定时间点的状态。它包括一些关于时间点的
元数据,如时间戳、最近一次提交的作者、指向上次提交(commits)的指针等等。
一个“tag”是来标记某一个提交(commit) 的方法。
几乎所有的Git功能都是使用这四个简单的对象类型来完成的。它就像是在你本机的文件系统之上构建一个小的文
件系统。
与SVN的区别
的区别
Git与你熟悉的大部分版本控制系统的差别是很大的。也许你熟悉Subversion、CVS、Perforce、Mercurial 等等,他
们使用 “增量文件系统” (Delta Storage systems), 就是说它们存储每次提交(commit)之间的差异。Git正好与之相
反,它会把你的每次提交的文件的全部内容(snapshot)都会记录下来。这会是在使用Git时的一个很重要的理念。
Blob对象
对象
一个blob通常用来存储文件的内容.
目录
许可证 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Scott Chacon 序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Ben Straub 序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
献辞 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
贡献者 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
起步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
关于版本控制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Git 简史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Git 是什么? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
命令行 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
安装 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
初次运行 Git 前的配置. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
获取帮助 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Git 基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
获取 Git 仓库. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
记录每次更新到仓库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
查看提交历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
撤消操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
远程仓库的使用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
打标签 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Git 别名 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
Git 分支 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
分支简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
分支的新建与合并 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
分支管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
分支开发工作流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
远程分支 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
变基 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
服务器上的 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
在服务器上搭建 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
生成 SSH 公钥 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
配置服务器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Git 守护进程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Smart HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
GitWeb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
GitLab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
第三方托管的选择 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
分布式 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
分布式工作流程 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
向一个项目贡献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
维护项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
账户的创建和配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
对项目做出贡献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
维护项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
管理组织 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
脚本 GitHub . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
Git 工具 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
选择修订版本 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
交互式暂存 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
贮藏与清理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
签署工作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
搜索 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
重写历史 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
重置揭密 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
高级合并 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Rerere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
使用 Git 调试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
子模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
打包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
替换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
凭证存储 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333
自定义 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
配置 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Git 属性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Git 钩子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
使用强制策略的一个例子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Git 与其他系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
作为客户端的 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
迁移到 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Git 内部原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
底层命令与上层命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Git 对象 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Git 引用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
包文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
引用规范 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
传输协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
维护与数据恢复 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
环境变量 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
附录 A: 在其它环境中使用 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
图形界面 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
Visual Studio 中的 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
Git in Visual Studio Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Eclipse 中的 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Git in Sublime Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Bash 中的 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
Zsh 中的 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Git 在 PowerShell 中使用 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
总结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
附录 B: 在你的应用中嵌入 Git . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
命令行 Git 方式. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Libgit2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
JGit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
go-git. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
Dulwich. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
附录 C: Git 命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
设置与配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
获取与创建项目 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
快照基础 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
分支与合并 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
项目分享与更新 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
检查与比较 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
调试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
补丁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505
邮件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
外部系统 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
底层命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
索引 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
致谢
README
Linux基础
1. 学会使用命令帮助
2. 文件及目录管理
3. 文本处理
4. 磁盘管理
5. 进程管理工具
6. 性能监控
7. 网络工具
8. 用户管理工具
9. 系统管理及IPC资源管理
Linux工具进阶
1. 程序构建
2. 程序调试
3. 性能优化
工具参考篇
1. gdb 调试利器
2. ldd 查看程序依赖库
3. lsof 一切皆文件
4. ps 进程查看器
5. pstack 跟踪进程栈
6. strace 跟踪进程中的系统调用
7. ipcs 查询进程间通信状态
8. top linux下的任务管理器
9. free 查询可用内存
10. vmstat 监视内存使用情况
11. iostat 监视I/O子系统
12. sar 找出系统瓶颈的利器
13. readelf elf文件格式分析
14. objdump 二进制文件分析
15. nm 目标文件格式分析
16. size 查看程序内存映像大小
17. wget 文件下载
18. scp 跨机远程拷贝
19. crontab 定时任务
致谢
当前文档 《嵌入式 Linux 知识库 (eLinux.org)》 由 进击的皇虫 使用 书栈
(BookStack.CN) 进行构建,生成于 2018-02-21。
书栈(BookStack.CN) 仅提供文档编写、整理、归类等功能,以及对文档内容的生成和导出工
具。
文档内容由网友们编写和整理,书栈(BookStack.CN) 难以确认文档内容知识点是否错漏。如
果您在阅读文档获取知识的时候,发现文档内容有不恰当的地方,请向我们反馈,让我们共同携手,
将知识准确、高效且有效地传递给每一个人。
同时,如果您在日常生活、工作和学习中遇到有价值有营养的知识文档,欢迎分享到 书栈
(BookStack.CN) ,为知识的传承献上您的一份力量!
如果当前文档生成时间太久,请到 书栈(BookStack.CN) 获取最新的文档,以跟上知识更新换
代的步伐。
文档地址:http://www.bookstack.cn/books/tinyclub-elinux
书栈官网:http://www.bookstack.cn
书栈开源:https://github.com/TruthHun
分享,让知识传承更久远! 感谢知识的创造者,感谢知识的分享者,也感谢每一位阅读到此处的
读者,因为我们都将成为知识的传承者。
嵌入式 Linux 知识库 (eLinux.org)
Embedded Linux Wiki 采用 MediaWiki 系统,由 CE Linux Forum 创建。
基于上述 Mediawiki 版本,这里的 GitBook 版本由 eLinux.org 中文翻译组 创建,目的是为
了更好地通过网络协作把它翻译成其他语言,而副产品是该知识库可以作为可打印和可阅读的免费书
籍下载而且支持 pdf,epub 或者 mobi 格式。
项目首页: http://www.tinylab.org/elinux
Git 仓库: https://github.com/tinyclub/elinux
在线阅读: http://tinylab.gitbooks.io/elinux
实验云台:在线学 Linux,Linux 0.11,汇编,Shell,C ...
介绍
欢迎访问 eLinux 知识库!
本知识库的目标是保存和呈现各类信息,既涉及使用 Linux 进行嵌入式系统开发,也涵盖与通用嵌
入式开发相关的开源项目和工具。
点击左侧的导航菜单,即可开启本知识库之旅!
该站主要带来各类资源列表和信息收集,可用于解决特定领域的问题。例如,如果碰到嵌入式 Linux
系统启动时间有关问题,则可以阅读启动时间。
固件
固件
安全
安全
目录
简介
技术/项目主页
Linux Kernel 中的安全子系统
SELinux
Tomoyo
SMACK
陈旧的信息 ( 2005 年,CELF 调查的相关信息)
文档
关键需求与相关技术点
资源
安全框架
安全组件
安全特性
其他资源
安全活动
邮件列表
会议
安全相关的文章
论文
实例和开源代码
原文:eLinux.org
翻译:@lzz5235
校订:@lzufalcon
安全
目录
2 简介
3 技术/项目主页
4 Linux Kernel 中的安全子系统
4.1 SELinux
4.2 Tomoyo
4.3 SMACK
安全
5 陈旧的信息 ( 2005 年,CELF 调查的相关信息)
5.1 文档
5.2 关键需求与相关技术点
5.3 资源
5.3.1 安全框架
5.3.2 安全组件
5.3.3 安全特性
5.3.4 其他资源
5.3.4.1 安全活动
5.3.4.2 邮件列表
5.3.4.3 会议
5.3.4.4 安全相关的文章
5.3.4.5 论文
5.3.4.6 实例和开源代码
实时
实时
简介
实时领域 Wiki
软件项目
硬件实现
文档
更多开源项目
启动时间
启动时间
目录
简介
技术/项目主页
测量启动时间
减少启动时间的技术和技巧
引导程序(Bootloader)加速
内核加速
文件系统方面的问题
用户空间和应用程序加速
系统休眠相关的改进
杂项
一些未经验证的想法
文章和演讲稿
案例研究
其他的项目/邮件列表/资源
SysV ‘init’ 的替代品
busybox init
upstart
Android init
systemd
Kexec
启动画面(Splash Screen)项目
其他
正在从事快速启动的公司、个人或者项目
启动时间检查清单
网络
网络
目录
简介
嵌入式 Linux 网络
多媒体
多媒体
目录
简介
CELF 2.0 AVG 规范
音、视频工作组
DirectFB 研究
什么是 DirectFB,DirectFB 如何工作
嵌入式 Linux 平台上 DirectFB 示例实现
嵌入式 Linux 平台上一些 DirectFB 基准测试结果
相关项目
图形/视频输出
Framebuffer/帧缓冲
DirectFB
V4L2
X11
NanoX
OpenGL (OpenML)
SDL
Cairo
Clutter
Enlightenment Foundation Libraries ( EFL )
Qt
演示图板套件 (演示图板设计师/引擎,来自 Crank Software)
GStreamer
Xine
MPlayer
文档
Video in
V4L[2]
OpenML
LinuxTV (DVB API)
音频输入/输出
OSS
ALSA
OpenAL
PulseAudio
AVG 标准的使用者
Video Lan
Freevo
多媒体
LinuxTV
MythTV
DVR
OpenPVR
Morphine.TV
其他
ARIB 架构(一个数字广播系统标准)
启动画面
数字家庭工作组
Disko 框架
Free Type(软件字体引擎)
UPnP
TV Anytime 论坛
TV Linux 联盟
系统裁剪
系统裁剪
介绍
减少系统尺寸的技术
内核尺寸缩减
配置选项
Linux-tiny 补丁集
“dietnet”
减少内核尺寸相关的编译选项
垃圾回收补丁集
运行时内核大小
内核栈大小
自动裁剪
PRINTK 消息压缩
裁剪的一些想法和近期的工作
文件系统压缩
应用裁剪
程序大小相关编译选项
缩减你的程序
手动优化程序大小
库尺寸裁剪技术
使用更小的 libc
静态链接
库裁剪
延时加载库
就地执行(XIP)
内核 XIP
应用 XIP
原地数据读取 (DRIP)
尺寸测量的技术和相关工具
内核尺寸测量数据
怎样计算内核镜像的大小
怎样动态计算内存使用情况
Linux 内核 从 2.4 到 2.6 的尺寸增加
GCC 代码大小基准测试
案例研究
uClinux
微型处理器上的 Linux (这里是在 M3 上)
发行版本的尺寸缩减相关尝试
杂项
系统裁剪
内核内存溢出检测
系统的大小是怎样影响性能的
缩减桌面发行版本的文件系统
极小系统
文件系统
文件系统
目录
简介
MTD
UBI
分区
eMMC and UFS
嵌入式文件系统
AXFS
Btrfs
CramFS
F2FS
InitRAMFS
JFFS2
LogFS
NFS
PRAMFS
Romfs
SquashFS
UBIFS
YAFFS2
挂载文件系统
在 PC 上用 mtdram 挂载 JFFS2 镜像
在 PC 上用 nandsim 挂载 UBI 镜像
在嵌入式中使用通用文件系统的问题
MMC/sdcard 卡特性
专用文件系统
ABISS
分层的文件系统
UnionFS
aufs
mini_fo
性能和基准测试
性能评测工具
闪存文件系统比较
Cogent Embedded 公司的测试 (2013)
Free Electrons 公司的测试 (2011)
其他项目
多媒体文件系统
文件系统
维基百科文件系统
维基文件系统
电源管理
目录
简介
电源管理技术与项目网页
Linux 电源管理迷你峰会
峰会记录
CE Linux 论坛的需求标准
资料文档
开源项目/邮件列表
内存管理
目录
感兴趣的领域
内存检测和分析
巨页/大页/超级页
页缓存压缩
启动时预留和访问高地址内存
OOM 处理机制的优化/改进
Cgroups (控制组)中的 OOM 通知
mem_notify 补丁
谷歌 cgroup (控制组) OOM 处理方法
诺基亚对 OOM 的改进
基于 LSM 的低内存通知
基于类型的内存分配(老旧的方法)
附加资源/邮件列表
关于缓存的文章
资源管理
目录
开源项目
CKRM/RG
UBC/Beancounters
其他
设备驱动
使用手册
样例驱动
资源
设备树
目录
前言
扁平设备树是
扁平设备树不是
历史
未来
优势
对于内核发行
对于片上系统(SoC)供应商
对于主板设计者
对于嵌入式 Linux 生态系统
对于固件或 bootloader 开发者
其他的优势
竞品的解决方案
板子相关特性的数据结构
ACPI(高级配置与电源接口)
UEFI(统一的可扩展固件接口)
Open FirmWare
关于竞品的解决方案的一些注解
资源
Wiki 和内核中的参考资料
FAQ,小贴士和最佳范例
演示文稿,论文和文章
各种子系统的设备树描述的笔记
较老的材料
工具
调试
设备树 irc (互联网中继聊天)
设备树邮件列表
玩转硬件
目录
工程设备
官方支持的设备
汽车
工业
迷你集群
硬件工具和信息
软件工具和信息
开发平台
目录
最受欢迎的设备
ARM
AVR32
Blackfin
MIPS
PowerPC
SuperH
i386 及其兼容平台
未分类
贡献内核补丁(Kernel Mainlining)
目录
通用资源
相关演讲
演讲列表
训练,指导和挑战
具体项目
最佳行动说明
来自 Andrew Morton
来自 Deepak Saxena
来自 Jonathan Corbet
来自 Arnd Bergmann
来自 David Arlie
克服 Mainlining 遇到的障碍
法律问题
嵌入式中使用 Linux 的法律问题
内核只被 GPL V2 许可
署名行 (signed-off-by) 和原创开发者证书 (DCO)
有关法律分析和合规的资源
EXPORT_SYMBOL_GPL
针对内核 USB API 的 EXPORT_SYMBOL_GPL
二进制专有的内核模块
在用户空间中使用内核头文件
其它链接
事件/会议
目录
即将举办会议
2015 年
2015 年 10 月
已举办的事件
2015 年
2015 年 6 月
2015 年 3 月
2014 年
2014 年 10 月
2014 年 9 月
2014 年 5 月
2014 年 4 月
2013 年
2013 年 10 月
2013年5月
2013 年 2 月
2012 年
2012 年 11 月
2012 年 9 月
2012 年 8 月
2012 年 7 月
2012 年 6 月
2012 年 4 月
2012 年 2 月
2011 年
2010 年
2009 年
2008 年
2007 年
2006 年
2005 年
2004 年
来自其他事件的论文集
内核峰会上的演讲稿
事件计划
嵌入式 Linux 会议演讲稿
术语表
高频主题术语表
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
处理器
Processors
Contents
ARC
ARM
MIPS
SuperH
Renesas SuperH Overview
Devices
PowerPC
Processors
Tools
RT Patches
Documents
XScale
x86
AVR32
Blackfin
m68k
Further reading
社区
Community
Contents
Netiquette
Community sites
General Portals
Hardware-Specific Communities
Software-Specific Communities
Communities for beginners
People
Linux kernel
Important kernel figures
Kernel arch maintainers
Feature developers/maintainers
Other People
Interview candidates
Foundations and Forums
Linux User Groups
Development Model
Reasons for contributing to open source
Community-building ideas
Quality Assurance
Certificate of Origin
Table of Contents
序章 .................................................................................................................................................... vii
i. 前言 ........................................................................................................................................... vii
ii. 致读者 ...................................................................................................................................... vii
iii. LFS 的目标架构 ........................................................................................................................ viii
iv. LFS 和标准 .............................................................................................................................. viii
v. 本书中的软件包逻辑 ................................................................................................................... ix
vi. 前提条件 .................................................................................................................................. xiii
vii. 排版约定 ................................................................................................................................. xiii
viii. 本书结构 ................................................................................................................................ xiv
ix. 勘误表 ..................................................................................................................................... xiv
I. 介绍 .................................................................................................................................................. 1
1. 介绍 .......................................................................................................................................... 2
1.1. 如何构建 LFS 系统 ............................................................................................................ 2
1.2. 自上一版手册发布后的变更 ................................................................................................ 2
1.3. 更新日志 ........................................................................................................................... 3
1.4. 资源 ................................................................................................................................. 6
1.5. 帮助 ................................................................................................................................. 6
II. 准备构建 .......................................................................................................................................... 8
2. 准备宿主系统 ............................................................................................................................. 9
2.1. 简介 ................................................................................................................................. 9
2.2. 宿主系统要求 .................................................................................................................... 9
2.3. 分阶段构建 LFS ............................................................................................................... 12
2.4. 创建新分区 ..................................................................................................................... 12
2.5. 在分区上创建文件系统 ..................................................................................................... 13
2.6. 设置 $LFS 变量 ............................................................................................................... 14
2.7. 挂载新分区 ..................................................................................................................... 14
3. 软件包和补丁 ........................................................................................................................... 16
3.1. 简介 ............................................................................................................................... 16
3.2. 所有软件包 ..................................................................................................................... 16
3.3. 需要的补丁 ..................................................................................................................... 22
4. 最后的准备工作 ........................................................................................................................ 24
4.1. 简介 ............................................................................................................................... 24
4.2. 创建目录 $LFS/tools ....................................................................................................... 24
4.3. 添加 LFS 用户 ................................................................................................................. 24
4.4. 设置环境 ......................................................................................................................... 25
4.5. 关于 SBUs ...................................................................................................................... 25
4.6. 关于测试套件 .................................................................................................................. 26
5. 构建临时系统 ........................................................................................................................... 27
5.1. 简介 ............................................................................................................................... 27
5.2. 工具链技术说明 ............................................................................................................... 27
5.3. 通用编译指南 .................................................................................................................. 28
5.4. Binutils-2.32 - 第 1 遍 .................................................................................................... 30
5.5. GCC-9.2.0 - 第 1 遍 ........................................................................................................ 32
5.6. Linux-5.2.8 API 头文件 .................................................................................................... 34
5.7. Glibc-2.30 ....................................................................................................................... 35
5.8. GCC-9.2.0 中的 Libstdc++ ............................................................................................... 37
5.9. Binutils-2.32 - 第 2 遍 .................................................................................................... 38
5.10. GCC-9.2.0 - 第 2 遍 ...................................................................................................... 39
5.11. Tcl-8.6.9 ....................................................................................................................... 41
5.12. Expect-5.45.4 ................................................................................................................ 42
5.13. DejaGNU-1.6.2 .............................................................................................................. 43
5.14. M4-1.4.18 .................................................................................................................... 44
5.15. Ncurses-6.1 .................................................................................................................. 45
5.16. Bash-5.0 ....................................................................................................................... 46
5.17. Bison-3.4.1 ................................................................................................................... 47
5.18. Bzip2-1.0.8 ................................................................................................................... 48
5.19. Coreutils-8.31 ............................................................................................................... 49
5.20. Diffutils-3.7 ................................................................................................................... 5Linux From Scratch (简体中文版) - 版本 9.0-systemd
5.21. File-5.37 ....................................................................................................................... 51
5.22. Findutils-4.6.0 ............................................................................................................... 52
5.23. Gawk-5.0.1 ................................................................................................................... 53
5.24. Gettext-0.20.1 ............................................................................................................... 54
5.25. Grep-3.3 ....................................................................................................................... 55
5.26. Gzip-1.10 ...................................................................................................................... 56
5.27. Make-4.2.1 ................................................................................................................... 57
5.28. Patch-2.7.6 ................................................................................................................... 58
5.29. Perl-5.30.0 .................................................................................................................... 59
5.30. Python-3.7.4 ................................................................................................................. 60
5.31. Sed-4.7 ........................................................................................................................ 61
5.32. Tar-1.32 ........................................................................................................................ 62
5.33. Texinfo-6.6 .................................................................................................................... 63
5.34. Util-linux-2.34 ................................................................................................................ 64
5.35. Xz-5.2.4 ........................................................................................................................ 65
5.36. 清理无用内容 ................................................................................................................ 66
5.37. 改变属主 ....................................................................................................................... 66
III. 构建 LFS 系统 ............................................................................................................................... 67
6. 安装基本的系统软件 ................................................................................................................. 68
6.1. 简介 ............................................................................................................................... 68
6.2. 准备虚拟内核文件系统 ..................................................................................................... 68
6.3. 软件包管理 ..................................................................................................................... 69
6.4. 进入 Chroot 环境 ............................................................................................................. 71
6.5. 创建目录 ......................................................................................................................... 72
6.6. 创建必要的文件和符号链接 .............................................................................................. 72
6.7. Linux-5.2.8 API 头文件 .................................................................................................... 75
6.8. Man-pages-5.02 .............................................................................................................. 76
6.9. Glibc-2.30 ....................................................................................................................... 77
6.10. 调整工具链 ................................................................................................................... 83
6.11. Zlib-1.2.11 .................................................................................................................... 85
6.12. File-5.37 ....................................................................................................................... 86
6.13. Readline-8.0 .................................................................................................................. 87
6.14. M4-1.4.18 .................................................................................................................... 88
6.15. Bc-2.1.3 ....................................................................................................................... 89
6.16. Binutils-2.32 ................................................................................................................. 90
6.17. GMP-6.1.2 .................................................................................................................... 92
6.18. MPFR-4.0.2 ................................................................................................................... 94
6.19. MPC-1.1.0 ..................................................................................................................... 95
6.20. Shadow-4.7 ................................................................................................................... 96
6.21. GCC-9.2.0 ..................................................................................................................... 99
6.22. Bzip2-1.0.8 ................................................................................................................. 103
6.23. Pkg-config-0.29.2 ........................................................................................................ 105
6.24. Ncurses-6.1 ................................................................................................................ 106
6.25. Attr-2.4.48 .................................................................................................................. 108
6.26. Acl-2.2.53 ................................................................................................................... 109
6.27. Libcap-2.27 ................................................................................................................. 110
6.28. Sed-4.7 ....................................................................................................................... 111
6.29. Psmisc-23.2 ................................................................................................................ 112
6.30. Iana-Etc-2.30 .............................................................................................................. 113
6.31. Bison-3.4.1 ................................................................................................................. 114
6.32. Flex-2.6.4 .................................................................................................................... 115
6.33. Grep-3.3 ..................................................................................................................... 116
6.34. Bash-5.0 ..................................................................................................................... 117
6.35. Libtool-2.4.6 ............................................................................................................... 118
6.36. GDBM-1.18.1 .............................................................................................................. 119
6.37. Gperf-3.1 .................................................................................................................... 120
6.38. Expat-2.2.7 ................................................................................................................. 121
6.39. Inetutils-1.9.4 ............................................................................................................. 122
6.40. Perl-5.30.0 .................................................................................................................. 124
6.41. XML::Parser-2.44 ......................................................................................................... 126
6.42. Intltool-0.51.0 ............................................................................................................. 127
iv
Linux From Scratch (简体中文版) - 版本 9.0-systemd
6.43. Autoconf-2.69 .............................................................................................................
128
6.44. Automake-1.16.1 .........................................................................................................
129
6.45. Xz-5.2.4 ......................................................................................................................
130
6.46. Kmod-26 .....................................................................................................................
132
6.47. Gettext-0.20.1 .............................................................................................................
133
6.48. Libelf 源自 Elfutils-0.177 .............................................................................................
135
6.49. Libffi-3.2.1 ..................................................................................................................
136
6.50. OpenSSL-1.1.1c ..........................................................................................................
137
6.51. Python-3.7.4 ...............................................................................................................
138
6.52. Ninja-1.9.0 ..................................................................................................................
140
6.53. Meson-0.51.1 .............................................................................................................
141
6.54. Coreutils-8.31 .............................................................................................................
142
6.55. Check-0.12.0 ..............................................................................................................
146
6.56. Diffutils-3.7 .................................................................................................................
147
6.57. Gawk-5.0.1 .................................................................................................................
148
6.58. Findutils-4.6.0 .............................................................................................................
149
6.59. Groff-1.22.4 ................................................................................................................
150
6.60. GRUB-2.04 ..................................................................................................................
152
6.61. Less-551 ....................................................................................................................
154
6.62. Gzip-1.10 ....................................................................................................................
155
6.63. IPRoute2-5.2.0 ............................................................................................................
156
6.64. Kbd-2.2.0 ....................................................................................................................
158
6.65. Libpipeline-1.5.1 ..........................................................................................................
160
6.66. Make-4.2.1 .................................................................................................................
161
6.67. Patch-2.7.6 .................................................................................................................
162
6.68. Man-DB-2.8.6.1 ...........................................................................................................
163
6.69. Tar-1.32 ......................................................................................................................
165
6.70. Texinfo-6.6 ..................................................................................................................
166
6.71. Vim-8.1.1846 ..............................................................................................................
168
6.72. systemd-241 ...............................................................................................................
171
6.73. D-Bus-1.12.16 ............................................................................................................
175
6.74. Procps-ng-3.3.15 .........................................................................................................
177
6.75. Util-linux-2.34 ..............................................................................................................
179
6.76. E2fsprogs-1.45.3 .........................................................................................................
183
6.77. 关于调试符号 ..............................................................................................................
185
6.78. 再次清理无用内容 ........................................................................................................
185
6.79. 清理 ...........................................................................................................................
186
7. 基本系统配置 .........................................................................................................................
187
7.1. 简介 .............................................................................................................................
187
7.2. 通用网络配置 ................................................................................................................
187
7.3. 设备与模块管理概述 ......................................................................................................
190
7.4. 设备管理 .......................................................................................................................
192
7.5. 配置系统时间 ................................................................................................................
193
7.6. 配置 Linux 控制台 .........................................................................................................
193
7.7. 配置系统语言环境 ..........................................................................................................
194
7.8. 创建 /etc/inputrc 文件 ...................................................................................................
196
7.9. 创建 /etc/shells 文件 ....................................................................................................
196
7.10. systemd 的用法与配置 .................................................................................................
197
8. 让 LFS 系统可引导 .................................................................................................................
199
8.1. 简介 .............................................................................................................................
199
8.2. 创建 /etc/fstab 文件 .....................................................................................................
199
8.3. Linux-5.2.8 ....................................................................................................................
200
8.4. 使用 GRUB 设置启动过程 ..............................................................................................
204
9. 尾声 ......................................................................................................................................
206
9.1. 最后的最后 ...................................................................................................................
206
9.2. 为 LFS 用户数添砖加瓦 ..................................................................................................
206
9.3. 重启系统 .......................................................................................................................
206
9.4. 接下来做什么呢? ..........................................................................................................
207
IV. 附录 ............................................................................................................................................
209
A. 缩写和术语 .............................................................................................................................
210
B. 致谢 ......................................................................................................................................
212
v
Linux From Scratch (简体中文版) - 版本 9.0-systemd
C. 依赖关系 ................................................................................................................................
214
D. LFS Licenses .........................................................................................................................
224
D.1. Creative Commons License ............................................................................................
224
D.2. The MIT License ............................................................................................................
227
Index ................................................................................................................................................
228
LFS-SYSD-BOOK(Linux From Scratch (简体中文版)版本 9_0-systemd).pdf
Table of Contents
序章 .................................................................................................................................................... vii
i. 前言 ........................................................................................................................................... vii
ii. 致读者 ...................................................................................................................................... vii
iii. LFS 的目标架构 ........................................................................................................................ viii
iv. LFS 和标准 .............................................................................................................................. viii
v. 本书中的软件包逻辑 ................................................................................................................... ix
vi. 前提条件 .................................................................................................................................. xiii
vii. 排版约定 ................................................................................................................................. xiii
viii. 本书结构 ................................................................................................................................ xiv
ix. 勘误表 ..................................................................................................................................... xiv
I. 介绍 .................................................................................................................................................. 1
1. 介绍 .......................................................................................................................................... 2
1.1. 如何构建 LFS 系统 ............................................................................................................ 2
1.2. 自上一版手册发布后的变更 ................................................................................................ 2
1.3. 更新日志 ........................................................................................................................... 3
1.4. 资源 ................................................................................................................................. 6
1.5. 帮助 ................................................................................................................................. 6
II. 准备构建 .......................................................................................................................................... 8
2. 准备宿主系统 ............................................................................................................................. 9
2.1. 简介 ................................................................................................................................. 9
2.2. 宿主系统要求 .................................................................................................................... 9
2.3. 分阶段构建 LFS ............................................................................................................... 12
2.4. 创建新分区 ..................................................................................................................... 12
2.5. 在分区上创建文件系统 ..................................................................................................... 13
2.6. 设置 $LFS 变量 ............................................................................................................... 14
2.7. 挂载新分区 ..................................................................................................................... 14
3. 软件包和补丁 ........................................................................................................................... 16
3.1. 简介 ............................................................................................................................... 16
3.2. 所有软件包 ..................................................................................................................... 16
3.3. 需要的补丁 ..................................................................................................................... 22
4. 最后的准备工作 ........................................................................................................................ 24
4.1. 简介 ............................................................................................................................... 24
4.2. 创建目录 $LFS/tools ....................................................................................................... 24
4.3. 添加 LFS 用户 ................................................................................................................. 24
4.4. 设置环境 ......................................................................................................................... 25
4.5. 关于 SBUs ...................................................................................................................... 25
4.6. 关于测试套件 .................................................................................................................. 26
5. 构建临时系统 ........................................................................................................................... 27
5.1. 简介 ............................................................................................................................... 27
5.2. 工具链技术说明 ............................................................................................................... 27
5.3. 通用编译指南 .................................................................................................................. 28
5.4. Binutils-2.32 - 第 1 遍 .................................................................................................... 30
5.5. GCC-9.2.0 - 第 1 遍 ........................................................................................................ 32
5.6. Linux-5.2.8 API 头文件 .................................................................................................... 34
5.7. Glibc-2.30 ....................................................................................................................... 35
5.8. GCC-9.2.0 中的 Libstdc++ ............................................................................................... 37
5.9. Binutils-2.32 - 第 2 遍 .................................................................................................... 38
5.10. GCC-9.2.0 - 第 2 遍 ...................................................................................................... 39
5.11. Tcl-8.6.9 ....................................................................................................................... 41
5.12. Expect-5.45.4 ................................................................................................................ 42
5.13. DejaGNU-1.6.2 .............................................................................................................. 43
5.14. M4-1.4.18 .................................................................................................................... 44
5.15. Ncurses-6.1 .................................................................................................................. 45
5.16. Bash-5.0 ....................................................................................................................... 46
5.17. Bison-3.4.1 ................................................................................................................... 47
5.18. Bzip2-1.0.8 ................................................................................................................... 48
5.19. Coreutils-8.31 ............................................................................................................... 49
5.20. Diffutils-3.7 ................................................................................................................... 5Linux From Scratch (简体中文版) - 版本 9.0
5.21. File-5.37 ....................................................................................................................... 51
5.22. Findutils-4.6.0 ............................................................................................................... 52
5.23. Gawk-5.0.1 ................................................................................................................... 53
5.24. Gettext-0.20.1 ............................................................................................................... 54
5.25. Grep-3.3 ....................................................................................................................... 55
5.26. Gzip-1.10 ...................................................................................................................... 56
5.27. Make-4.2.1 ................................................................................................................... 57
5.28. Patch-2.7.6 ................................................................................................................... 58
5.29. Perl-5.30.0 .................................................................................................................... 59
5.30. Python-3.7.4 ................................................................................................................. 60
5.31. Sed-4.7 ........................................................................................................................ 61
5.32. Tar-1.32 ........................................................................................................................ 62
5.33. Texinfo-6.6 .................................................................................................................... 63
5.34. Xz-5.2.4 ........................................................................................................................ 64
5.35. 清理无用内容 ................................................................................................................ 65
5.36. 改变属主 ....................................................................................................................... 65
III. 构建 LFS 系统 ............................................................................................................................... 66
6. 安装基本的系统软件 ................................................................................................................. 67
6.1. 简介 ............................................................................................................................... 67
6.2. 准备虚拟内核文件系统 ..................................................................................................... 67
6.3. 软件包管理 ..................................................................................................................... 68
6.4. 进入 Chroot 环境 ............................................................................................................. 70
6.5. 创建目录 ......................................................................................................................... 71
6.6. 创建必要的文件和符号链接 .............................................................................................. 71
6.7. Linux-5.2.8 API 头文件 .................................................................................................... 74
6.8. Man-pages-5.02 .............................................................................................................. 75
6.9. Glibc-2.30 ....................................................................................................................... 76
6.10. 调整工具链 ................................................................................................................... 82
6.11. Zlib-1.2.11 .................................................................................................................... 84
6.12. File-5.37 ....................................................................................................................... 85
6.13. Readline-8.0 .................................................................................................................. 86
6.14. M4-1.4.18 .................................................................................................................... 87
6.15. Bc-2.1.3 ....................................................................................................................... 88
6.16. Binutils-2.32 ................................................................................................................. 89
6.17. GMP-6.1.2 .................................................................................................................... 91
6.18. MPFR-4.0.2 ................................................................................................................... 93
6.19. MPC-1.1.0 ..................................................................................................................... 94
6.20. Shadow-4.7 ................................................................................................................... 95
6.21. GCC-9.2.0 ..................................................................................................................... 98
6.22. Bzip2-1.0.8 ................................................................................................................. 102
6.23. Pkg-config-0.29.2 ........................................................................................................ 104
6.24. Ncurses-6.1 ................................................................................................................ 105
6.25. Attr-2.4.48 .................................................................................................................. 107
6.26. Acl-2.2.53 ................................................................................................................... 108
6.27. Libcap-2.27 ................................................................................................................. 109
6.28. Sed-4.7 ....................................................................................................................... 110
6.29. Psmisc-23.2 ................................................................................................................ 111
6.30. Iana-Etc-2.30 .............................................................................................................. 112
6.31. Bison-3.4.1 ................................................................................................................. 113
6.32. Flex-2.6.4 .................................................................................................................... 114
6.33. Grep-3.3 ..................................................................................................................... 115
6.34. Bash-5.0 ..................................................................................................................... 116
6.35. Libtool-2.4.6 ............................................................................................................... 117
6.36. GDBM-1.18.1 .............................................................................................................. 118
6.37. Gperf-3.1 .................................................................................................................... 119
6.38. Expat-2.2.7 ................................................................................................................. 120
6.39. Inetutils-1.9.4 ............................................................................................................. 121
6.40. Perl-5.30.0 .................................................................................................................. 123
6.41. XML::Parser-2.44 ......................................................................................................... 125
6.42. Intltool-0.51.0 ............................................................................................................. 126
6.43. Autoconf-2.69 ............................................................................................................. 127
iv
Linux From Scratch (简体中文版) - 版本 9.0
6.44. Automake-1.16.1 .........................................................................................................
128
6.45. Xz-5.2.4 ......................................................................................................................
129
6.46. Kmod-26 .....................................................................................................................
131
6.47. Gettext-0.20.1 .............................................................................................................
132
6.48. Libelf 源自 Elfutils-0.177 .............................................................................................
134
6.49. Libffi-3.2.1 ..................................................................................................................
135
6.50. OpenSSL-1.1.1c ..........................................................................................................
136
6.51. Python-3.7.4 ...............................................................................................................
137
6.52. Ninja-1.9.0 ..................................................................................................................
139
6.53. Meson-0.51.1 .............................................................................................................
140
6.54. Coreutils-8.31 .............................................................................................................
141
6.55. Check-0.12.0 ..............................................................................................................
145
6.56. Diffutils-3.7 .................................................................................................................
146
6.57. Gawk-5.0.1 .................................................................................................................
147
6.58. Findutils-4.6.0 .............................................................................................................
148
6.59. Groff-1.22.4 ................................................................................................................
149
6.60. GRUB-2.04 ..................................................................................................................
151
6.61. Less-551 ....................................................................................................................
153
6.62. Gzip-1.10 ....................................................................................................................
154
6.63. IPRoute2-5.2.0 ............................................................................................................
155
6.64. Kbd-2.2.0 ....................................................................................................................
157
6.65. Libpipeline-1.5.1 ..........................................................................................................
159
6.66. Make-4.2.1 .................................................................................................................
160
6.67. Patch-2.7.6 .................................................................................................................
161
6.68. Man-DB-2.8.6.1 ...........................................................................................................
162
6.69. Tar-1.32 ......................................................................................................................
164
6.70. Texinfo-6.6 ..................................................................................................................
165
6.71. Vim-8.1.1846 ..............................................................................................................
167
6.72. Procps-ng-3.3.15 .........................................................................................................
170
6.73. Util-linux-2.34 ..............................................................................................................
172
6.74. E2fsprogs-1.45.3 .........................................................................................................
176
6.75. Sysklogd-1.5.1 ............................................................................................................
178
6.76. Sysvinit-2.95 ...............................................................................................................
179
6.77. Eudev-3.2.8 ................................................................................................................
180
6.78. 关于调试符号 ..............................................................................................................
181
6.79. 再次清理无用内容 ........................................................................................................
181
6.80. 清理 ...........................................................................................................................
182
7. 基本系统配置 .........................................................................................................................
183
7.1. 简介 .............................................................................................................................
183
7.2. LFS-Bootscripts-20190524 ............................................................................................
184
7.3. 设备与模块管理概述 ......................................................................................................
185
7.4. 设备管理 .......................................................................................................................
187
7.5. 通用网络配置 ................................................................................................................
189
7.6. System V 启动脚本的运用与配置 ....................................................................................
191
7.7. Bash Shell 启动文件 ......................................................................................................
197
7.8. 创建 /etc/inputrc 文件 ...................................................................................................
198
7.9. 创建 /etc/shells 文件 ....................................................................................................
199
8. 让 LFS 系统可引导 .................................................................................................................
200
8.1. 简介 .............................................................................................................................
200
8.2. 创建 /etc/fstab 文件 .....................................................................................................
200
8.3. Linux-5.2.8 ....................................................................................................................
201
8.4. 使用 GRUB 设置启动过程 ..............................................................................................
204
9. 尾声 ......................................................................................................................................
206
9.1. 最后的最后 ...................................................................................................................
206
9.2. 为 LFS 用户数添砖加瓦 ..................................................................................................
206
9.3. 重启系统 .......................................................................................................................
206
9.4. 接下来做什么呢? ..........................................................................................................
207
IV. 附录 ............................................................................................................................................
208
A. 缩写和术语 .............................................................................................................................
209
B. 致谢 ......................................................................................................................................
211
C. 依赖关系 ................................................................................................................................
213
v
Linux From Scratch (简体中文版) - 版本 9.0
D. 启动及系统配置脚本版本-20190524 ....................................................................................... 223
D.1. /etc/rc.d/init.d/rc .......................................................................................................... 223
D.2. /lib/lsb/init-functions ..................................................................................................... 226
D.3. /etc/rc.d/init.d/mountvirtfs ............................................................................................ 237
D.4. /etc/rc.d/init.d/modules ................................................................................................ 238
D.5. /etc/rc.d/init.d/udev ..................................................................................................... 239
D.6. /etc/rc.d/init.d/swap ..................................................................................................... 240
D.7. /etc/rc.d/init.d/setclock ................................................................................................ 241
D.8. /etc/rc.d/init.d/checkfs ................................................................................................. 242
D.9. /etc/rc.d/init.d/mountfs ................................................................................................ 244
D.10. /etc/rc.d/init.d/udev_retry ........................................................................................... 245
D.11. /etc/rc.d/init.d/cleanfs ................................................................................................ 247
D.12. /etc/rc.d/init.d/console ............................................................................................... 248
D.13. /etc/rc.d/init.d/localnet ............................................................................................... 250
D.14. /etc/rc.d/init.d/sysctl .................................................................................................. 251
D.15. /etc/rc.d/init.d/sysklogd .............................................................................................. 252
D.16. /etc/rc.d/init.d/network ............................................................................................... 253
D.17. /etc/rc.d/init.d/sendsignals ......................................................................................... 254
D.18. /etc/rc.d/init.d/reboot ................................................................................................. 255
D.19. /etc/rc.d/init.d/halt ..................................................................................................... 256
D.20. /etc/rc.d/init.d/template ............................................................................................. 256
D.21. /etc/sysconfig/modules ............................................................................................... 257
D.22. /etc/sysconfig/createfiles ............................................................................................ 257
D.23. /etc/sysconfig/udev-retry ............................................................................................. 258
D.24. /sbin/ifup ................................................................................................................... 258
D.25. /sbin/ifdown ............................................................................................................... 260
D.26. /lib/services/ipv4-static ............................................................................................... 262
D.27. /lib/services/ipv4-static-route ...................................................................................... 263
E. udev 配置规则 ........................................................................................................................ 265
E.1. 55-lfs.rules .................................................................................................................... 265
F. LFS Licenses .......................................................................................................................... 266
F.1. Creative Commons License ............................................................................................ 266
F.2. The MIT License ............................................................................................................ 269
Index ................................................................................................................................................ 270
使用 KiCad 设计的 Linux 手机开源项目:
https://gitee.com/KiCAD-CN/KiCadOpenSourceProjectCollection#%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E
值得学习,
https://gitee.com/KiCAD-CN/kicad-cn-forum/blob/master/zh_CN/KiCad_plugin.md
KiCad 插件
扩展工具
FreeRouting 自动布线工具
简介:
是旨在但不限于印刷电路板(PCB)的布线软件。
通过使用标准 Specctra 或 Electra DSN 接口,它可以与许多 CAD 工具一起使用,包括 LayoutEditor,KiCad 和 Eagle。
它导入由 Specctra 接口生成的 DSN 文件并导出 Specctra 会话文件。
FreeRouting 由 Alfons Wirtz 于 2004 年开发。
他于 2008 年停止开发,并于 2014 年根据 GPL 发布了源代码。
从 2015 年开始,FreeRouting 包含在 LayoutEditor 软件包中,其源代码由其团队维护。最新的源代码,手册和所有其他相关信息可以在此网页上找到。
和 KiCad 一起使用要求:
要运行 FreeRouting,需要在 FreeRouting 可执行文件旁边添加一个 Java 运行时环境。默认情况下,许多系统应该已经安装了它。如果您的系统上缺少它,则可以从 Oracle Homepage下载它。
安装 FreeRouting 可执行文件的最简单方法是安装 LayoutEditor 软件包。它在 LayoutEditor 程序包的 bin 文件夹中包含一个已准备好使用的 FreeRouting 。要启动 FreeRouting 应用程序,只需按 freeRouting.jar 文件。或者,您可以从此网页下载 FreeRouting 源文件,并使用 Java Developer Tools 进行编译。
// 在 LayoutEditor 安装目录下使用命令行运行 freerouting.jar
java -jar freerouting.jar
用法:
在 PCBnew 工具中,请按下自动布线按钮
Freerouting 工具的对话框将打开。在此对话框中,您可以导出光绘文件(.DSN)。这是 FreeRouting 需要的输入文件。打开 FreeRouting 后,打开此文件并执行布线。布线完成后,将结果存储到光绘会话文件(.SES)。在同一个 KiCad 对话框中,可以导入带有布线结果的文件。该对话框还包含使用 FreeRouting 的附加帮助。
kicadStepUpMod
KiCad StepUp 工具是 FreeCAD 宏和 FreeCAD WorkBench,用于帮助 KiCad EDA 和 FreeCAD 或机械 CAD 之间的机械协作。
功能:
在 FreeCAD 中加载 KiCad 板和零件并将其导出到 STEP(或 IGES)以进行完整的 ECAD MCAD 协作
在 FreeCAD 中加载 kicad_mod 封装,以便轻松精确地将机械模型与 kicad 封装对齐
使用材料属性将零件,板,外壳的 STEP 3D 模型转换为 VRML,以便在 kicad 中得到最佳使用
检查外壳和封装设计的干扰和碰撞
使用 FreeCAD Sketcher 设计一个新的 pcb Edge 并将其推送到现有的 kicad_pcb 板
从 kicad_pcb 板中拉出 pcb Edge,在 FC Sketcher 中编辑它并将其推回 kicad
在 FreeCAD 中设计一个新的封装,以在封装中获得 Sketch 的力量
生成 Blender 兼容的 VRML 文件
KiCost
KiCost 旨在作为一个脚本运行,用于为使用 KiCad 开发的电路板生成部分成本电子表格。除命令行外,KiCost 还带有图形用户界面。
特征:
通过 pip 轻松安装(参见文档文件夹)。
处理来自 KiCad 原理图的 BOM XML 文件,通过设置几个流行的分销商 Web 服务器的价格和库存数据来创建零件成本电子表格。(您也可以输入自己的数量调整后的定价数据,用于专门的零件或在支持的经销商处找不到的。);
处理来自 Altium,Proteus,Eagle,Upverter 和手工制作的 CSV 的 BOM 文件;
电子表格包含每个经销商对单个元件和总板的数量调整定价;
输入要在电子表格单元格中构建的板数,并更新总板和各个元件的所有定价;
电子表格还显示每个经销商的每个元件的现有库存;
输入您要从每个经销商处购买的每个元件的数量,元件编号和数量列表将以您可以直接剪切并粘贴到每个经销商的网站订购页面的格式显示。
altium2kicad
用于 PCB 和原理图的 Altium 到 KiCad 转换器。
最新的 KiCad 测试版本已经实现 AD PCB 导入功能。https://gitlab.com/kicad/code/kicad/-/merge_requests/60 可以通过下载最新的 夜间测试版 体验功能。
Arch Linux 和 Manjaro Linux 通过 AUR 安装:
// 能力越大,责任越大。明白每一行命令是什么意思再执行。
// 搜索 altium2kicad-git
yaourt -Ss altium2kicad-git
// 安装 altium2kicad-git
yaourt -S altium2kicad-git
// 需要从 GitHub 仓库下载源码。下载速度可能会收到影响。这里建议使用 proxychains 套一层代理来安装。
// 安装 proxychains-ng 软件包
pacman -S proxychains-ng
// 修改 /etc/proxychainas.conf
sudo vim /etc/proxychains.conf
// 在最后面新增一行代理地址 支持 http/https/socks5 根据实际情况配置如:
http 127.0.0.1:8080
https 127.0.0.0:8443
socks5 127.0.0.1:1080
// 修改后保存退出。使用方式在原本命令行前加上 proxychains 就可以走自定义代理。并自行根据实际情况进行测试。
proxychains curl www.google.com/www.github.com
// 使用 proxychains 下载 AUR 包
proxychains yaourt -S altium2kicad-git
系统要求:Perl 可选:https://github.com/cbernardo/kicad_oce_vis 或 https://github.com/twlostow/step2wrl 或 FreeCAD 要将 Altium 项目转换为 KiCad:
该软件也作为在线服务提供:http://www2.futureware.at/KiCad/
转到包含 .PcbDoc 和 .SchDoc 文件的目录并运行:
unpack.pl(它将 .PcbDoc 和 .SchDoc 文件解压缩到子目录中)
如果 Altium 设计包含步进格式的 3D 模型,请运行 kicadd_oce_vis 或 step2wrl 或 FreeCAD 将文件转换为 wrl(打开 FreeCAD 并执行宏 step2wrl.FCMacro)
convertedchema.pl(它将原理图从子目录转换为 .sch 和 -cache.lib 文件)
convertpcb.pl(它将PCB转换为 .kicad_pcb 文件)
由于 Altium 和 KiCad 之间的巨大差异,弱文件格式文档和文件格式的高复杂性,此转换器无法保证转换的质量。请验证转换器的输出如果此转换器不适用于您的文件,请随时提供您的文件和屏幕截图,了解它们的外观和样式,我将尽力提供帮助。
此转换器的当前限制:
不转换设计规则检查设置
目前已知的 KiCad 限制:
组件符号的贝塞尔曲线 -> WONTFIX -> 线性化的解决方法
多行文本框架
具有多个水平线排列为三角形的 GND 符号
单个对象的单独颜色,如线条,......
椭圆
圆角矩形
椭圆弧
软硬结合
不支持八角焊盘
线宽大于 Altium 设计半径的弧线会破坏 VRML 输出
STEP(STP)文件支持 -> 将来会修复,中间解决方法:使用 stp2wrl 或 FreeCAD 进行转换
KiCad 生产文件生成器
KiCad 绘图工具 Fork 自 https://github.com/blairbonnett-mirrors/kicad/blob/master/demos/python_scripts_examples/gen_gerber_and_drill_files_board.py
S-Expression 解析工具 Fork 自 https://github.com/tkf/sexpdata
使用方法:
适用于:KiCad EDA 5.1.0 +
下载插件,使用以下命令
Windows 安装:
git clone https://github.com/xtoolbox/kicad_tools.git %appdata%/kicad/scripting/plugins/kicad_tools
Linux 安装:
git clone https://github.com/xtoolbox/kicad_tools.git ~/kicad/scripting/plugins/kicad_tools
或:
git clone https://github.com/xtoolbox/kicad_tools.git ~/.kicad_plugins/kicad_tools
Mac OS 安装:
git clone https://github.com/xtoolbox/kicad_tools.git ~/Library/Application Support/kicad/scripting/plugins/kicad_tools
新版 Mac OS:
git clone https://github.com/xtoolbox/kicad_tools.git ~/Library/Preferences/kicad/scripting/plugins/kicad_tools
或者在[工具]->[外部工具]下执行 Gen Manufacture Docs 命令。
BOM 文件和位置文件会以 CSV 格式存放在电路板相同目录下,Gerber 和钻孔文件放在电路板目录下的 Gerber 目录中。通过此方法生成的钻孔文件中的槽孔会被转换成多个普通孔。
注意:
GenMFDoc() 会改变电路板的钻孔原点。建议先用 GenMFDoc() 生成 BOM 文件和位置文件,再生成 Gerber 文件。 生成的 BOM 文件和坐标文件以及 Gerber 和钻孔文件可以直接在 sz-jlc.com 进行贴装
PCAD/AD库文件转换KiCad工具
特点:
Altium Designer 的二进制原理图库转换成 KiCad 格式
PCAD 的 ASCII 原理图库转换成 KiCad 格式
PCAD 的 ASCII 封装图库转换成 KiCad 格式
ad2kicad
需要 7z 和 lua 5.3
单个模式:
lua ad2kicad.lua <输入文件名> [输出文件名] [fpLib]
批处理模式:
lua ad2kicad.lua --batch <输入路径> [输出路径] [fpLib] [prefix] [O1 = N1 [O2 = N2 ...]]
pcad2kicad
需要 lua 5.3
单个模式:
lua pcad2kicad.lua <输入文件名> [输出文件名] [输出路径] [fpLib]
批处理模式:
lua pcad2kicad.lua --batch <输入路径> [输出路径] [fpLib] [prefix] [O1 = N1 [O2 = N2 ...]]
WireIt 插件
这个 PCBNEW 插件允许您在 PCB 上的焊盘之间添加电线(或网络),删除它们,并在焊盘之间交换电线。在进行 FPGA 等高引脚数封装的布局时,这有助于物理连接多组相关引脚。
免费软件:MIT 许可证
特征:
将两个或多个焊盘彼此连接或连接到现有网。
从网上取下一个或多个焊盘。
交换连接两个焊盘的网。
输出包含对网表所做更改的文件。
安装:
只需将 WireIt.py 文件和 WireIt_icons 目录复制到以下目录之一:
Windows 安装:
git clone https://github.com/xesscorp/WireIt.git %appdata%/kicad/scripting/plugins/WireIt
Linux 安装:
git clone https://github.com/xesscorp/WireIt.git ~/kicad/scripting/plugins/WireIt
或:
git clone https://github.com/xesscorp/WireIt.git ~/.kicad_plugins/WireIt
Mac OS 安装:
git clone https://github.com/xesscorp/WireIt.git ~/Library/Application Support/kicad/scripting/plugins/WireIt
新版 Mac OS:
git clone https://github.com/xesscorp/WireIt.git ~/Library/Preferences/kicad/scripting/plugins/WireIt
注意
如果在 plugins 目录下使用目录安装,无法使用的话,请手动将相关文件移动到 plugins 目录下。 手动重启软件后即可使用。 如下:
Windows 下调整目录:
mv %appdata%/kicad/scripting/plugins/WireIt/* %appdata%/kicad/scripting/plugins/
del %appdata%/kicad/scripting/plugins/WireIt/
Linux 下调整目录:
mv ~/kicad/scripting/plugins/WireIt/* ~/kicad/scripting/plugins/
rm -r ~/kicad/scripting/plugins/WireIt
用法:
按下 工具 => 扩展插件 => WireIt 按钮启动插件。这为四个 WireIt 工具中的每个工具添加了一个按钮到 PCBNEW 窗口:
WireIt 工具:
该工具将焊盘连接到网。它使用如下:
使用 shift 键单击鼠标操作,在 PCB 上选择一个或多个焊盘,布线轨道或区域。
单击按钮。 单击 WireIt 按钮后,将发生以下任一情况:
如果所有焊盘都未连接,则会出现一个对话窗口,您可以在其中键入将要连接它们的新网络的名称,或选择现有网络的名称。按下 OK 按钮将导致所选焊盘之间出现空气线。按下 Cancel 将中止导线的创建。
如果所有焊盘/轨道/区域已连接到同一网络,则会出现一个对话窗口,允许您输入该网络的新名称,或选择现有的网络名称。然后原始网上的那些焊盘/轨道/区域和任何其他焊盘/轨道/区域 将被移动到新网。
如果一些焊盘/轨道/区域已连接到单个网络而其余焊盘未连接,则未连接的焊盘将被添加到该网络。没有用于命名网络的对话窗口,因为它已有名称。
如果两个或多个焊盘/轨道/区域已经连接到不同的网络,那么这些网络将被合并,并且这些网络上的所有焊盘/轨道/区域将被移动到合并的网络。将出现一个对话窗口,允许您选择合并网络的名称。
CutIt 工具:
此工具可从网络中移除一个或多个焊盘。它使用如下:
使用 shift 键单击鼠标操作选择 PCB 上的一个或多个焊盘。
单击按钮。 点击 CutIt 按钮后,任何连接到选定焊盘的电线都将被移除,焊盘将不再连接。
SwapIt 工具
该工具交换连接到两个焊盘的网络。它使用如下:
使用 shift-click 鼠标操作精确选择两个焊盘。
单击按钮。
在点击 SwapIt 按钮之后,连接到两个焊盘的空气线将被更换,第一焊盘连接到第二焊盘的网,反之亦然。
DumpIt 工具
此工具用于编写包含 WireIt,CutIt 和 SwapIt 工具所做更改列表的文件。这是通过将当前 PCB 网表与首次激活 WireIt 工具时存在的网表进行比较来完成的。
单击该按钮将显示一个对话框窗口,您可以在其中指定用于存储布线更改列表的文件。(您可以键入文件名,使用文件浏览器,或将文件拖放到对话框窗口中的文本字段。)单击 OK 按钮会将布线已更改的文本列表写入文件。(该文件的任何先前内容都将被覆盖。)然后,您负责手动将网表更改注释到与此 PCB 布局关联的原理图中。单击该 Cancel 按钮将中止文件的写入。
一些其他操作
将焊盘从一个网移动到另一个网
选择焊盘。
使用 CutIt 工具断开焊盘与任何网络的连接。
再次选择焊盘(在 CutIt 操作后将取消选择它们)。
在要连接焊盘的网络上选择焊盘,轨道或区域。
单击 WireIt 工具将焊盘连接到选定的网络。
KiCad 的交互式 HTML BOM 插件
该插件生成方便的 BOM 清单,能够在视觉上关联并轻松搜索 PCB 上的元件及其放置。
这在手工焊接原型时非常有用,你必须找到 50 个应该有 0.1uF 电容的地方,或者哪个 SOP8 封装用于相同的微型。动态突出显示 PCB 渲染中同一组中的所有元件,可以更轻松地手动填充电路板。
这个插件利用 Pcbnew Python 绑定来读取 PCB 数据并渲染丝网印刷,fab 层,封装焊盘,文本和绘图。此外,如果您通过 Eeschema 可以从其内部 BOM 工具生成的网表或 xml 文件导出数据,它可以从原理图中提取数据。额外数据可以作为 BOM 表中的附加列添加(例如厂商 ID ),也可以用于指示应该完全省略哪些元件(dnp字段)。有关功能的完整描述,请参阅 wiki。
生成的 HTML 页面是完全独立的,不需要互联网连接即可工作,可以与项目文档一起打包或托管在网络上的任何位置。
演示胜过千言万语
安装和使用
有关说明,请参阅项目 Wiki。
Windows 安装:
git clone https://github.com/openscopeproject/InteractiveHtmlBom.git %appdata%/kicad/scripting/plugins/InteractiveHtmlBom
Linux 安装:
git clone https://github.com/openscopeproject/InteractiveHtmlBom.git ~/kicad/scripting/plugins/InteractiveHtmlBom
或:
git clone https://github.com/openscopeproject/InteractiveHtmlBom.git ~/.kicad_plugins/InteractiveHtmlBom
Mac OS 安装:
git clone https://github.com/openscopeproject/InteractiveHtmlBom.git ~/Library/Application Support/kicad/scripting/plugins/InteractiveHtmlBom
新版 Mac OS:
git clone https://github.com/openscopeproject/InteractiveHtmlBom.git ~/Library/Preferences/kicad/scripting/plugins/InteractiveHtmlBom
许可证和基本信息
插件代码在 MIT 许可下获得许可,LICENSE 有关详细信息,请参阅。
HTML 页面使用嵌入到生成的 BOM 页面中的 Split.js 和 PEP.js 库。
units.py 是从 KiBom 插件(麻省理工学院许可证)借来的。
svgpath.py 很大程度上基于 svgpathtools 模块(MIT 许可证)。
KiCad 动作插件
此存储库包含 KiCad pcbnew Action Plugins()
所有插件都已经在 Windows7 上的 Kicad 5.1-1 上进行了测试。您需要启用 KICAD_SCRIPTING_WXPYTHON。即使使用 Python3,他们也应该使用 GNU/Linux发行版和 MacOS。
根据 Python Plugin Development for Pcbnew 指南,这些插件已经被开发为一个复杂的插件。
将 teplugin copy 相关文件夹安装到 KiCad 配置文件夹的 “scripting / plugins” 子文件夹中:
Windows 安装:
git clone https://github.com/MitjaNemec/Kicad_action_plugins.git %appdata%/kicad/scripting/plugins/Kicad_action_plugins
Linux 安装:
git clone https://github.com/MitjaNemec/Kicad_action_plugins.git ~/kicad/scripting/plugins/Kicad_action_plugins
或:
git clone https://github.com/MitjaNemec/Kicad_action_plugins.git ~/.kicad_plugins/Kicad_action_plugins
Mac OS 安装:
git clone https://github.com/MitjaNemec/Kicad_action_plugins.git ~/Library/Application Support/kicad/scripting/plugins/Kicad_action_plugins
新版 Mac OS:
git clone https://github.com/MitjaNemec/Kicad_action_plugins.git ~/Library/Preferences/kicad/scripting/plugins/Kicad_action_plugins
复制布局
此插件的目的是复制布局部分。复制基于分层表。复制的基本要求是要复制的部分完全包含在单个分层工作表中,复制部分只是同一工作表的副本。支持复杂的层次结构,因为复制的表可以包含子表。该插件复制了封装,区域,轨道和文本。
在复制部分(枢轴部分)布局后(封装,轨道,文本对象和区域放置),您需要:
放置要复制的部分的锚封装。这定义了复制部分的位置和方向。您可以使用 [放置封装] 动作插件。
在枢轴部分中选择相同的锚点。
运行插件。
选择要复制的层级。
选择要复制的工作表(默认为全部工作表)
选择是否还要复制轨道,区域和/或文本对象。
选择是要复制与枢轴边界框相交的轨道/区域/文本,还是仅复制包含在边界框内的轨道/区域/文本。
选择是否要删除已布局的曲目/区域/文本(这在更新已复制的布局时很有用)。
点击OK。
此外,您还可以选择是否还要复制区域,文本和/或轨道。默认情况下,只复制包含在由该部分中的所有封装构成的边界框中的对象。您还可以选择复制与此边界框相交的区域和轨迹。此外,可以删除已在复制的边界框中布局的轨道,文本和区域(在更新时很有用)。请注意,无论截面方向如何,边界框都是与x和y轴对齐的正方形。
复杂分层项目的复制示例。首先复制内层,然后复制外层。
复制
放置封装
这个插件将封装放在:
排队
圆
在方阵中
用于放置的插件可以通过连续的参考编号或不同的分层表上的相同 ID 来选择。
如果您想通过连续的参考号码来放置封装
选择要放置的序列中的第一个封装
运行插件
按参考编号选择哪个地方
选择要放置的序列中的封装
选择排列(线性,矩阵,圆形)
选择位置尺寸(在线性和矩阵模式下的x和y轴中的步进以及在圆周模式下的角度步长和半径)
运行插件
如果你想用相同的 ID 放置封装
选择要放置的序列中的第一个封装
运行插件
选择将放置封装的层次级别(在复杂的层次结构中)
选择要放置封装的工作表
选择排列(线性,矩阵,圆形)
选择位置尺寸(在线性和矩阵模式下的x和y轴中的步进以及在圆周模式下的角度步长和半径)
运行插件
按参考编号放置的示例 按参考号码排列
按工作表 ID 放置的示例 按工作表 ID 放置
删除所选
此插件删除所选项目。项目可以是:区域和/或轨道和/或封装。主要目的是删除选定的轨道以重做部分布局。
要运行插件:
选择要删除的项目(请注意,如果从左侧或右侧启动选择框,则在 KiCad 中会有所不同)
运行插件
选择要删除的内容
点击 OK
删除选定的曲目和区域
pad2pad 轨道距离
此插件计算两个焊盘之间的最短距离。请谨慎使用,因为算法遵循轨道布局,结果并不总是正确的。此外,不考虑过孔距离。下图显示距离不正确的示例。这里,算法计算从第一个焊盘到第4个引脚然后到另一个焊盘的距离。它没有考虑在它们实际分支的环绕区域处的两个轨道之间的连接,使得测量的距离比实际更长。 轨道布局混淆了算法
对于复杂轨道(GND,电源轨),计算可能需要相当长的时间。
要运行插件:
选择两个焊盘片来测量它们之间的距离
运行插件
选择要删除的内容
点击 OK
测量焊盘到焊盘距离
net2net 最小距离
此插件计算不同网络上两个轨道之间的最短距离。要使用,请在第一个网络上选择一个焊盘,在第二个网络上选择一个焊盘并运行该插件。
压缩工程
这个插件压缩工程,从而使其可移植。
原理图归档是通过项目缓存库实现的。项目缓存库被复制到 project-archive.lib,它被修改并添加到项目符号库表中(如果表不存在则创建它)。此外,修改了原理图中符号的链接,以便它们指向归档库中的符号。然后,删除缓存库。Eeschema 将在下次编辑原理图时重新创建正确的缓存库。
pcb 及其封装的存档已经在 pcbnew 中实现。
3D 模型存档位于 “shapes3D” 子文件夹中,其中复制所有 3D 模型。然后,修改布局(.kicad_pcb)文件中模型的链接,以便它们指向具有相对于项目文件夹的路径的归档 3D 模型。
该插件从 pcbnew 运行。当插件运行时,必须关闭 eeschema。如果插件成功完成,它会自动关闭 pcbnew。预期此行为是执行操作所必需的。
如果项目稍后被修改,则应该再次存档以便保持可移植性。如果必须更换单元的符号,则必须删除具有相同符号的所有单元。
交换引脚
这个插件交换两个焊盘(布局)和它们相应的引脚(原理图中)。原理图中的引脚必须直接或通过短线段连接到本地或全局标签或分层标签。该插件还适用于多单元元件和/或跨不同层级。
只能连接一个引脚。目前不支持“无连接”标志。当插件在 pcbnew 中执行时,必须关闭 Eeschema。插件完成后,您应该保存布局。请注意,使用undo只会撤消布局中的更改,而不会撤消原理图中的更改。要反转操作,可以再次运行插件。
引脚交换示例 在本地标签上交换引脚
交换单位
这个插件交换两个单元(布局)和 r 单元(原理图)。当插件在 pcbnew 中执行时,必须关闭 Eeschema。跨分层页面的单元交换工作。请注意,使用undo只会撤消布局中的更改,而不会撤消原理图中的更改。要反转操作,可以再次运行插件。
单元交换示例
交换不同分层页面中的单位
长度统计
此插件显示所选网络上所有轨道的长度。这可以用于长度匹配。
工作流程:
选择要显示长度的网络上的轨道或焊盘。您还可以选择封装
运行插件。您可以删除冗余网络
铺设轨道
关闭轨道长度窗口 例: 长度统计
保存/恢复布局
此插件保存所选 pcb 的部分布局(仅保存特定的层级)。如果它基于相同的分层子表,则可以将此布局导入另一个 pcb。测试和检查相等性。
工作流程:
选择要为其保存布局的层次结构中的一个封装。
运行插件并选择“保存布局”
选择要保存布局的文件
创建一个新项目。将用于层次结构的所选.sch文件复制到项目文件夹,并将其链接到原理图
创建一个新布局。
放置并选择锚点。这定义了恢复布局的位置和方向。
运行插件。
选择“恢复布局”9:选择存储布局数据的文件
Voila,观察恢复的布局 例: 长度统计
KiCad 射频工具
兼容性:KiCAD 5.1.4。
轨道的圆化工具。 (将复制到 KiCad 插件目录)。
Windows 安装:
git clone https://github.com/easyw/RF-tools-KiCAD.git %appdata%/kicad/scripting/plugins/RF-tools-KiCAD
Linux 安装:
git clone https://github.com/easyw/RF-tools-KiCAD.git ~/kicad/scripting/plugins/RF-tools-KiCAD
或:
git clone https://github.com/easyw/RF-tools-KiCAD.git ~/.kicad_plugins/RF-tools-KiCAD
Mac OS 安装:
git clone https://github.com/easyw/RF-tools-KiCAD.git ~/Library/Application Support/kicad/scripting/plugins/RF-tools-KiCAD
新版 Mac OS:
git clone https://github.com/easyw/RF-tools-KiCAD.git ~/Library/Preferences/kicad/scripting/plugins/RF-tools-KiCAD
轨迹圆化(动作插件)。
焊料蒙版扩展器(动作插件)。
轨迹长度(动作插件)。
通过栅栏生成器(动作插件)[需要速裁器]
KiCad-动作-脚本
Windows 安装:
git clone https://github.com/jsreynaud/kicad-action-scripts.git %appdata%/kicad/scripting/plugins/kicad-action-scripts
Linux 安装:
git clone https://github.com/jsreynaud/kicad-action-scripts.git ~/kicad/scripting/plugins/kicad-action-scripts
或:
git clone https://github.com/jsreynaud/kicad-action-scripts.git ~/.kicad_plugins/kicad-action-scripts
Mac OS 安装:
git clone https://github.com/jsreynaud/kicad-action-scripts.git ~/Library/Application Support/kicad/scripting/plugins/kicad-action-scripts
新版 Mac OS:
git clone https://github.com/jsreynaud/kicad-action-scripts.git ~/Library/Preferences/kicad/scripting/plugins/kicad-action-scripts
KiCad BGA 工具
Windows 安装:
git clone https://github.com/Laksen/kicad-bga-tools.git %appdata%/kicad/scripting/plugins/kicad-bga-tools
Linux 安装:
git clone https://github.com/Laksen/kicad-bga-tools.git ~/kicad/scripting/plugins/kicad-bga-tools
或:
git clone https://github.com/Laksen/kicad-bga-tools.git ~/.kicad_plugins/kicad-bga-tools
Mac OS 安装:
git clone https://github.com/Laksen/kicad-bga-tools.git ~/Library/Application Support/kicad/scripting/plugins/kicad-bga-tools
新版 Mac OS:
git clone https://github.com/Laksen/kicad-bga-tools.git ~/Library/Preferences/kicad/scripting/plugins/kicad-bga-tools
KiCad-diff
我在 MacOS10.12 上运行这个安装程序,但是我想任何 Linux 变体都可以工作。Windows-YMMV.
相依性。
gsed(Mac sed 有限)。
启用 Python 脚本的 KiCad。
形象魔术。
Fossil SCM(或 Git 或 SVN)。
可能还有其他一些,但所有都是在 BREW 的帮助下安装的。 (如果您使用的是 MacOS X,并且 Imagemagick 的转换有问题,您可以尝试使用 RSVG 库重新安装它。使用自制软件: BREW 删除 Imagemagick。 BREW 安装 imagemagick--with-library svg。
** 使用说明 **
检查您的配置管理工具的路径是否正确(第32-34行)。
在 /usr/local/bin 中安装 plotPCB2.py (或调整第480/481行的路径)。 (我可能应该将这类内容添加到配置文件中,但我可能会等待V2.)。
安装 imagemagick。
运行主脚本,并从 GUI 中选择源代码管理存储库中的一对版本。
选择分辨率。
选择要比较的图层。 该脚本应该构建一系列 SVG 文件,并在网页中显示差异。
计划:
用 Python 重写以改进与 KiCad 的集成。 干完。 可能支持其他 VCS 工具。 干完。 选择图层集和分辨率的机制。 干完。 改进了文本差异的解析和意义。 进行中
KiCad 泪滴脚本
kicad_script
一些 kicad 脚本
泪滴
此操作插件向 PCB 添加和删除泪滴。 有关它的详细信息,请参阅 teardrop 目录中的自述文件。
KiCad 配色脚本
KiCad 配色
快速交换 KiCad 主题/配色方案。 KiCad 的默认颜色似乎是从 R、G 和 B 组件的每个值的值 [0、132、194、255]中选择的。 我们可以修改这些颜色以获得更美观的效果。 创意&来自 https://github.com/pointhi/kicad-color-schemes 的启示
用法: 调用生成文件将就地修改您当前的配置文件
git clone https://github.com/skalidindi3/kicad-colors.git
macOS: ~/Library/Preferences/kicad/eeschema
Linux: ~/.config/kicad/eeschema
创建备份
# 列出 eesschema 的可用主题
$ make show_eeschema_options
set_eeschema_base16_dracula
set_eeschema_base16_nord
set_eeschema_base16_oceanicnext
set_eeschema_base16_onedark
set_eeschema_base16_rebecca
set_eeschema_default
set_eeschema_handpicked_nord
set_eeschema_handpicked_onedark
# 为 eesschema 选择特定主题
$ make set_eeschema_base16_nord
# 切换回原始 eesschema 颜色
$ make set_eeschema_default
KiCad 配色主题
如何使用色彩主题 每个主题目录都包含在您的个人配置文件中找到的 eesschema 和 pcbnew 设置文件的颜色定义部分。
git clone https://github.com/pointhi/kicad-color-schemes.git
Linux 下: ~.config/kicad/
Windows XP: “C:\Documents and Settings\username\Application Data” + kicad (= %APPDATA%\kicad)
Windows Vista 或更高: “C:\Users\username\AppData\Roaming” + kicad (= %APPDATA%\kicad)
OSX: 用户 home 目录 + /Library/Preferences/kicad
使用文本编辑器使用在此文件夹的文件中找到的数据覆盖相关部分。 请确保先创建备份。 pcbnew 配置文件内容已被分成负责封装外形编辑器的部分和负责 pcbnew 的部分。 这样做是为了让您可以更轻松地混合和匹配不同工具的不同方案。
自动打补丁程序。 自动补丁脚本可用于将配色方案传输到 KiCad 设置文件中。 在使用 KiCad 之前,请确保它已关闭。 脚本期望包含配色方案的目录和 KiCad 配置目录作为参数。 包括开关以禁用方案定义的特定部分的传输。 (有关详细说明,请使用 --help。)。 在进行更改之前,将创建设置文件的备份。
python3 patch.py ~/kicad-color-schemes/blue-green-dark/ ~/.config/kicad/
GerberTools
用于加载/编辑/创建/拼板/预渲染 Gerber 文件集的工具。
感谢 laserjiang121 UP 主提供的 KiCad原创中文视频教学98单元---插件和多 PCB 拼板软件 教程。
uConfig
一个旧的个人项目重新启动,从 PDF 数据表中提取引脚并创建 KiCad 原理图。
直接保存 KiCad库文件。使用大量引脚可以更好地工作。
PDF 提取,它是怎么工作的?
从 PDF 文件中提取引脚映射是通过解析数据表来完成的。弹出器用于提取文本块,并通过魔术规则对引脚编号和引脚标签进行排序。 标签和编号通过最相关的对进行关联,以创建引脚。然后,引脚列表也按包进行排序和关联。此包列表可以另存为 KiCad 库。
该工具的第二部分被命名为引脚规则,以允许遵循一组名为 KSS(Kicad Style Sheet) 的规则进行重组。KSS 文件类似于 CSS 文件,请看一下 KSS 引用变量。 它存在一个命令行工具,用于从数据表中提取组件:
uconfig datasheet.pdf -o lib1.lib -r microchip.kss
它将以 microchip.kss KSS 文件规则格式保存在 dataSheet.pdf 中的所有元件原理图中,保存在 lib1.lib 中。还可以使用 GUI 界面,称为 uconfig_gui。
KSS,KiCad 样式表。
以一种创新的方式为受 CSS 启发的原理图元件定义主题。这可以与 kicad Library Linter 相提并论。您可以在 rules/ directory 中找到示例,也可以查看KSS 引用变量。
二进制文件下载
为方便起见,以下网址提供了预建项目:
https://ci.appveyor.com/api/projects/sebcaux/uconfig/artifacts/uconfig-win32-v0.zip
https://gitee.com/KiCAD-CN/kicad-cn-forum/blob/master/zh_CN/KiCad_doc.md
KiCad 文档
KiCad 在线文档
KiCad 在线简体中文文档 目前简体中文文档和 i18n 由 kicad-cn 和 taotieren 提供翻译和维护。
KiCad 离线文档
KiCad 文档简体中文仓库,由于 Gitee 仓库大小限制目前只提供编译完后英文原版和简体中文文档下载。
KiCad 文档简体中文 PDF 下载 发行版只提供 PDF 文档,需要其他格式文档请自行到仓库对应目录下载。
因为 KiCad 在线文档的 CI/CD 服务所使用的是 Ubuntu 14.04 系统,和我本地使用的 Manjaro Linux 编译系统不一致,会存在简体中文文档编译后显示不全,甚至部分表格排序错误等问题,目前正在和 KiCad 文档团队沟通此问题,暂时提出使用多种不同编译环境来编译文档,最后发行版本使用哪个编译环境还没确定。也有提出更新文档编译系统,也有提出更新文档编译方式,因为编译的文档是通过 latex 来进行的。目前的 latex 是使用 Python2 开发,现在 Python 官方将放弃 Python2 的支持。
如果需要阅读简体中文文档前使用离线文档阅读或校对,如果在文档阅读中遇到不明白或者更好建议都可以到仓库下提交建议或者问题。
每次的简体中文文档发行版都会提供相应的修复和更新说明。
配置 git 代理
配置 git 的 http https 代理
Linux 和 Windows 都适用
# gitlab 服务器在国外下载速度速度收到很大影响。下面对 gitlab 配置 http https 代理。同理也可以对 github 配置 http https 代理。
git config --global http.https://gitlab.com.proxy socks5://127.0.0.1:1080
git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
# 其中 socks5://127.0.0.1:1080 换成你使用代理服务。如:
git config --global http.https://gitlab.com.proxy http://127.0.0.1:8080
配置 git 的 ssh 代理
Linux 系统
# 需要安装 openbsd-netcat 来实现转发,以 Manjaro Linux 安装为例:
sudo pacman -S openbsd-netcat
# 在用户目录下的 .ssh/ 创建 config 文件
vim ~/.ssh/config
# 详细配置如下
Host github.com
Host gitlab.com
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p
HostName %h
Port 22
User git
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
Windows 系统
Windows 10 带有 connect 转发工具无需手动安装。同样也是在 在用户目录下(c:\User\username\.ssh\)的 .ssh\ 创建 config 文件
Host github.com
Host gitlab.com
ProxyCommand connect -S 127.0.0.1:1080 %h %p # -H 为 HTTP
HostName %h
Port 22
User git
IdentityFile ~/.ssh/id_rsa
IdentitiesOnly yes
KiCad i18n 翻译
KiCad i18n 官方仓库。翻译使用的工具为 PoEdit 不同操作系统下载安装不同版本的工具。
克隆 kicad 源代码和 kicad-i18n 仓库
# 由于我在 kicad-i18n/zh_CN/kicad.po 中配置了自动从源代码更新翻译的功能。
# 目录名为 kicad-source-mirror 。克隆下来的源码仓库请重命名成 kicad-source-mirror
# 需要将 kicad-source-mirror 和 kicad-18n 放在同一级目录下。
git clone https://gitlab.com/kicad/code/kicad.git kicad-source-mirror
# 克隆 kicad-i18n 翻译仓库
git clone https://gitlab.com/kicad/code/kicad-i18n.git
切换分支
克隆下来的仓库默认是在 master 分支下。如果如果修改其他分支翻译需要切换两个仓库的分支状态。
KiCad 源码仓库分支切换
# 进入 kicad 源码目录
cd kicad-source-mirror
# 切换到 5.1 分支
git checkout 5.1
# 切换到 master 分支
git checkout master
kicad-i18n 仓库分支切换
# 进入 kicad 源码目录
cd kicad-i18n
# 切换到 5.1 分支
git checkout 5.1
# 切换到 master 分支
git checkout master
中文文案排版指南(翻译前前先阅读,注重排版规则,给用户带来更好的阅读体验。)
中文文案排版指南 仓库 , 镜像地址:https://gitee.com/KiCAD-CN/chinese-copywriting-guidelines 在线阅读地址:https://mazhuang.org/wiki/chinese-copywriting-guidelines/
关于 PoEdit 设置
补充一点关于 PoEdit 从源代码中更新的操作。 按照我上述的 git clone 操作的一步步进行的话。单击 PoEdit 中的 从源代码更新 就能自动从源代码中获取最新的翻译文件。
关于 PoEdit 的翻译操作可以参考 KiCad-doc 中的 《如何使用 GUI 翻译》手册。
翻译后单击 保存 按钮会进行自动编辑检测会自动在 zh_CN 目录下生成 kicad.mo 文件。可以用于下面的测试操作。 根据给出的提示就行操作。不懂的仓库提问。
kicad-i18n 翻译文件测试
Linux 下 master 分支翻译文件测试。以 Manjaro Linux (Arch Linux 也可以)为例: 配置 ArchLinuxCN 源使用方法:在 /etc/pacman.conf 文件末尾添加以下两行:
[archlinuxcn]
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
之后安装 archlinuxcn-keyring 包导入 GPG key。
安装 KiCad master 分支版本:
# 打包的时候将 kicad-git 和 kicad-i18n-git 合并成 kicad-git。只需安装 kicad-git 即可
yay -S kicad-git
替换翻译文件
# 先备份旧的翻译文件。以防新的翻译文件存在严重问题导致 KiCad 运行崩溃。无法进行测试。
sudo mv /usr/share/kicad/internat/zh_CN/kicad.mo /usr/share/kicad/internat/zh_CN/kicad.mo.bak
# 复制 zh_CN/kicad.mo 到 /usr/share/kicad/internat/zh_CN/kicad.mo
sudo cp zh_CN/kicad.mo /usr/share/kicad/internat/zh_CN
启动 KiCad 就能进行对应测试的操作。看看翻译有没有什么严重问题。显示问题排版问题等等。
Windows 到国内镜像站 获取 夜间测试版本 下载安装。 在 KiCad 安装目录下 KiCad\share\kicad\internat\zh_CN\kicad.mo 先备份原始的翻译文件。然后再用新的文件进行替换。 同样也能下载 5.1 分支的测试版本进行翻译测试。
提交 KiCad 翻译到官方仓库
kicad-i18n 官方仓库,需要注册 GitLab 账户。 这里就用通过网页的方式提交合并请求(PR): 在 kicad-i18n 网页仓库上 master 这里选择你想提交的你本地对应翻译分支。 如你本地完成 5.1 分支的翻译就在网页仓库这里选择 5.1 分支,然后单击 zh_CN/kicad.po 进去后单击 编辑 按钮; 会出现一个在线的编辑框。用文本编辑器打开你本地对应分支的 kicad.po 文件并复制里面的内容,全选在线编辑框的内容并删除,然后粘贴你本地的翻译内容到在线编辑框中。 提交信息建议填写保持仓库的简洁性:Update Simplified Chinese translation 然后单击 Commit changes(提交变更) 完成变更会进入到 New Merger Repuest(新建合并请求),还只是完成了变更过程,还需要一步提交过程。 如果你需要写一些描述信息就可以在 Description(描述)中书写你想表达的内容。填写完成后单击 Submit 合并请求 按钮。完成合并请求提交。
如果想通过 git 命令完成合并请求提交,这个参考精通 Git 手册第二版中介绍的 Git 命令行操作。
https://gitee.com/KiCAD-CN/kicad-cn-forum/blob/master/zh_CN/KiCad_install.md
KiCad 安装
KiCad 下载
KiCad 国内镜像
清华大学 TUNA 协会 短链接为:http://tuna.kicad.cn(推荐?)
莞工 GNU/Linux 协会 短链接为:http://dglinux.kicad.cn (开源软件镜像站)
南京大学开源镜像站 短链接为:http://nju.kicad.cn (电信路线速度慢)
重庆大学开源镜像站 短链接为:暂无
哈尔滨工业大学开源镜像站 短链接为:暂无 (仅支持 IPv6)
KiCad 国外镜像:
CERN 镜像 (因为某些原因有时会出现无法访问)
Github Releases (因为某些原因有时会出现无法访问)
KiCad 镜像目录使用说明(此处使用 TUNA 镜像为例说明,其余镜像同样适用)
KiCad 镜像目录说明
目录 说明 备注
appimage/ appimage 安装包 chmod +x *.AppImage && ./*.AppImage
archive/ 压缩文件 旧文件
docs/ 发行版的文档手册 包含 HTML、PDF、EPUB
doxygen/ KiCad 开发配置 详细开发手册
doxygen-python/ KiCad Python 开发配置 详细开发手册
libraries/ 封装库和集成库 发行版本的封装库和集成库
osx/ KiCad OSX 版本目录 包含稳定版、夜间版和测试版
windows/ KiCad Windows 版本目录 包含稳定版、夜间版和测试版
cleanup.sh 清理脚本 无
favicon.ico 图标 无
list.js JS 脚本 无
Windows 下载安装
KiCad Windows 版本下载
目录 说明 备注
nightly/ 夜间构建版本 无
stable/ 发行版本 看版本号选择合适的下载
testing/ 测试版本 选择对应分支下载测试
OS X 下载安装
OS X 版本下载
目录 说明 备注
nightly/ 夜间构建版本 无
stable/ 发行版本 看版本号选择合适的下载
testing/ 测试版本 选择对应分支下载测试
Linux 下载安装
AUR 包
添加 ArchlinuxCN 镜像:
yaourt -Syu
yaourt -S kicad-git
ArchlinuxCN 上的 kicad-git 实际上包含 kicad-git.git 和 kicad-i18n.git。kicad-i18n 能获得最新的翻译文件。
Ubuntu
sudo add-apt-repository --yes ppa:js-reynaud/kicad-5.1
sudo apt update
sudo apt install --install-suggests kicad
sudo apt install kicad
Debian
sudo apt update
sudo apt install kicad
apt search kicad-doc
# or alternatively if you are on wheezy
apt-cache search kicad-doc
Debian 编译源码:
sudo apt install cmake doxygen libboost-context-dev libboost-dev \
libboost-system-dev libboost-test-dev libcairo2-dev libcurl4-openssl-dev \
libgl1-mesa-dev libglew-dev libglm-dev libngspice-dev liboce-foundation-dev \
liboce-ocaf-dev libssl-dev libwxbase3.0-dev libwxgtk3.0-dev python-dev \
python-wxgtk3.0-dev swig wx-common
Linux Mint
sudo add-apt-repository --yes ppa:js-reynaud/kicad-5.1
sudo apt update
sudo apt install --install-suggests kicad
sudo apt install kicad
Fedora
安装发行版:
dnf install kicad
dnf --enablerepo=updates-testing install kicad
dnf install kicad-packages3d
安装夜间版:
dnf copr enable @kicad/kicad
dnf install kicad
dnf install kicad-packages3d
dnf copr remove mangelajo/kicad
dnf install dnf-plugins-core
OpenSUSE
Flatpak
flatpak install --from https://flathub.org/repo/appstream/org.kicad_pcb.KiCad.flatpakref
GNU Guix
guix package -i kicad
Gentoo
emerge sci-electronics/kicad
Sabayon
equo install kicad
源码安装
KiCad 简介
KiCad 一个跨平台的开源电子设计自动化套件。
KiCad 介绍:
KiCad EDA 是一款用于印刷电路板设计的开源自由软件,最初由法国人 Jean-Pierre Charras 于 1992 年推出,现由 KiCad 开发团队维护。
KiCad 目前支持英语、法语、德语、意大利语、中文、日语、韩语等 22 种语言版本。
软件包含原理图设计、线路板绘制、符号库设计、封装库设计、线路板 3D 显示、Gerber 查看、线路板实用计算等工具。
官网地址:http://www.kicad-pcb.org/
KiCad EDA 捐赠地址: https://cernandsocietyfoundation.cern/projects/kicad-development
2013 年 CERN(欧洲核子研究组织)的 BE-CO-HT 部门开始贡献一些资源支持其成为开源硬件领域与商用的 EDA 工具相当的工具软件。
软件主要开发语言:C++、 Python。
Eeschema 功能
原理图设计
原理图设计是高效的,具有您可以期望完成此类任务的所有工具。界面侧重于生产力。没有复杂性限制,因为大型设计可以划分为分层子表。提供各种导出选项(PDF,SVG,HPGL,Postscript)。
电气规则检查 (ERC)
电气规则检查(ERC)会自动验证您的原理图连接。它检查输出引脚冲突,缺少驱动器和未连接的引脚。
导出网表
导出网表格式包括:
PSPICE
CADSTAR
PcbNew
“通用” XML
物料清单 (BOM)
BOM 生成可通过 Python 脚本或 XSLT 进行扩展,这允许许多可配置的格式。
综合库
KiCad 自带了大量的符号,封装和匹配的 3D 模型库。他们是社区保持,所以他们永远不会停止改善。
PcbNew 功能
推挤布线
这个现代工具将帮助您更快地布局您的电路板。当您绘制轨道时,它会向前推进路径中的轨迹。如果无法做到这一点,您的轨迹将在障碍物周围重新布线。推挤和推挤布线器将确保您的 DRC 约束得到遵守。
布线长度调整
使用专用工具调整高速设计的走线长度。
3D 视图功能
在布置 PCB 时,您可以在交互式 3D 视图中即时检查您的设计。旋转和平移以比 2D 显示更容易检查细节。
KiCad-doc 是开源 EDA 套件 KiCad 项目下的手册。官方仓库地址: https://github.com/KiCad/kicad-doc 。
简体中文翻译后编译的仓库地址: https://gitee.com/KiCAD-CN/KiCad-doc_build 。
由于官方的 CI/CD 服务使用的是 Ubuntu 1404 环境,和我使用的 Manjaro Linux 编译环境不一致。官方编译后的文档会出现一些奇怪的问题,如:部分列表显示为英文未翻译状态,部分排版错乱,部分配图缺失等问题。
翻译更新状态:
KiCad_doc_zh_CN_v0.1
初步完成翻译
KiCad_doc_zh_CN_v0.2
初步完成配图
KiCad_doc_zh_CN_v0.2.1
修复配图错误
KiCad_doc_zh_CN_v0.3
修复排版问题
修复部分翻译缺失
修复部分翻译错误
KiCad_doc_zh_CN_v0.3.1
eeschema 新增总线翻译
KiCad_doc_zh_CN_v0.3.2
修复一些排版问题
补充一些翻译
优化一些翻译
KiCad_doc_zh_CN_v0.4
页面布局 -> 图框
优化排版
更新 PCB 计算器
更新 KiCad 插件翻译
修复一些遗留问题
KiCad_doc_zh_CN_v0.4.1
修复 eeschema 编译报错问题
文档全部汉化
Code 部分尝试翻译,如果反应良好,可以全部翻译
PCB 计算器翻译显示不全修复
其他文档表格显示不全以修复
KiCad_doc_zh_CN_v0.4.2
更新 PCB 计算器翻译
KiCad_doc_zh_CN_v0.4.3
更新 KiCad 入门中的流程图
更新 KiCad 计算器中的配图
KiCad_doc_zh_CN_v0.4.4
主要更新 Plugin 中的代码注释说明
KiCad_doc_zh_CN_PDF_v0.5.0
KiCad 仓库从 GitHub 迁移到 Gitlab 相关连接更新
KiCad_doc_PDF_zh_CN_v0.5.1
详情请看这里:KiCad_doc_zh_CN_v0.5.1
cvpcb ->导论 -> 简介 并修复一些错误
eeschema -> 因为 po4a 更新翻译会导致编译报错暂时未更新
gerbview -> 更新并修复一些翻译错误
gui_translation_howto -> 图形化翻译操作指南 新增国际语言缩写
getting_started_in_kicad -> 新增 TUNA 镜像及 KiCad-doc 中文仓库下载地址
idf_exporter -> 更新并修复一些错误
pcb_calculator -> 新增 2.7 节电路板类别 翻译并修复一些错误
pcbnew -> 新增相对参考位置翻译并修复一些翻译错误
kicad -> 项目 -> 工程 翻译并修复一些翻译错误
pl_editor -> 更新并修复一些错误
Plugins -> 更新并修复一些错误
https://whycan.cn/files/members/4208/KiCad_doc_zh_CN_v0_5_1.zip
页次: 1