
Linux
南山桂树
这个作者很懒,什么都没留下…
展开
-
内核 API,第 3 部分: 2.6 内核中的计时器和列表
Linux® 内核包含种类繁多的 API,旨在帮助开发人员构建更简单、更高效的驱动程序和内核应用程序。可以用于任务延迟的两个常见 API 是列表管理 API 和计时器 API。探索这些 API,了解如何使用计时器和列表开发内核应用程序。(Linux)时间的起源在 Linux 内核中,时间由一个名为 jiffies 的全局变量衡量,该变量标识系统启动以来经过的滴答数。在最低的级别转载 2015-04-22 14:33:06 · 364 阅读 · 0 评论 -
fatal error: asm/mach-types.h: No such file or directory
fatal error: asm/mach-types.h: No such file or directory#include asm/mach-types.h>改为:#include asm/types.h>原创 2018-01-11 19:52:55 · 5352 阅读 · 0 评论 -
Linux 开机logo 居中 多只企鹅改一只
1、居中(1)修改源码/driver/video/fbmem.c中的fb_show_logo_line函数 -image.dx=0; -image.dy=y; +image.dx = (info->var.xres / 2) - (image.width / 2); +image.dy = (info->var.yres / 2) - (imag转载 2018-01-22 15:20:32 · 484 阅读 · 0 评论 -
Linux 开机logo 全屏失败
明明按照屏幕分辩率裁剪的logo图片,就是不显示log显示如下:fbcon_init: disable boot-logo (boot-logo bigger than screen)如下修改解决:在drivers/video/console/fbcon.c中: fbcon_prepare_logo函数中: 将转载 2018-01-22 17:08:01 · 902 阅读 · 0 评论 -
源码中修改Android的开机画面和动画
Android系统开机显示画面分成两个过程,第一个过程从按电源键到Frameworks启动为止。第二个过程从Frameworks启动完成到Launcher程序启动完成。第一个过程显示的画面是一张图,第二个过程显示的是一个动画。分别简要记录一下怎么样在源码中修改这两个地方。1、修改开机画面找到源码kernel\drivers\video\logo\转载 2018-01-23 11:06:03 · 1069 阅读 · 0 评论 -
修改u-boot的开机logo
修改u-boot的开机logo其实很简单。请见下面步骤。1. 获取一张BMP的图片,修改之,让其色深为8位,即256色,如果用24位,则显示出问题,(至于是否能用24位,有待深究)。2. 将制作好的BMP图片,放置到/tools/logos下面。3. 修改/tools/Makefile中的LOGO_BMP,使其指向你的bmp图片。如:LOGO_BMP= logos/test.bmp (转载 2018-01-23 11:34:47 · 376 阅读 · 0 评论 -
Android 5.0 隐藏状态栏和导航栏
我是在android5.0 源码上修改的,这样重新编译生成的系统就会看不到状态栏和导航栏 1、状态栏隐藏(StatusBars) 修改了frameworks/base/core/res/values/dimens.xml ;把25dip改成0dip,意思就是把状态栏的高度改成0,这样你就看不到了,事实上SystemUI这个APP还是在运行着的- 25dip + 0转载 2018-01-23 14:58:10 · 1133 阅读 · 0 评论 -
Android5.1 开机不锁屏
frameworks/base/packages/SettingsProvider/res/values/defaults.xml-false+truehttps://www.jianshu.com/p/fdd2a0aabd23转载 2018-01-23 20:39:14 · 642 阅读 · 0 评论 -
ubuntu gparted 扩容 swap 开机挂载
ubuntu gparted 扩容后 swap不能开机自动挂载打开文件 : /etc/fstab# /etc/fstab: static file system information.## Use 'blkid' to print the universally unique identifier for a# device; this may be used with UUID= a原创 2018-01-17 21:37:06 · 2343 阅读 · 0 评论 -
android 编译时关闭 dm-verity
build/target/product/verity.mkPRODUCT_SUPPORTS_VERITY := falseAndroid dm-verity 实现原理深入研究http://kevinems.com/software-development/600.htmlAndroid 镜像文件生成流程http://blog.youkuaiyun.com/kehyuanyu/article/details/原创 2018-01-18 10:05:43 · 4835 阅读 · 0 评论 -
linux keypad driver
DTS文件、driver文件转载 2015-08-27 16:56:02 · 1715 阅读 · 1 评论 -
Linux Back Light driver
/linux/drvices/leds/leds-lm3530.c1、probstatic int lm3530_probe(struct i2c_client *client, const struct i2c_device_id *id){ struct lm3530_platform_data *pdata = dev_get_platdata(&client->de转载 2015-08-31 17:41:24 · 498 阅读 · 0 评论 -
linux网络设备—PHY
一.结构体1.PHY设备[cpp] view plaincopystruct phy_device { struct phy_driver *drv; //PHY设备驱动 struct mii_bus *bus; //对应的MII总线 struct device dev; //设备文件 u32 phy_id; //PH转载 2015-04-27 16:31:25 · 1030 阅读 · 0 评论 -
linux oss编程 mixer 改进
linux mixer 改进可以读取当前的音量/* * mixer.c */#include #include #include #include #include #include /* 用来存储所有可用混音设备的名称 */const char *sound_device_names[] = SOUND_DEVICE_NAMES;int fd;转载 2015-05-12 15:55:47 · 598 阅读 · 0 评论 -
Linux音频设备两种框架OSS和ALSA驱动
在Linux中,先后出现了音频设备的两种框架OSS和ALSA,本节将在介绍数字音频设备及音频设备硬件接口的基础上,展现OSS和ALSA驱动的结构。17.1~17.2节讲解了音频设备及PCM、IIS和AC97硬件接口。17.3节阐述了Linux OSS音频设备驱动的组成、mixer接口、dsp接口及用户空间编程方法。17.4节阐述了Linux ALSA音频设备驱动的组成、card和组件管转载 2015-05-08 16:33:00 · 6897 阅读 · 0 评论 -
Linux内核驱动之GPIO子系统-GPIO的使用
一 概述 Linux内核中gpio是最简单,最常用的资源(和 interrupt ,dma,timer一样)驱动程序,应用程序都能够通过相应的接口使用gpio,gpio使用0~MAX_INT之间的整数标识,不能使用负数,gpio与硬件体系密切相关的,不过linux有一个框架处理gpio,能够使用统一的接口来操作gpio.在讲gpio核心(gpiolib.c)之前先来看看gpio是怎么使用转载 2015-05-15 14:11:37 · 494 阅读 · 0 评论 -
Android 创建的video设备
在/dev/下生成几个video相关的设备节点,分别为/dev/video0, /dev/video1, /dev/video2, /dev/video3, /dev/radeo0V4l2可以支持多种设备,它可以有以下几种接口: 1. 视频采集接口(video capture interface):这种应用的设备可以是高频头或者摄像头.V4L2的转载 2015-05-29 10:41:40 · 2719 阅读 · 0 评论 -
V4l2 capture时 USERPTR和MMAP的区别
视频应用可以通过两种方式从V4L2驱动申请buffer1. USERPTR, 顾名思义是用户空间指针的意思,应用层负责分配需要的内存空间,然后以指针的形式传递给V4L2驱动层,V4L2驱动会把capture的内容保存到指针所指的空间一般来说,应用层需要确保这个内存空间物理上是连续的(IPU处理单元的需求),在android系统可以通过PMEM驱动来分配大块的连续物理内存。应用层在不需要的时转载 2015-06-01 15:13:26 · 640 阅读 · 0 评论 -
key 的poll
1、文件/* * The input core *input.c*/2、fileopsstatic const struct file_operations input_devices_fileops = { .owner = THIS_MODULE, .open = input_proc_devices_open,转载 2015-06-26 19:37:55 · 458 阅读 · 0 评论 -
[linux-kernel] 实现支持poll的驱动设备
ldd3上已经讲了如何开发linux下的驱动程序,怎么让该设备支持poll(和epoll),但是不够详细,这里给个例子。假设实现一个misc设备,为了实现poll,当然要有个wait_queue,注意,是dev带wait_queue,我一疏忽把wait_queue带到file上去了,调了半天才发现这个低级错误。struct sample_dev{ struct miscd转载 2015-06-26 17:34:03 · 536 阅读 · 0 评论 -
KiB、MiB与KB、MB的区别
原来没太注意MB与MiB的区别,甚至没太关注还有MiB这等单位,今天认真了一下,发现两者还是有区别的,具体的差别是MB等单位以10为底数的指数,MiB(Mega binary byte的缩写)是以2为底数的指数,如:1KB=10^3=1000, 1MB=10^6=1000000=1000KB,1GB=10^9=1000000000=1000MB,而 1KiB=2^10=1024,1Mi转载 2015-07-04 11:36:45 · 2761 阅读 · 0 评论 -
error: implicit declaration of function ‘pinctrl_pm_select_sleep_state’ [-Werror=implicit-function-
error: implicit declaration of function ‘pinctrl_pm_select_sleep_state’ [-Werror=implicit-function-declaration]增加头文件#include 自:http://patchwork.ozlabs.o原创 2018-01-10 10:29:40 · 3500 阅读 · 0 评论