- 博客(20)
- 资源 (11)
- 收藏
- 关注
转载 warning: control reaches end of non-void function
用gcc编译一个程序的时候出现这样的警告:warning: control reaches end of non-void function它的意思是:控制到达非void函数的结尾。就是说你的一些本应带有返回值的函数到达结尾后可能并没有返回任何值。这时候,最好检查一下是否每个控制流都会有返回值。
2011-10-30 11:14:30 34170
原创 杀不死进程怎么办(by liukun321咕唧咕唧)
做linux开发的很多人都会遇到这个问题吧,上篇blog也提到过,原因主要有两个:一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当进程进入内核状态后,会屏蔽所有信号,包括SIGKIL,所以这个时候kill -9也变得无效了。 下面就第二方面举个例子,进程处在内核态杀不
2011-10-30 10:40:04 3108 1
转载 进程kill 失败
做过Linux开发的人通常遇到过一个进程不能kill掉的情况,即使使用的是kill -9方式,而一般的教课书都只说kill -9能杀死任何进程,遇到这种情况时就会感觉到很矛盾,其它这也是正常的,通常有两种情况是不能kill掉的:一是进程已经成为僵死进程,当它的父进程将它回收或将它的父进程kill掉即可在ps输出看不到了;二是进程正处在内核状态中,Linux进程运行时分内核和用户两种状态,当
2011-10-30 10:02:16 9313
转载 在Linux下改变进程的优先级
作者:曾宏安,华清远见嵌入式学院讲师。作为多任务的操作系统,Linux内核为每个创建的进程分配时间片并根据其优先级进行调度。当进程被创建时,其对应的task_struct里包含了四个优先级:struct task_struct {……int prio, static_prio, normal_prio;unsigned int rt_priority;…… };
2011-10-29 17:17:13 4508
原创 在目标板上移植动态库(-/bin/sh: XXX: not found 问题的解决)(by liukun321咕唧咕唧)
动态库的搜索路径先后顺序:1、编译目标代码时指定的动态库搜索路径:在编译的时候,可以指定-Wl,-rpath=你的路径2、环境变量LD_LIBRARY_PATH指定的动态库搜索路径;3、配置文件/etc/ld.so.conf中指定的动态库搜索路径(我移植的根文件系统,ld.so.conf在/etc目录下的,而且指定搜索路径位/lib)4、默认的动态库搜索路径/lib5、默认的动
2011-10-28 21:00:31 6538
转载 Makefile‘混和的隐含和普通规则’错误的解决
工作环境: fedora14目标平台:s3c2440开发包内核源码目录:/home/linux-2.6.24-5801开发包内核版本:2.6.24交叉编译工具:gcc-3.4.1用gcc-3.4.6交叉编译3210内核,执行make命令,会提示"*** 混和的隐含和普通规则。 停止。"的错误。这是由于fedora14的Make工具对低版本内核Makefile一些旧的规则兼容不是
2011-10-28 20:22:14 6673 1
转载 关于Linux静态库和动态库的分析
1.什么是库在windows平台和linux平台下都大量存在着库。本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。本文仅限于介绍linux下的库。2.库的种类linux下的库有两种:静态库和共享库(动态库)。二者的不同点在于代码被载入的时刻不同。静态库的代码在编译过程中已经
2011-10-27 20:47:51 1544
原创 ldconfig提示is not a symbolic link警告的去除方法
错误提示:ldconfig ldconfig: /usr/local/lib/gliethttp/libxerces-c-3.0.so is not a symbolic link问题分析:因为libxerces-c-3.0.so正常情况下应该是一个符号链接,而不是实体文集件,修改其为符号链接即可解决方法:mv libxerces-c-3.0.so libxerces-c.
2011-10-26 21:25:48 60379
转载 ldconfig详解
ldconfig是一个动态链接库管理命令,为了让动态链接库为系统所共享,还需运行动态链接库的管理命令--ldconfigldconfig 命令的用途,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /
2011-10-26 19:37:20 1735
原创 关于Linux的线程休眠函数sleep/usleep/nanosleep/select
sleep:单位为秒,1秒usleep:单位为微秒,1/1000 秒 select:单位为微秒,1/1000 000 秒nanosleep:单位为毫微秒,也就是纳秒,1/1000 000 000 秒
2011-10-26 17:02:41 9130 1
转载 驱动模块Makefile解析
驱动模块Makefile解析作者:王劲南,华清远见嵌入式学院讲师。先看一下代码ifeq ($(KERNELRELEASE),) KERNELDIR ?= /home/linux/linux-2.6.22.6 PWD := $(shell pwd) modules: $(MAKE) -C $(KERN
2011-10-24 19:56:58 1325
原创 U-Boot环境变量的解释说明
U-Boot环境变量的解释说明环 境 变 量解 释 说 明bootdelay定义执行自动启动的等候秒数baudrate定义串口控制台的波特率netmask定义以太网接口的掩码ethaddr定义以太网接口的MAC地址boo
2011-10-24 19:34:48 2528
原创 linux 设备在合适申请内存比较恰当
总觉的在驱动的read,write,ioctl里面进行大的内存申请会有问题。我看到的一些别人的驱动都不是这么做的。都是在probe的时候,定义个结构体,申请个足够大的内存,和其中有指针和设备有关系。这样你在read。write,ioctl的时候,都可以通过文件标识符得到设备,设备通过和结构体的关系得到结构体指针,从而得到申请的内存指针,你就可以使用已经申请好的内存,而不是在read
2011-10-24 17:32:17 1084
原创 linux 设备驱动中对结构体成员赋值的常用格式
struct super_operation new_super{ .read=new_read; .write=new_write; // 更多的这样的语句};另外还有一种语法是下面这个样子的:struct super_operation new_super{ read: new_read; write: new_write; // 更
2011-10-24 17:23:51 1955
转载 fread与read的区别
f是ANSI的C标准库。而后者的是UNIX下的系统调用。fread带有缓冲,是read的衍生,或者说fread是通过read实现的要想直接和硬件打交道,必须用readfopen/fread是C标准的库函数,操作的对象是: file streamopen/read是和操作系统有关的系统调用。操作的对象是: “file descriptor”fread返回的是一
2011-10-24 17:16:54 3611
原创 linux 设备模型简析
file_operations 不可能被抛弃。它是字符设备的基础结构,各种设备模型或者说总线,只是对字符设备进行了包装。 驱动一定是内核模块 内核模块不一定是驱动 设备模型的初衷 是省电 建立一条 挂有 所有设备的树 全局设备树 与用户空间的通信:设备间的通信 都是通过 sysfs文件系统实现的 把设备模型的接口以文件的形式 暴露给用户可以通过 读写文件的方式 配置设备
2011-10-23 18:22:30 1287
原创 rmmod:No such file or directory 问题的解决
作者:liukun321(咕唧咕唧)原文出处:http://blog.csdn.net/liukun321 我们在卸载内核模块时常常遇到rmmod: No such file or directory这个错误. 原因是我们没将内核模块放在文件系统指
2011-10-15 14:03:57 4144 3
原创 KERNELRELEASE 的定义
Linux内核是一种单体内核(宏内核),但是通过动态加载模块的方式,使它的开发非常灵活 方便。那么,它是如何编译内核的呢?我们可以通过分析它的Makefile入手。以下是 一个简单的hello内核模块的Makefile.编译内核模块最简单的Makefileifneq ($
2011-10-14 19:50:59 3407
转载 如何修改Linux命令提示符
如何修改Linux命令提示符 2011-02-10 14:01:23 www.hackbase.com 来源:互联网 Linux修改环境变量PS1(命令行提示符),可以使用vi编辑/etc/profile文件,在最后加上:export PS1=’[u@h W]$ ‘即可
2011-10-09 20:00:19 2258
转载 C语言中的__attribute__机制
C语言中的__attribute__机制 来源: ChinaUnix博客 日期: 2008.09.25 15:52 (共有0条评论) 我要评论 GNU C的一大特色(却不被初学者所知)就是__attribute__机制。__attribute__可以
2011-10-09 19:22:15 3305
Android Ublox GPS 驱动
2013-05-02
Android Gps HAL
2013-05-01
tiny210-u-boot-version4.0
2013-01-31
u-boot for tiny210 ver3.1
2012-04-08
tiny210-u-boot-version3.0
2012-04-02
u-boot-for-tiny210-patch-ver2.2
2012-03-18
u-boot for tiny210 ver2.2
2012-03-18
u-boot for tiny210 ver2.1
2012-03-10
u-boot for tiny210 version2
2012-03-03
u-boot for tiny210
2012-02-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人