A1

Uboot tftp 烧写 以下地址和大小仅适用于当时的分区表。预填充 0xff 要使用 mw.b,count 才按字节计;默认 mw 通常按 32 位单元写入,相同 count 会覆盖四倍的内存范围。烧写前还需确认 TFTP 成功且镜像大小未超过分区。 ...

October 14, 2026 · 2 min

dts

平台设备驱动程序 片上设备 物理存在于 SoC 内部的硬件模块,其特点是焊死在芯片内部,不可插拔,不可枚举(无discovery机制) UART 控制器 I2C 控制器 SPI 控制器 GPIO Timer 平台设备 设备树 **DTS(Device Tree Source):**DTS 是设备树的源文件,采用一种类似于文本的语法来描述硬件设备的结构、属性和连接关系 ...

October 14, 2026 · 7 min

tty

TTY终端 终端 终端是一个电子(或电气)设备,用于向系统输入数据(input),或者将系统接收到的数据显示出来(output),即我们常说的“人机交互设备”。 TTY(Teletypewriter)代表终端设备的概念,它允许用户与系统进行交互,在Linux中,TTY可分为如下几类: ...

October 14, 2026 · 3 min

内存

与内存有关的api mmap ​ mmap将文件或设备内存映射到进程地址空间的系统调用,常用于高效 I/O(如视频采集、文件读写)或进程间共享内存。在 V4L2(Video4Linux2)驱动中,它用来将内核的摄像头缓冲区映射到用户空间,以便直接访问图像数据,避免数据拷贝。 ...

October 14, 2026 · 2 min

时间

获取当地时间 将时间戳转换为进程当前时区的当地时间;时区通常由 TZ 或系统默认时区决定。“TZ 时间”不是独立的时间标准。 localtime time_t now = time(NULL); struct tm *tm_now = localtime(&now); printf("%04d-%02d-%02d %02d:%02d:%02d\n", tm_now->tm_year + 1900, tm_now->tm_mon + 1, tm_now->tm_mday, tm_now->tm_hour, tm_now->tm_min, tm_now->tm_sec); localtime_r 适用于多线程,函数原型: ...

October 14, 2026 · 2 min

系统构建与启动

Linux三板斧 U-Boot 编译uboot MC6830 export PATH=/home/meian/work/toolChain/molchipv500-armgcc-uclibc/bin:$PATH make boot myboard=mc6830/demoboard 产物 A1 产物 **u-boot.bin**只包含 U-Boot proper(第二阶段引导程序) **u-boot-with-spl.bin **= SPL(第一阶段) + U-Boot proper(第二阶段) + 可能的对齐/头部/校验/填充。 ...

October 14, 2026 · 12 min

Linux干货

Linux 干货速查 面向 Ubuntu 开发主机 + BusyBox 嵌入式开发板的个人速查。 约定 ⚠️ 标记危险命令(误用会丢数据 / 断网 / 毁分区),执行前务必确认设备名和路径。 命令行为在不同实现下可能不同,差异处标注:(GNU)Ubuntu 自带 / (BusyBox)板子 / (systemd)。 拿不准的地方标注「待确认」,不猜。 目录 Shell 与环境变量 文件与目录操作 文本搜索与处理 磁盘、分区与文件系统 内存、CPU 与 I/O 排查 网络配置与抓包 文件传输与共享 systemd 与系统服务 设备管理:udev 与 uevent 交叉编译工具链 常见故障与排查案例 Shell 与环境变量 重定向 从文件读入 stdin: ...

October 14, 2026 · 16 min

Linux系统编程

文件系统 文件索引节点:inode 两部分 纯数据区 文件真正的数据存储区、基本存储单位为block 元数据区 文件属性:磁盘中的存储位置、文件长度等信息 时间戳:atime(访问)、mtime(内容修改)、ctime(inode 状态变更);ctime 不是创建时间,创建时间 btime 是否可用取决于文件系统和接口 读写权限:通常在 open 等获取访问权限时检查文件权限;后续 read/write 还受文件描述符访问模式等约束 所属组、所有者 链接数 挂载 ​ 挂载是一个非常重要的功能,使用非常频繁。它指将一个设备(通常是存储设备,可以挂载光盘、硬盘、磁带、光盘镜像文件等)挂接到一个已存在的目录上,那么,你访问这个目录就是访问这个设备(这个目录可以不为空,但挂载后这个目录下以前的内容将不可用) ,一个目录一旦成为"挂载点",该目录下看到的内容,来自"被挂载的文件系统", 与父目录的存储介质完全无关。 ...

October 14, 2026 · 6 min

linux网络

TCP建立连接的过程 listen listen 将 socket 标记为被动监听状态。理解正常握手时,可以区分未完成握手的请求和已完成握手、等待 accept 的连接;开启 SYN cookies 等机制时,不一定为每个 SYN 保存半连接记录。 ...

October 14, 2026 · 3 min

Shell

Shell语法 case case "$变量" in 模式1) 命令 ;; 模式2) 命令 ;; esac ):表示这个匹配模式写完了,后面开始执行这个分支的命令。 ;;:表示这个分支结束,类似 C/C++ switch 里的 break。 |:表示“或者”,例如 bound|renew) 表示匹配 bound 或 renew。 in:开始列出匹配规则。 esac:结束 case,就是 case 倒过来写。

September 30, 2026 · 1 min

4G

驱动移植 ​ 4G模块加载 USB 转串口驱动option后会在/dev/下创建ttyUSB0、ttyUSB1 和 ttyUSB2 等设备文件。如果没有出现,需要在drivers/usb/serial/option.c里添加VID(Vendor ID)与PID(Product ID) ...

September 30, 2026 · 3 min

scsi

September 30, 2026 · 0 min

char_driver

May 27, 2026 · 0 min

Linux 内核

TTY终端 TTY 与串口:终端类型、设备节点及串口子系统。 进程调度 进程调度:进程类型与调度策略。 模块机制 模块机制:可加载模块与许可声明。 Page Cache 内存:Page Cache 和内存回收指标。 定时器 待补充。

October 14, 2026 · 1 min