自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ce123的技术博客

专注于嵌入式软件开发

  • 博客(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

GENIVI DLT Viewer,已经编译好了,可以直接使用,结合博客一起使用. https://ce123.blog.csdn.net/article/details/108314216

2020-09-21

U-Boot详细移植过程.doc

U-Boot详细移植过程 配合文档https://ce123.blog.csdn.net/article/details/104141326看

2020-05-24

ARM9嵌入式Linux开发-LCD

ARM9嵌入式Linux开发-LCD https://ce123.blog.csdn.net/article/details/104141326

2020-04-26

adc_ts.rar

ARM9嵌入式Linux开发-ADC和触摸屏 博客地址:https://blog.csdn.net/ce123_zhouwei/article/details/105776841

2020-04-26

ARM9嵌入式Linux开发-I2C接口

ARM9嵌入式Linux开发-I2C接口,文档地址: https://ce123.blog.csdn.net/article/details/104141326

2020-04-05

ARM9嵌入式Linux开发-通用异步收发器UART

ARM9嵌入式Linux开发-通用异步收发器UART,文章地址 https://ce123.blog.csdn.net/article/details/105328492

2020-04-05

ARM9嵌入式Linux开发-系统时钟和定时器

ARM9嵌入式Linux开发-系统时钟和定时器的demo 结合博客一起看https://ce123.blog.csdn.net/article/details/105172923

2020-03-29

ARM9嵌入式系统学习-中断体系结构

ARM9嵌入式系统学习 中断体系结构,结合博客一起看,博客的地址为 https://ce123.blog.csdn.net/article/details/105027063

2020-03-22

ARM9嵌入式系统学习-NADN FLASH控制器源码

ARM9嵌入式系统学习 NADN FLASH控制器的源码,结合博客一起看,博客的地址为 https://ce123.blog.csdn.net/article/details/104872847

2020-03-15

简易堆分配器

自己实现了简易堆分配器,经过测试可以使用.如果大家在使用的过程中发现问题,还请告诉我.

2014-03-21

linux下多线程文件服务器

linux下多线程文件服务器 http://blog.csdn.net/ce123_zhouwei/article/details/17066313文章的附件

2013-12-24

AMR音频文件格式分析(AMR音频文件)

AMR音频文件格式分析(AMR音频文件)

2013-12-12

winmanager

Vim的winmanager插件,vim主页打不开,上传上来,免费供大家下载

2013-09-21

taglist_45.zip

Vim的TagList插件,vim主页打不开,上传上来,免费供大家下载

2013-09-21

GeekOSproject3

GeekOS的project3,结合博客中有一篇文章对其进行了详细分析,希望对大家有帮助(http://blog.csdn.net/ce123/article/details/6581275#comments).

2013-03-20

arm栈帧回溯

arm栈帧回溯,自己实现arm-linux下的栈帧回溯,没有使用glibc的backstrace()和backtrace_symbols(),可以很好的调试segment fault问题。

2013-02-13

图解__arch_copy_from_user函数

图解__arch_copy_from_user函数,可以很清楚的数据的拷贝过程。

2013-01-08

图解ARM-Linux的启动全过程_修正版

图解ARM-Linux的启动全过程:内核自解压阶段——>内核引导阶段——>内核初始化阶段——>BusyBox初始化阶段。

2012-05-04

图解ARM-Linux的启动全过程

图解ARM-Linux的启动全过程:从内核的自解压到引导阶段,再到内核初始化,自后是文件系统的初始化。

2012-05-04

图解U-Boot:第二阶段源码分析

图解U-Boot:第二阶段源码分析(清晰)

2012-03-04

S3C2440时钟详细描述

S3C2440时钟详细描述 S3C2440时钟详细描述

2011-03-15

grub4dos初级教程图文版

grub4dos初级教程图文版,非常适合初学者

2011-01-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除