- 博客(16)
- 资源 (24)
- 收藏
- 关注
原创 linux内核中的likely和unlikely
linux内核中的likely和unlikelyKernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123)GCC version:arm-linux-gcc-3.4.1 看内核时经常遇到if(likely( )){}或是if(unlikely( ))这样的语句,不甚了解,例如(选自ker
2013-01-11 16:23:56 3579
原创 linux内核中的文件描述符(六)--fd的分配--expand_files
linux内核中的文件描述符(六)--fd的分配--expand_filesKernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123) 我们先贴出expand_files函数的源码:int expand_files(struct files_struct *files, int nr)
2013-01-11 15:34:48 5382
原创 linux内核中的文件描述符(五)--fd的分配--locate_fd
linux内核中的文件描述符(五)--fd的分配--locate_fdKernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123) 继续上一篇博客的内容,分析另一个文件描述符fd的分配函数locate_fd。dup系统调用用于复制一个文件描述符对应的文件,返回值是个文件描述符。在前面的文章
2013-01-10 13:02:15 4678
原创 linux内核中的文件描述符(四)--fd的分配--get_unused_fd
linux内核中的文件描述符(四)--fd的分配--get_unused_fdKernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123) 在linux内核中主要有两个函数涉及到文件描述符的分配:get_unused_fd和locate_fd。本文主要讲解get_unused_fd,将会在
2013-01-10 09:23:06 7960 2
原创 linux内核中的文件描述符(三)--fd的回收
linux内核中的文件描述符(三)--fd的回收Kernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123)1.close函数上图说明了close(fd)的执行过程,主要包括两部分:释放文件描述符fd,关闭文件file。//fs/open.casmlinkage long sys_clo
2013-01-10 08:29:50 13975
原创 linux内核中的文件描述符(二)--socket和文件描述符
linux内核中的文件描述符(二)--socket和文件描述符Kernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123) socket和文件系统紧密相关,我们可以通过文件系统的open、read、write和close等操作socket。下面是一个简单的例子。/*************
2013-01-09 10:55:59 8999 1
原创 linux内核中的文件描述符(一)--基础知识简介
linux内核中的文件描述符(一)--基础知识简介Kernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123) 作为文件的使用者,进程理所当然的要将所使用的文件记录于自己的控制块中,也就是task_struct。另外,由于进程所对应的程序也是一个文件,因此进程控制块还必须记录这个文件的相关
2013-01-08 16:31:17 6900 1
原创 linux内核中的copy_to_user和copy_from_user(二)—图解__arch_copy_from_user
linux内核中的copy_to_user和copy_from_user(二)—图解__arch_copy_from_userKernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123) __arch_copy_from_user函数实现数据的拷贝,当地址没有按4字节对齐,拷贝数据时需要进
2013-01-08 16:15:14 8754 1
原创 linux内核中的copy_to_user和copy_from_user(一)
linux内核中的copy_to_user和copy_from_user(一)Kernel version:2.6.14CPU architecture:ARM920TAuthor:ce123(http://blog.csdn.net/ce123)1.copy_from_user 在学习Linux内核驱动的时候,经常会碰到copy_from_user和copy_to_user这两个函数,设备驱动程
2013-01-06 19:45:53 65023 4
原创 ARM中的预取命令pld的使用
ARM中的预取命令pld的使用Kernel version:2.6.14CPU architecture:ARM920T 最近在分析ARM Linux的copy_from_user,主要功能由__arch_copy_from_user实现,该函数定义在linux/arch/arm/lib/uaccess.S文件中,使用汇编实现,部分源码如下:ENTRY(__arch_copy_from_user)
2013-01-06 10:07:16 14775 12
原创 警告: 隐式声明与内建函数‘strlen’不兼容 [默认启用]
警告: 隐式声明与内建函数‘strlen’不兼容 [默认启用] 添加string.h头文件即可解决问题。strlen原型是在这里声明的。此类问题的解决方法相同。
2013-01-03 22:05:49 10817
原创 linux内核中的get_user和put_user
linux内核中的get_user和put_user内核版本:2.6.14CPU平台:arm嵌入式开发交流群:289195589,欢迎加入! 在内核空间和用户空间交换数据时,get_user和put_user是两个两用的函数。相对于copy_to_user和copy_from_user(将在另一篇博客中分析),这两个函数主要用于完成一些简单类型变量(char、int、long等)的拷贝任务,对于一
2013-01-03 21:35:04 33488
原创 glibc中的printf如何输出到串口
glibc中的printf如何输出到串口内核版本:2.6.14glibc版本:2.3.6CPU平台:arm嵌入式开发交流群:289195589,欢迎加入! printf的输出不一定是串口,也可以是LCD,甚至是文件等,这里仅以输出到串口为例。本文分析了printf和文件描述符0、1和2以及stdout、stdin和stderr的关系,通过这篇文章可以知道文件描述符0、1和2为什么对应着stdout
2013-01-03 10:36:00 5395
原创 linux内核中的IS_ERR
linux内核中的IS_ERR()、PTR_ERR()和ERR_PTR()在看内核源码的时候,经常会遇到IS_ERR,比如在 linux/arch/arm/kernel/sys_arm.c中asmlinkage int sys_execve(char __user *filenamei, char __user * __user *argv, char __user * __user *
2013-01-02 13:14:44 16375 3
原创 linux内核中的typeof
linux内核中的typeof内核版本:2.6.14嵌入式开发交流群:289195589,欢迎加入! 今天分析内核时又看到了typeof,只知道它大概是返回变量的类型,后来上网查了下发现这个关键字在linux中用的非常多。如果你对sizeof很熟悉的话,那么大可进行类推,sizeof(exp)返回的是exp的数据类型大小,那么typeof(exp.)返回的就是exp的数据类型。下面是linux内核
2013-01-01 23:30:09 3946
原创 arm中的armeb(armbe)和armel(armle)
arm中的armeb(armbe)和armel(armle)ARMEB = ARM EABI Big-endian ,也有称为ARMEB #大端字节序 ARMEL = ARM EABI Little-endian,也有称为ARMLE #小端字节序EABI = Embedded Application Binary Interface
2013-01-01 16:52:54 9622 3
dlt-viewer_2.20.0
2020-09-21
ARM9嵌入式Linux开发-LCD
2020-04-26
adc_ts.rar
2020-04-26
ARM9嵌入式Linux开发-I2C接口
2020-04-05
ARM9嵌入式Linux开发-通用异步收发器UART
2020-04-05
ARM9嵌入式Linux开发-系统时钟和定时器
2020-03-29
ARM9嵌入式系统学习-中断体系结构
2020-03-22
ARM9嵌入式系统学习-NADN FLASH控制器源码
2020-03-15
linux下多线程文件服务器
2013-12-24
GeekOSproject3
2013-03-20
arm栈帧回溯
2013-02-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人