- 博客(45)
- 资源 (12)
- 收藏
- 关注
原创 i2c
I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA)。I2C是总线结构,1个Master,1个或多个Slave,各Slave设备以7位地址区分,地址后面再跟1位读写位,表示读(=1)或者写(=0),所以我们有时也可看到8位形式的设备地址,此时每个设备有读、写两个地址,高7位地址其实是相同的。I2C数据...
2019-10-24 19:49:19
1076
转载 kobject_uevent_env 内核通知android有状态变化的一种方法
以下文字来源网络[kernel ]#include <linux/delay.h>#include <linux/slab.h>#include <linux/interrupt.h>#include <linux/irq.h>#include <linux/kernel.h>#include <linux/sem...
2018-08-07 11:25:53
1564
转载 linux INIT_WORK 创建工作队列
http://blog.youkuaiyun.com/liwendovo/article/details/7793487Linux 2.6内核使用了不少工作队列来处理任务,他在使用上和 tasklet最大的不同是工作队列的函数可以使用休眠,而tasklet的函数是不允许使用休眠的。工作队列的使用又分两种情况,一种是利用系统共享的工作队列来添加自己的工作,这种情况处理函数不能消耗太多时间
2017-10-20 22:53:40
927
转载 Linux搭建SVN服务器
1 安装SVN官网下载:http://subversion.apache.org/packages.htmlSVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html# yum install subversion:1.新建一个目录用于存储SVN所有文件# mkdir /svn 2. 新建
2016-09-16 14:24:15
276
转载 linux kernel file_open
内核空间与用户空间在vfs_read和vfs_write函数中,其参数buf指向的用户空间的内存地址,如果我们直接使用内核空间的指针,则会返回-EFALUT。这是因为使用的缓冲区超过了用户空间的地址范围。一般系统调用会要求你使用的缓冲区不能在内核区。这个可以用set_fs()、get_fs()来解决。在include/asm/uaccess.h中,有如下定义:#define
2016-08-05 21:34:29
1829
转载 Android TextView文字过多时通过滚动条显示多余内容
Android 软件设计界面时,TextView文字过多,显示不全,怎么办?我们可以为Textview添加滚动条。 android:id="@+id/bus_detail_content" android:layout_width="fill_parent" android:layout
2015-10-28 20:22:08
2656
原创 proc_creat_test
#include #include #include #include static int mytest_proc_show(struct seq_file *seq, void *v){ seq_puts(seq,"yang_cf22\n"); return 0;}static int mytest_proc_open(struct inode *i
2015-07-08 20:13:22
481
原创 函数重定向
#include "stdio.h"#include "stdlib.h"#define AAAA#define BBBB#ifdef AAAAextern int test1(void);extern int test2(void);#ifdef BBBB #define test test1#else #define test tes
2015-06-10 19:10:31
1074
转载 #if #ifdef #if defined 区别
http://blog.youkuaiyun.com/ydt_lwj/article/details/7732553#if的使用#if 的后面接的是表达式 (求表达式的值 如果值为真则执行code 部分 否则跳过) code ...#endif#if 的表达式是在编译是求值的 #ifdef的使用#ifdef GREAT
2015-05-12 23:15:13
360
原创 MINI2440 kernel starting
#define pure_initcall(fn) __define_initcall("0",fn,0)#define core_initcall(fn) __define_initcall("1",fn,1)#define core_initcall_sync(fn) __define_initcall("1s",fn,1s)#define postcore_initcal
2015-05-10 02:03:19
536
原创 MINI2440 console 初始化
参考:http://blog.youkuaiyun.com/ralph_sqd/article/details/6387106通过查看LOG,添加打印,确认正常的函数调用关系[ 0.000000] Backtrace: [ 0.000000] [] (dump_backtrace+0x0/0x10c) from [] (dump_stack+0x18/0x1c)[ 0.000
2015-05-08 22:20:02
527
转载 windows xp 下的putty不能使用小键盘的问题
change setting->Features->Disable application keypad mode (勾选上这个)
2015-04-01 09:58:05
543
原创 bat 脚本
:: this is .bat test :::::: 2015_02_28:: yangchaofeng @echo off echo 欢迎来到BAT!:: ############################# 显示LEDS 亮度值 #############################:Display_leds_br
2015-03-02 23:25:00
473
原创 Makefile
/********************************** Makefile_arm ********************************************************/ifneq ($(KERNELRELEASE),)obj-m := hello.oelseKDIR :=/opt/FriendlyARM/mini2440/linux-2.
2015-02-27 20:59:11
381
原创 android_apk_test
package com.example.yang_apk_test;/************************* yang add begin *******************************************************************//************************* yang add end ********
2015-02-25 23:21:53
620
原创 git patch
1、使用 git diff 功能制作patch git diff ID1 ID2 > patch (生成从ID1 到 ID2 所有修改的patch)patch -p1 2、git format-patch git format-patch -N (N代表前几次的提交,每次提交都产生一个对应patch)patch -p1 < patch
2015-02-25 10:16:38
404
原创 kernel 调试之——dump_stack
#include #include void func2();void func3();void func1(){printk("Hello, my name is func1 !\n");func2();}void func2(){printk("Hello, my name is func2 !\n");func3();}void
2015-01-13 22:50:30
680
原创 高通 LCD 笔记
qcom,mdss-dsi-on-command 格式注意写命令时候用的dcs write的命令格式:,高通的command 格式qcom,mdss-dsi-on-command:A byte stream formed by multiple dcs packets base on qcom dsi controller protocol.byte 0: dc
2014-12-24 21:28:53
1422
转载 Code Segment and Data Segment: Memory Layout of a Program
#include int g_i = 100; /* A global variable */int g_j; /* An uninitialized global variable */ int main(void) /* A function */{ int l_i = 1; /* A local variable *
2014-12-09 23:46:55
1041
转载 Ubuntu安装Sun JDK及如何设置默认java JDK
Ubuntu安装Sun JDK及如何设置默认java JDK (2011-08-04 16:11:21)转载▼标签: ubuntu java sun jdk openjdk分类: Java 假设系统为Ubuntu 10.10 64位。 先来看看当前的系统默认的
2014-12-06 00:09:42
633
原创 git 学习
1、git status/diff命令中怎样以彩色显示改动状态git config --global color.ui falsegit config --global color.ui true网址:http://jingyan.baidu.com/article/bad08e1e867c8309c85121f9.html2、git 操作 《http://www.
2014-12-03 23:31:09
478
原创 platform device driver
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include
2014-11-24 00:33:31
561
转载 ARM DTS解析
1. ARM Device Tree起源Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/
2014-11-21 00:04:41
814
转载 Linux crontab 命令格式与详细例子
http://blog.youkuaiyun.com/ethanzhao/article/details/4406017
2014-11-19 20:26:53
614
原创 学习记录,不断更新
将printk("yangchaofeng testing : %s->%s:%i\n", __FILE__,__FUNCTION__, __LINE__);
2014-11-08 01:11:57
624
转载 Android的休眠与唤醒 && 实例
Android 休眠(suspend),在一个打过android补丁的内核中,state_store()函数会走另外一条路,会进入到request_suspend_state()中,这个文件在earlysuspend.c中。这些功能都是android系统加的,后面会对earlysuspend和late resume 进行介绍。涉及到的文件:linux_source/kernel/power/m
2014-11-07 00:01:06
979
转载 Linux命令后台执行的方法
当进程不是守护进程时,不能简单地在命令行后添加一个&,当终端关闭时,该进程也随之关闭。因为通常在终端起动的进程其父进程是终端进程。当终端关闭时,其所有子进程也随之关闭。使进程在后台执行需要使用nohup命令:nohup command > out.log 2>&1 &nohup的作用是将进程的父进程设置为1,即init进程,这样终端关闭时,不会影响该进程。使用2>&1将标准错
2014-09-14 15:03:02
479
转载 用户空间的spi驱动
文章来源:http://blog.chinaunix.net/uid-12461657-id-2952491.html如果想要在用户空间编写spi驱动,这就要在内核的arch/.../mach-*/board-*.c 中声明一个spi_board_info,它的名字一定要是“spidev”,比如: struct spi_board_info info = { .mod
2014-01-16 10:38:40
765
转载 Linux_2.6字符设备驱动实例
原文章地址: http://www.cnblogs.com/Charles-Zhang-Blog/p/3454382.html第一步:my74hc595.c#include //模块所需的大量符号和函数定义#include //指定初始化和清除函数#include //文件系统相关的函数和头文件#include //cdev结构的头文件#include
2014-01-06 12:32:07
769
转载 vi永久显示行数
在VI的命令模式下输入“:set nu”如果取消输入:set nonu或者修改vi配置文件“vi ~/.vimrc”,在其中添加“set nu” 在VI的命令模式下输入“:set nu”,就有行号了。 但是想将这个设置写进VI的配置文件,就 # vi ~/.vimrc 引自 http://blog.chinaunix.net/uid-20691
2013-12-20 15:47:25
976
转载 Linux下/proc目录简介
转载地址:http://blog.youkuaiyun.com/zdwzzu2006/article/details/77479771. /proc目录Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序
2013-11-29 15:15:52
602
转载 linux下查看进程内存使用情况
1、pmap命令 pmap pid 2、ps命令 ps aux|grep process_name 3、查看/proc/process_id/文件夹下的status文件 Name: php State: R (running) SleepAVG: 0% Tgid: 21574 Pid: 21574
2013-11-29 11:37:51
566
转载 putty 颜色设置
http://www.nginx.cn/363.html通过putty或者securecrt连到linux服务器,使用vi编辑*.php 或*.c文件时,蓝色的注释很淡,看不清,看起来很费眼效果如下我本身有习惯于默认配色,不想修改配色方案,只想把看不清蓝色的注释换掉,修改成目录的蓝色翻了翻相关资料,大部分都是修改配色方案,最后发现可以通过hi命令来修
2013-10-11 17:27:57
1296
转载 NFS的套件结构
本文摘自:http://linux.chinaunix.net/techdoc/system/2007/03/26/953339.shtml /etc/exports 这个文件就是NFS的主要配置文件。系统可能没有预设,所以这个文件不一定会存在,您可能必须要使用 vi 主动的建立这个文件。 /usr/sbin/exportfs 这个是维护NFS共享资源的命令,我们可以利用这
2013-10-10 14:29:41
555
转载 Linux Select()函数使用简解
转自:http://www.cnblogs.com/hjslovewcl/archive/2011/03/16/2314330.html一.Select 函数详细介绍 Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、 accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式b
2013-09-12 15:15:27
542
转载 linux 信号量
转自:http://www.cnblogs.com/hjslovewcl/archive/2011/03/03/2314341.html信号量当我们在多用户系统,多进程系统,或是两者混合的系统中使用线程操作编写程序时,我们经常会发现我们有段临界代码,在此处我们需要保证一个进程(或是一个线程的执行)需要排他的访问一个资源。信号量有一个复杂的编程接口。幸运的是,我们可以很容易的为自己提
2013-09-12 13:07:00
679
APK反编译工具汇总
2015-04-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人