自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 Linux kernel中的IS_ENABLED

在kernel的代码中, 有时候会看见IS_ENABLED(CONFIG_XXXX)来测试某个Kconfig选项是否开启(即选中为y或者m). 如if (IS_ENABLED(CONFIG_TIME_LOW_RES) && timer->is_rel) rem -= hrtimer_resolution;这里当TIME_LOW_RES这个Kconfig选项配置为y或m, 并且timer->i

2017-04-09 00:34:36 5621 1

原创 使用docker来构建嵌入式开发环境

我目前使用的一套嵌入式开发SDK是在ubuntu 14.04上构建的, 对于较新的ubuntu发行版或其他linux发行版是不能兼容的. 比如目前我使用的是Fedora 25作为自己的系统, 那么要编译SDK会发生错误. 主要是libtools, autoconf等工具的兼容性问题. 为了解决这个问题可以使用docker来构建一套基于ubuntu14.04文件系统的编译系统, 从而实现在Fedor

2017-04-05 13:56:32 8249 1

原创 /dev/mem 的 mmap 分析

当用户空间需要实现驱动程序时, 需要操作底层的寄存器. 使用/dev/mem就是一种常用的方式. /dev/mem 一般都是使用其 mmap 函数. 讲底层的寄存器映射到用户空间地址. 下面对 /dev/mem的mmap函数进行一下一下简单的分析. /dev/mem设备文件是由drivers/char/mem.c驱动创建. 该设备文件的file_operations为static const st

2017-03-31 22:07:34 2566

原创 V4L2 driver(一). 整体框架

1.1 从字符设备说起熟悉v4l2用户空间编程的都知道, v4l2编程主要是调用一系列的ioctl函数去对v4l2设备进行打开, 关闭, 查询, 设置等操作. v4l2设备是一个字符设备, 而且其驱动的主要工作就是实现各种各样的ioctl. v4l2的整体框架如下图所示V4L2的整体框架图 上图中, 淡绿色背景为用户空间, 淡蓝色背景为内核空间. 椭圆表示相关的结构体, 子系统或实例. 方框表

2015-09-13 22:31:33 2807

空空如也

空空如也

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

TA关注的人

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