linux
newtonnl
自信人生2百年
展开
-
linux内核模块编译
Linux开发模块,在本机上看调试信息的方法走通了。当前版本2.6.32-32-genericuname –r可以查询这里取module_param()作为例子。该宏被定义在include/linux/moduleparam.h文件中,具体定义如下:#define module_param(name, type, perm) modul原创 2012-09-21 16:57:45 · 3007 阅读 · 0 评论 -
关于Segmentation fault (core dumped)几个简单问题
有的程序可以通过编译,但在运行时会出现Segment fault(段错误)。这通常都是指针错误引起的。但这不像编译错误一样会提示到文件一行,而是没有任何信息。一种办法是用gdb的step, 一步一步寻找。但要step一个上万行的代码让人难以想象。 我们还有更好的办法,这就是core file。如果想让系统在信号中断造成的错误时产生core文件, 我们需要在shell中按如下设置:#转载 2017-03-24 16:22:43 · 1063 阅读 · 0 评论 -
Python 各种运行错误(如:SyntaxError :invalid syntax)
18个新手常见Python运行时错误想要弄懂 Python 的错误信息的含义可能有点复杂。这里列出了常见的的一些让你程序 crash 的运行时错误。1)忘记在 if , elif , else , for , while , class ,def 声明末尾添加 :(导致 “SyntaxError :invalid syntax”)该错误将发生在类似如转载 2017-04-26 11:37:23 · 262380 阅读 · 2 评论 -
vim 用法大全 -葵花宝典,含泪推荐,个人最常用的
用ctags -R命令做tag。临时用法可以vim打开代码,输入 “:set tags=/direct/tags,这样在代码中就可以用ctrl+]来查看原始函数定义了,ctrl+T返回。目录下vim每个代码文件时,都需要set tags=。。。,主要是在vim ~/.vimrc中加入 set tags=/direct/tags,一劳永逸. 多个tags,set tags+=/home/...原创 2017-06-29 15:15:09 · 754 阅读 · 0 评论 -
打开固定文件的pr_debug
驱动中pr_debug定义在kernel/include/linux/printk.h /* If you are writing a driver, please usedev_dbg instead */#if defined(CONFIG_DYNAMIC_DEBUG)/* dynamic_pr_debug() uses pr_fmt()internally so we don原创 2014-09-30 16:59:54 · 6863 阅读 · 0 评论 -
android调用堆栈汇总
简介下面列出的打印函数调用堆栈的方法,只会输出CallStack的信息,并不会抛出异常,也不会导致程序崩溃。在很多情况下,我们无法通过gdb或DDD来单步调试应用,所以打印函数调用堆栈对于我们学习Android源码还是很有必要的(比如说:了解众多子类中,到底走的是哪个子类实例)。Java代码12转载 2017-09-26 15:42:03 · 2917 阅读 · 0 评论 -
android hal层 c 堆栈打印方法
比如要追踪 hardware/qcom/audio/hal/audio_hw.c 中adev_set_mode() 函数的函数堆栈调用关系实际原理就是利用c++ callstack 库,重新编译成c库后使用即可. 1. 在hardware/qcom/audio/hal/ 下添加 callstack.cpp 和 callstack.h文件 callstack.cpp 内容:#incl转载 2017-09-26 15:54:46 · 2828 阅读 · 0 评论 -
strtok 用法总结,可以快速提取带分割符号的字符串
#include #include int main(void) { char input[22] = "abc,d,eee,fff,ggg,hhh"; char *p; /* strtok places a NULL terminator in front of the token, if found */ p = s原创 2017-06-29 11:50:17 · 2296 阅读 · 0 评论 -
workqueue 用法实例
struct my_work_stuct{ int test; struct work_stuct save;};struct my_work_stuct test_work; struct workqueue_struct *test_workqueue;void do_save(struct work_struct *p_work){ struct my_转载 2016-01-20 16:16:52 · 2762 阅读 · 0 评论 -
换行符在不同系统中切换时修改工具
主要是总结,git上传代码时会要求统一为unix方式,首先,三种系统换行符不一样,mac \r CRunix \n lfwindosw \r\n crlfubuntu开发下主要是unix上传代码,因此要求都转化为unix格式 查询文件可以用file,但是我发现xml格式的好像不能查询出来,java,c都可以,没问题 dos2unix可以方便把文件原创 2015-12-29 16:48:45 · 1160 阅读 · 0 评论 -
Linux下解析配置文件
配置文件在Linux下使用得非常普遍。形如下面的这个文件就是一个典型的配置文件:# this is just an example# there can be comments before the first group[First Group]Name=Key File Exampletthis value showsnescaping# localized strings转载 2012-10-18 15:04:11 · 7225 阅读 · 0 评论 -
ubuntu12.04 笔记本键盘错乱
旧的hp笔记本一直闲置,安装了ubuntu,发现有个问题,键盘有点错乱。管道符号始终打不出来,@符号和“符号正好错位了。网上介绍这块的也没查到,应该是键盘类型不符合,但是也找不到合适的。系统设置——》》键盘布局——》》发现我的系统里只默认了英语(英国)点+,弹出 选择布局,中没有找到汉语,就找了个english(india, with rupeesign),添加 ok原创 2013-04-10 23:21:59 · 2313 阅读 · 0 评论 -
input设备使用方法和input_event说明
1.定义的结构体继承input_devstruct bma150_data { struct i2c_client *bma150_client; struct bma150_platform_data *platform_data; int IRQ; atomic_t delay; unsigned char mode; struct input_dev *input; struc原创 2013-04-24 00:15:25 · 19418 阅读 · 0 评论 -
android自动调节背光
这项功能涉及两个模块,光传感器和背光,光传感器采集周围环境的光感强度,上报给系统,系统通过PowerManagerService.java中设置背光值 1.powermanagerService 中实现自动调节背光1.1 enableLightSensorLocked(Boolean enable){ if(enable){原创 2013-10-10 16:47:24 · 5388 阅读 · 0 评论 -
undefined reference 的原因
最近在Linux下编程发现一个诡异的现象,就是在链接一个静态库的时候总是报错,类似下面这样的错误:(.text+0x13): undefined reference to `func' 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。1. 链接时缺失了相关目标文件(.o)转载 2013-10-28 17:55:34 · 1129 阅读 · 0 评论 -
selinux 下增加文件节点权限
ok原创 2015-03-30 17:45:09 · 3043 阅读 · 0 评论 -
如何理解中断的上半部和下半部
http://www.cnblogs.com/wang_yb/archive/2013/04/23/3037268.html http://blog.csdn.net/codectq/article/details/7479143 linux概念 上半部是不能中断的下半部是可以中断的 对于适时要求高的,必须放在上半部 下半部的实现主要是通过软中断 ,tas转载 2015-05-26 13:03:20 · 12842 阅读 · 0 评论 -
PCM与DSD究竟是什么??
PCM(Pulse-Code Modulation,脉冲编码调制)是现在最为常见的一种音频编码格式,什么wav,ape,flac,mp3等等几乎所有常见音频都是pcm编码格式其原理简单来说,我们先准备好一组规定电平值(对于电平这个概念,可以简单地等同理解为电压),比如-3,-2,-1,0,1,2,3等等,每个值给一个编号,就像ABCD这样,不过我们现在给这些电平值使用二进制的编号(就是00转载 2015-09-29 11:07:27 · 7415 阅读 · 1 评论 -
makefile常用函数学习(wildcard foreach filter word if ) PRODUCT_COPY_FILES
makefile 博大精深,看到下面一段代码,当时直接就蒙圈了.if 这个用法太怪异了,好不容易找到一个手册才理解是什么意思.整理了下相关makefile的用法,附上自己测试的例子.1.code###################################################### 1 test for PRDUCT_COPY_FILE# 2 test for ba原创 2017-05-27 15:49:44 · 2102 阅读 · 1 评论