嵌入式Linux中文站

开发专区

浅谈Linux下的syslog守护进程

浅谈Linux下的syslog守护进程

阅读(133)

syslog是Linux下默认的日志守护进程。任何希望生成日志信息的程序都可以通过syslog 接口实现该目的。 同时,几乎所有的网络设备都可以通过syslog协议,将日志信息以UDP的形式传送给远端服务器,远端接收日志服务器必须通过syslogd监听UDP端口514,并根据 syslog.conf 配置文件张的配置处理。配置文件 /etc/rsyslog.conf 中规定了syslogd如何根据设备和信息的重要级别来报告信息。 这里只需要有个大致了解即可,下面都会提到这些东西。 关于配置文件: Cent...

Linux usb子系统(一):子系统架构

Linux usb子系统(一):子系统架构

阅读(141)

一、 USB协议基础知识 前序:USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB) USB2.0版本速度480Mbps(高速USB)。 USB 分为主从两大体系,一般而言, PC 中的 USB 系统就是作主,而一般的 USB 鼠标, U 盘则是典型的 USB 从系统。 USB主控制器这一块,我们至少要开发出 USB 的主控制器与从控制器,鼠标是低速设备,所需的是最简单的一类从控制器。主控制器则复杂得多,因为太过于复杂了,所以就形成了一些标准。在...

Linux usb子系统(二):USB设备驱动usb-skeleton.c

Linux usb子系统(二):USB设备驱动usb-skeleton.c

阅读(142)

usb驱动分为通过usbfs操作设备的用户空间驱动,内核空间的内核驱动。两者不能同时进行,否则容易引发对共享资源访问的问题,死锁!使用了内核驱动,就不能在usbfs里驱动该设备。 下面转载的一篇分析usb-skeleton.c文章。 初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了。好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发。但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催货。当然,...

Linux usb子系统(三):通过usbfs操作设备的用户空间驱动

Linux usb子系统(三):通过usbfs操作设备的用户空间驱动

阅读(113)

内核中提供了USB设备文件系统(usbdevfs,Linux 2.6改为usbfs,即USB文件系统),它和/proc类似,都是动态产生的。通过在/etc/fstab文件中添加如下一行: none /proc/bus/usb usbfs defaults 或者输入命令: mount -t usbfs none /proc/bus/usb 可以实现USB设备文件系统的挂载。 一个典型的/proc/bus/usb/devices文件的结构如下(运行的arm Linux 2.6.37内核上的机器上插入了一个us...

USB协议架构及驱动架构

USB协议架构及驱动架构

阅读(83)

1. USB协议 1.1 USB主机系统 在USB主机系统中,通过根集线器与外部USB从机设备相连的处理芯片,称为USB主机控制器。USB主机控制器包含硬件、软件和固件一部分。 1.2 USB设备系统 USB设备按功能分为两部分:集线器(Hub)和功能部件。从下图可知,主机通过根集线器连接到各种外围设备(集线器和功能部件)。 1.3 主机和设备之间通信模型 主机与设备之间的通信模型 上图展示了USB主机和USB设备之间的数据传输过程。在设备端,USB设备将非USB格式的数据进行打包处理,转换成USB格式的...

USB Video Class及其实现

USB Video Class及其实现

阅读(109)

1 Video Class 基础概念 Usb协议中,除了通用的软硬件电气接口规范等,还包含了各种各样的Class协议,用来为不同的功能定义各自的标准接口和具体的总线上的数据交互格式和内容。这些Class协议的数量非常多,最常见的比如支持U盘功能的Mass Storage Class,以及通用的数据交换协议:CDC class。此外还包括Audio Class, Print Class等等。 理论上说,即使没有这些Class,通过专用驱动也能够实现各种各样的应用功能。但是,正如Mass Storage Cl...

多核CPU运行模式

多核CPU运行模式

阅读(202)

多核CPU运行模式主要有以下三种: 非对称多处理(Asymmetric multiprocessing,AMP)每个CPU内核运行一个独立的操作系统或同一操作系统的独立实例(instantiation)。 对称多处理(Symmetric multiprocessing,SMP)一个操作系统的实例可以同时管理所有CPU内核,且应用并不绑定某一个内核。 混合多处理(Bound multiprocessing,BMP)一个操作系统的实例可以同时管理所有CPU内核,但每个应用被锁定于某个指定的核心。 1、非对称多...

Uboot与Linux之间的参数传递

Uboot与Linux之间的参数传递

阅读(132)

U-boot会给Linux Kernel传递很多参数,如:串口,RAM,videofb等。而Linux kernel也会读取和处理这些参数。两者之间通过struct tag来传递参数。 U-boot把要传递给kernel的东西保存在struct tag数据结构中,启动kernel时,把这个结构体的物理地址传给kernel;Linux kernel通过这个地址,用parse_tags分析出传递过来的参数。 本文主要以U-boot传递RAM和Linux kernel读取RAM参数为例进行说明。 setenv ...