嵌入式Linux开发全解析:从根文件系统到用户空间驱动
1. PWM控制与根文件系统概述
PWM(脉冲宽度调制)在嵌入式设备中有着广泛应用。通过对PWM占空比(输出波形的导通时间与周期的比值)进行编程,可以改变提供给目标设备的功率。例如,LCD亮度就可以通过PWM进行控制。根据目标设备和使用场景,还能为PWM实现字符或杂项驱动接口。
在Linux发行版出现之前,要为有限的存储设备量身打造一套紧凑的应用程序集是一项艰巨的任务。开发者需要拼凑出一套最小化的实用工具、库、工具和守护进程的源代码,确保它们的版本相互兼容,然后进行交叉编译。如今,现代的发行版为支持的处理器提供了现成的应用程序集,还提供了工具让用户可以按软件包粒度挑选组件。当然,你也可以实现自定义的实用工具和工具来补充发行版提供的应用程序。
在嵌入式设备中,闪存(Flash Memory)是常用的存储应用程序集的载体,在启动过程结束时会被挂载为根设备。相比之下,硬盘由于功耗大、体积大以及有不耐冲击和振动的移动部件,在嵌入式设备中使用较少。嵌入式设备上挂载根文件系统的常见位置包括:
- 初始RAM磁盘(initramfs或initrd):通常是在为其他潜在根设备获取驱动程序之前的起点,主要用于开发目的。
- NFS挂载的根文件系统:这是一种比使用RAM磁盘更强大的开发策略,后续会详细讨论。
- 存储介质:如闪存芯片、SD/MMC卡、CF卡、DOC和DOM等。
需要注意的是,将所有数据都存放在根分区可能不是一个好主意。通常会将文件分散到不同的存储分区,并设置所需的读写或只读保护标志,特别是在设备可能会突然关机的情况下。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



