设备驱动开发
ZhengboCai
热爱it
展开
-
有关RS232和RS485接口的问答 什么是RS-232-C接口 什么是RS-485接口
RS232与RS485是两个难搞清的东西,尽管它们非常不同。1.什么是RS-232-C接口?采用RS-232-C接口有何特点?传输电缆长度如何考虑?答:计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯和并行通讯二种方式。由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。 在串行通讯时,要求通讯双方都采用一个标准接口,使不同 的设备可以方便转载 2010-03-13 21:43:00 · 615 阅读 · 0 评论 -
工作中的主观臆断
昨天遇到linux2.6下webs命令不能使用的情况,但是在另一个项目上是能用的,两个项目上的uboot、内核都是一样的,唯独文件系统是裁剪过的,于是首先定位是文件系统的问题。一点一点恢复文件系统后(主要是lib下面的东东),发现还是不行。这期间怀疑过应用的问题,但是应用的程序放到另一个项目上又是能用的,没办法,搞不定,最后老大出马了,首先他和我思路是一样的,把能用的文件系统一点一点的添加到裁剪的原创 2012-01-12 22:43:03 · 1418 阅读 · 0 评论 -
mkimage能用交叉编译编译后到板子上运行吗
有那位大侠用过把mkimage这个工具用交叉编译器编译出来,然后在目标板上运行制作ramdisk的吗?原创 2011-12-27 18:45:29 · 742 阅读 · 1 评论 -
浅析container_of(ptr, type, member)
浅析container_of(ptr, type, member)#define container_of(ptr, type, member) ({ / const typeof( ((type *)0)->member ) *__mptr = (ptr); / (type *)( (ch转载 2010-04-16 10:21:00 · 894 阅读 · 0 评论 -
GCC编译关键字“__attribute__”
让GCC编译关键字“__attribute__”给你带来方便 直接引入我们的主角(粗体部分): int my_printf (void *my_object, const char *my_format, ...) __attribute__ ((format (printf, 2, 3))); my_printf是一个你自己写的函数,比如可能是对vsnprintf等函数进行转载 2010-04-15 14:20:00 · 973 阅读 · 0 评论 -
转载 wait队列,及函数解析
wait队列,及函数解析 在内核里面,等待队列是有很多用处的,尤其是在中断处理、进程同步、定时等场合。有时候,一个进程可能要等待一些事件的发生,如磁盘操作结束、一些系统资源的释放等等。等待队列存放着是暂时资源未得到满足的进程。如果需求的资源得到满足,就会从等待队列移动到运行队列(linux没有就绪队列)。它通过一个双链表和把转载 2010-04-15 14:06:00 · 1144 阅读 · 1 评论 -
转帖 copy_to_user,copy_from_user,get_user和put_user函数详解
copy_to_user,copy_from_user,get_user和put_user函数详解 字符设备驱动驱动的读,写。如:ssize_t xxx_read(struct file *filp, char __user *buf, size_t count, loff_t *f_pos);ssize_t xxx_w转载 2010-04-15 14:00:00 · 1505 阅读 · 0 评论 -
转载 linux 2.6内核进程管理
linux 2.6内核进程管理 linux每个进程对应一个task_struct类型结构。该结构包含进程相关的所有信息。linux进程通过list_head组织双向链表,每一个结点就是一个进程描述符。进程描述符里面包含了进程所有的信息:进程所打开的文件、进程的地址空间、挂起信号、进程状态和其他更多的信息。以下是进程描述符的部分定转载 2010-04-15 13:58:00 · 818 阅读 · 0 评论 -
转载 linux2.6内核进程调度
linux2.6内核进程调度 Linux2.4内核进程调度的缺陷: Linux2.4 内核的进程调度采用时间片轮转和优先级相结合的调度策略,但存在以下几个致命缺陷: 1>调度算法时间复杂度是 O(n)。2.4 内核每次调度都要进行一次循环,耗时与当前就绪进程数有关,因此达不到实时性的要求;时间片重算时必须给 task转载 2010-04-15 13:57:00 · 1260 阅读 · 0 评论 -
转载 linux 2.6线程创建源码分析
linux 2.6线程创建源码分析 上章讲到线程,现在对线程创建的代码流程分析下。来一步一步揭开她神秘的面纱 linux内核创建线程函数 kernel_thread(),最终会调用do_fork(). 前面谈到线程也是用task_struct结构表示它拥有的信息,只是是共享进程的资源。 根据clone_flags标志,来转载 2010-04-15 13:55:00 · 820 阅读 · 0 评论 -
转载 linux 2.6进程与线程
linux 2.6进程与线程 1 > 线程和进程的差别线程机制支持并发程序设计技术,在多处理器上能真正保证并行处理。而在linux实现线程很特别,linux把所有的线程都当作线程实现。linux下线程看起来就像普通进程(只是该进程和其他进程共享资源,如地址空间)。上述机制与Microso转载 2010-04-15 13:47:00 · 860 阅读 · 0 评论 -
转载-linux 2.6 进程总结
转载-linux 2.6 进程总结 进程、轻量级进程(LWP)、线程 进程:程序执行体,有生命期,用来分配资源的实体 线程:分配CPU的实体。 用户空间实现,一个线程阻塞,所有都阻塞。 内核实现,不会所用相关线程都阻塞。用LWP实现,用线程组表示这些线程逻辑上所属的进程。进程描转载 2010-04-15 13:43:00 · 650 阅读 · 0 评论 -
mkyaffsimage_2 命令找不到处理方法
今天在制作文件系统的时候,在最后一步将root_2.6.25.8文件系统框架制成root_2.6.25.8.yaffs yaffs文件系统格式的镜像时,发现找不到mkyaffsimage_2命令,于是到网上下载了mkyaffsimage_2命令安装包,解压后是/usr/local/sbin/mkyaffsimage_2的二进制文件,但是重新运行mkyaffsimage_2 root_2.6.25.原创 2010-03-26 22:11:00 · 2912 阅读 · 0 评论 -
RS232 通讯原理 ? RS485通讯原理?RS422 是什么?
RS232 通讯原理 ? RS485通讯原理?RS422 是什么?RS485接线的正确原理图 常见的RS485错误接线RS-232是串行数据接口标准,最初都是由电子工业协会(EIA)制订并发布的,RS-232在1962年发布,命名为EIA-232-E,作为工业标准,以保证不同厂家产品之间的兼容。RS-422由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信转载 2010-03-13 21:44:00 · 1237 阅读 · 0 评论 -
RS232,RS422,RS485的区别
RS232,RS422,RS485的区别 1.RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线转载 2010-03-13 21:42:00 · 609 阅读 · 0 评论 -
网络流量单位bps与系统单位byte转换
网络流量单位bps与系统单位byte转换 注意读书法网络流量单位bps与系统单位byte转换 何謂 bps ? bps 是 bits per second 的簡稱。一般資料機及網路通訊的傳輸速率都是以「bps」為單位。如14.4Kbps、28.8Kbps、56Kbps、1.5Mbps 及 10Mbps 等等。 何謂 Bps ? 即是Byt转载 2010-03-13 21:45:00 · 3336 阅读 · 0 评论 -
浅谈linux2.4 内核中断下半部分(softirq机制)
linux2.4 内核中断下半部分(bottom half)理解(请结合linux2.4内核代码看): 首先先说一下为什么要采用中断下半部分: 中断服务函数大多需要在关中断的情况下去执行,但是有的中断服务函数执行需要较长的时间,如果系统长时间关中断就会让其他的中断得不到响应,所以把需要关中断执行的部分放到中断的上部分,而把对实时性要求不高,不需要关中断执行的操作放到中断下半部分中去。 但是中原创 2012-10-10 23:23:48 · 848 阅读 · 0 评论