嵌入式Linux网络编程(五)——epoll机制一、epoll简介epoll是在2.6内核中提出的,是select和poll的增强版本。epoll更加灵活,没有描述符限制,使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中。1、epoll函数#include<sys/epoll.h..
                            
                            
                                分类:
系统相关   时间:
2016-07-11 10:44:34   
                                阅读次数:
331
                             
                    
                        
                            
                            
                                嵌入式Linux网络编程(四)——Select机制一、select工作机制poll和select,都是基于内核函数sys_poll实现的,不同在于在linux中select是从BSDUnix系统继承而来,poll则是从SYSTEMVUnix系统继承而来,因此两种方式相差不大。poll函数没有最大文件描述符数量的限制。poll和selec..
                            
                            
                                分类:
系统相关   时间:
2016-07-11 10:44:23   
                                阅读次数:
495
                             
                    
                        
                            
                            
                                嵌入式Linux网络编程一——Socket网络编程基础一、Socket简介1、网络中进程间通信本机进程使用进程号区别不同的进程进程间通信方式有管道、信号、消息队列、共享内存、信号量等。网络中进程间的通信首先需要识别进程所在主机在网络中的唯一标识即网络层的IP地址主机上的进程可..
                            
                            
                                分类:
系统相关   时间:
2016-07-11 01:19:25   
                                阅读次数:
316
                             
                    
                        
                            
                            
                                嵌入式Linux网络编程(二)——TCP编程模型一、TCP编程模型TCP编程的一般模型如下图:TCP编程模型分为客户端和服务器端编程,两者编程流程如下:TCP服务器端编程流程:A、创建套接字;B、绑定套接字;C、设置套接字为监听模式,进入被动接受连接状态;D、接受请求,建立连接;E..
                            
                            
                                分类:
系统相关   时间:
2016-07-11 01:16:53   
                                阅读次数:
344
                             
                    
                        
                            
                            
                                嵌入式Linux网络编程(三)——UDP编程模型UDP编程模型:UDP循环服务器模型为:socket(...);
bind(...);
while(1)
{
recvfrom(...);
process(...);
sendto(...);
}server.c代码:#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<unist..
                            
                            
                                分类:
系统相关   时间:
2016-07-11 01:16:14   
                                阅读次数:
406
                             
                    
                        
                            
                            
                                    一、 防止函数printk降低linux性能: 利用C语言中的编译指令(#if、#else、#endif等)。 现在修改printk_demo驱动代码,通过编译指令定义了一个pr_debug宏,并通过修改编译指令的条件值来控制是否调用printk函数。如下: # if 1//此处为1,使用print ...
                            
                            
                                分类:
系统相关   时间:
2016-07-09 17:53:55   
                                阅读次数:
387
                             
                    
                        
                            
                            
                                蜂鸣器是s3c6410开发板上带的一个硬件设备,可以通过向寄存器写入特定的值来控制蜂鸣器发出尖叫声。 在前面的章节编写了两个完整的linux驱动:word_count驱动和led驱动,两个有一共同点就是都有一个源代码文件组成。 代码重用分为静态和动态两种。即将需要重要的代码使用者放在一起进行编译,最 ...
                            
                            
                                分类:
系统相关   时间:
2016-07-09 08:13:27   
                                阅读次数:
227
                             
                    
                        
                            
                            
                                本章的主要内容是嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行调试。 一、打印内核调试信息:printk 该函数的用法与printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。像Linux驱动这样的Linux内核程序 ...
                            
                            
                                分类:
系统相关   时间:
2016-07-08 23:06:36   
                                阅读次数:
178
                             
                    
                        
                            
                            
                                《Android深度探索》第十章讲的是嵌入式Linux的调试技术。对于复杂的Linux驱动及HAL等程序库,需要使用各种方法对其进行测试。 printk函数的用法和printf函数类似,只不过printk函数运行在内核空间,printf函数运行在用户空间。也就是说,像Linux驱动这 样的Linux ...
                            
                            
                                分类:
系统相关   时间:
2016-07-08 19:54:39   
                                阅读次数:
181
                             
                    
                        
                            
                            
                                    第十章嵌入式Linux的调试技术 第十章主要介绍如何利用开发板、Android模拟器以及一些函数、工具(gdb、gdbservice以及kgdb)调试嵌入式Linux内核模块、可执行程序和共享库。 对于复杂的Linux驱动以及HAL等程序库,需要使用设置断点、逐步跟踪代码、输出调试信息等方法对其进行 ...
                            
                            
                                分类:
系统相关   时间:
2016-07-08 17:52:31   
                                阅读次数:
186