linux
文章平均质量分 64
sourthstar
这个作者很懒,什么都没留下…
展开
-
Linux下的一个全新的性能测量和调试诊断工具Systemtap
一、简介SystemTap是一个诊断Linux系统性能或功能问题的开源软件。它使得对运行时的Linux系统进行诊断调式变得更容易、更简单。有了它,开发者或调试人员不再需要重编译、安装新内核、重启动等烦人的步骤。为了诊断系统问题或性能,开发者或调试人员只需要写一些脚本,然后通过SystemTap提供的命令行接口就可以对正在运行的内核进行诊断调试,以前需要的修改或插入调试代码、重新编译内核、安转载 2013-02-03 14:17:02 · 793 阅读 · 0 评论 -
Linux系统调用--ptrace函数详解
http://hi.baidu.com/ordeder/item/77cf1cdc8ca93fe3795daab0【ptrace系统调用】 功能描述: 提供父进程观察和控制另一个进程执行的机制,同时提供查询和修改另一进程的核心影像与寄存器的能力。主要用于执行断点调试和系统调用跟踪。父进程可通过调用fork,接着指定所产生的子进程的PTRACE_TRACEME行为转载 2012-09-19 14:19:49 · 2570 阅读 · 0 评论 -
busybox编译时编译器的选择
busybox编译成arm平台的二进制文件时,需要注意编译器选项。推荐使用codesourcery提供的交叉编译器,它默认提供的-march参数是 armv5te. 而ubuntu软件包中的交叉编译器默认的march参数是armv7-a. 具体的参数区别如下: codesourcery:Using built-in specs.Target: arm-no原创 2012-10-08 13:59:31 · 1287 阅读 · 0 评论 -
查看gcc编译链接的过程
http://www.newsmth.net/bbsanc.php?path=%2Fgroups%2Fcomp.faq%2FKernelTech%2FKernelStudy%2FM.1191825232.60gcc -v -o xx xx.c会显示gcc的编译的所有过程。显示如下:g++-4.6 -v -o aa aa.cpp -lpython2转载 2012-09-15 13:49:05 · 2077 阅读 · 0 评论 -
C++异常机制的实现方式和开销分析
转载自: http://baiy.cn/doc/cpp/inside_exception.htm在我几年前开始写《C++编码规范与指导》一文时,就已经规划着要加入这样一篇讨论 C++ 异常机制的文章了。没想到时隔几年以后才有机会把这个尾巴补完 :-)。还是那句开场白:“在恰当的场合使用恰当的特性” 对每个称职的 C++ 程序员来说都是一个基本标准。想要做到这点,就必须转载 2012-09-15 14:39:59 · 565 阅读 · 0 评论 -
at linux show execute file symbol table
nm -D xxx.sonm xxxx.aobjdump -T xxx.soobjdump -s xxxx.a原创 2012-09-14 11:46:23 · 441 阅读 · 0 评论 -
linux netlinker介绍
http://www.doc88.com/p-949593353630.html前言 前段时间移植 wifi 驱动到 android 的内核上,发现 firmware 的加载始终出错,问了几个人,都不是很了解,没办法,只好自己研究一下。原理分析 从本质上来说, firmware 需要做的事情包括两件:1, 通知用转载 2012-09-13 15:07:45 · 1307 阅读 · 0 评论 -
Linux 系统内核空间与用户空间通信的实现与分析
http://blog.csdn.net/su_ocean16/article/details/5622298多数的 Linux 内核态程序都需要和用户空间的进程交换数据,但 Linux 内核态无法对传统的 Linux 进程间同步和通信的方法提供足够的支持。本文总结并比较了几种内核态与用户态进程通信的实现方法,并推荐使用 netlink 套接字实现中断环境与用户态进转载 2012-09-13 15:05:48 · 701 阅读 · 0 评论 -
Netlink实现网卡上下线监控
http://www.cpplive.com/html/1542.html之前有一篇文章《Netlink实现Linux内核与用户空间通信》专门介绍了Netlink相比其他内核交互方式的优点以及Netlink的调用方法,并以NETLINK_KOBJECT_UEVENT(内核事件向用户态通知)为例演示了U盘热插拔信息的捕捉,衍生出另一篇文章《Linux下自动检测USB热插拔》,转载 2012-09-13 17:40:15 · 4227 阅读 · 0 评论 -
linux kernel网络驱动
Linux Device Driver书籍(17)http://linux.chinaunix.net/techdoc/develop/2008/09/28/1035250.shtml第 17 章 网络驱动我们已经讨论了字符和块驱动, 现在准备好转移到网络世界里. 网络接口是第 3 类标准的 Linux 设备, 本章描述它们如何与内核其他部分交互.一转载 2012-09-13 15:38:56 · 2252 阅读 · 0 评论 -
Linux内核中读写文件数据的方法
http://blog.csdn.net/echoisland/article/details/6734147Linux内核中读写文件数据的方法 有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(),转载 2012-09-19 14:23:21 · 803 阅读 · 0 评论 -
linux驱动current,引用当前进程,及task_struct
http://blog.csdn.net/echoisland/article/details/6729061linux驱动current,引用当前进程,及task_struct尽管内核模块不象应用程序一样顺序执行, 内核做的大部分动作是代表一个特定进程的. 内核代码可以引用当前进程, 通过存取全局项 current, 它在 中定义, 它产生一个指转载 2012-09-19 14:20:59 · 990 阅读 · 0 评论 -
arm-linux-cross compile chain building
http://blog.csdn.net/pandazhu/article/details/693930ARM-Linux Cross-Compile Chain - Building From Scratch(binutils 2.16.1, gcc 3.4.5, glibc-2.3.5, Kernel 2.6.15)Author:Zhu Zhenyong Dat转载 2012-09-19 16:04:18 · 3123 阅读 · 0 评论 -
标准linux休眠和唤醒机制分析
标准linux休眠和唤醒机制分析标准linux休眠和唤醒机制分析(一)说明:1. Based on linux2.6.32, only for mem(SDR)2. 有兴趣请先参考阅读:电源管理方案APM和ACPI比较.docLinux系统的休眠与唤醒简介.doc3. 本文先研究标准linux的休眠与唤醒,android对这部分的增改在另一篇文章中讨论4.转载 2013-02-01 15:31:35 · 3333 阅读 · 0 评论 -
Linux 2.6.19.x 内核编译配置选项简介
http://www.cnblogs.com/wanqieddy/archive/2011/07/13/2104854.htmlCode maturity level options代码成熟度选项Prompt for development and/or incomplete code/drivers显示尚在开发中或尚未完成的代码与驱动.除非你是测试人员或者开发者,转载 2013-01-31 14:47:17 · 1182 阅读 · 0 评论 -
armel与armhf
http://blog.chinaunix.net/uid-9525959-id-3293283.htmlarmel和armhf指得是arm体系中有fpu(浮点运算单元)的,有的arm没有fpu,则不能有armel和armhf两种使用fpu的方式了。armhf比armel硬件要求(确切的是指fpu硬件)高一点。如果fpu硬件,达到要求转载 2013-02-01 10:10:32 · 840 阅读 · 0 评论 -
玩转pandaboard之rootfs制作及启动
refer: http://blog.csdn.net/melody_lu123/article/details/7220386linaro工具: https://wiki.linaro.org/Platform/Android/ImageInstallation?action=show&redirect=Platform%2FAndroid%2FInstal转载 2013-01-29 16:47:09 · 908 阅读 · 0 评论 -
building bootloader and kernel for pandaboard
refer:http://blog.csdn.net/moonlight_in_bluesky/article/details/7745920Building bootloader and kernelBootloaderStartwith building the bootloader. To learn more about the bootloader pro转载 2013-01-29 18:12:37 · 739 阅读 · 0 评论 -
编译busybox--制作linux文件系统
reference: http://blog.sina.com.cn/s/blog_5248460001013dqn.html文件系统:1.Uboot:启动内核2.内核:启动应用程序3.应用程序,构建:根文件系统;内核怎样启动第一个应用程序?1.启动open(/dev/console sys_dup(),sys_dop(0))2.run_init_pro转载 2012-11-02 21:06:06 · 505 阅读 · 0 评论 -
qemu调试 linux-kernel
http://www.eefocus.com/ayayayaya/blog/10-12/199985_7e686.html转载 2012-09-25 15:40:42 · 526 阅读 · 0 评论 -
linux查看线程/进程/调用栈信息-pstack/pstree
¥ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552) |-{ad_preprocess}(4553)转载 2012-09-25 18:42:15 · 14350 阅读 · 0 评论 -
GDB/ARMulator 使用方法
http://blog.chinaunix.net/uid-23325954-id-65698.html1.GDB/ARMulator基本介绍GDB/ARMulator是GDB自带的一个Armulator(ARM模拟器,实际上应该是有不止一个软件包含这个功能,例如ADS,他们都叫Armulator),不过我查看GDB的源代码都是对ARM6的模拟,而现在比较常见的转载 2012-09-25 11:32:37 · 2208 阅读 · 0 评论 -
linux应用层监控网线插拔状态的实现
http://www.cnblogs.com/sunzl1987/archive/2012/05/24/2516635.html1、对于基于linux2.4内核的uclinux系统如何实现在应用层监控网线插拔状态?2、硬件环境:IPS100(ARM7TDMI)3、实现过程由于linux下的ifconfig命令就能够实现在应用层监控网线插拔状态,例如当网线转载 2012-09-13 15:11:11 · 804 阅读 · 0 评论 -
在多个网卡的机器上利用socket进行网络测试的问题
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=program&Number=641137&fpart=all用的是arm的嵌入式板子,内核用的是linux-2.6.19,有四块dm9000网卡。系统起来之后用ifconfig配置eth0-eth3不同的ip地址/mac地址,然后用socket监听四个不同的端口(5转载 2012-09-07 10:31:37 · 2665 阅读 · 0 评论 -
LPT: Linux test project
http://ltp.sourceforge.net/documentation/how-to/http://ltp.sourceforge.net/documentation/ltp-contents.phphttp://www.linuxso.com/linuxrumen/12462.html简介: LTP套件是由 Linux Test Project转载 2012-07-30 11:35:12 · 2659 阅读 · 0 评论 -
linux下gcc相用编译器选项
gcc常用编译选项http://blog.csdn.net/liuchao1986105/article/details/6674822 版本] -0.13 [声明] 这篇文档是我的关于gcc参数的笔记,我很怀念dos年代我用小本子,纪录任何的dos 命令的参数.哈哈,下面的东西可能也不是很全面,我参考了很多的书,和gcc的帮助.不全的原因是,有转载 2012-08-11 19:47:15 · 2558 阅读 · 0 评论 -
gcc编译优化参数
http://www.linux-ren.org/thread-94-1-1.htmlGCC编译器选项及优化提示大多数程序和库在编译时默认的优化级别是"2"(使用gcc选项:"-O2")并且在Intel/AMD平台上默认按照i386处理器来编译。如果你只想让编译出来的程序运行在特定的平台上,就需要执行更高级的编译器优化选项,以产生只能运行于特定平台的代码转载 2012-08-11 17:46:07 · 3117 阅读 · 0 评论 -
重新安装grub
将grub安装在第一个盘,同时指定boot目录,如果有独立的boot分区,可以不指定.sudo grub-install --boot-directory=/boot /dev/sda# 更新配置信息,重新生成grub.cfg.# sudo update-grub 设置grub的显示模式:转载 2012-04-10 14:38:35 · 980 阅读 · 0 评论 -
busybox编译
BusyBox的交叉编译开发平台:Ubuntu11.10 目 标板:ARM体系结构 编 译器:arm-gcc-4.1.1.tar.bz2 (可从http://download.csdn.net/detail/npy_lp/3821111上下载) 源代码:busybox-1.19.2.tar.bz2(可从http://www.busybox.net/转载 2012-04-05 22:19:21 · 581 阅读 · 0 评论 -
linux kernel 编译命令
make tags生成tags文件,供浏览代码使用。make cscope生成cscope索引文件,也是为了方便浏览源代码。 make oldconfig在旧的.config基础上生成新的.config,非常有用。make silentoldconfig同上,但比较安静。;)make defconfig生成包含全部默认选项的.config文件。ma转载 2012-07-21 19:36:12 · 1449 阅读 · 0 评论 -
linux编译-make参数
make V=1 zImage 可以把makefile的执行过程打印出来。转载 2012-07-16 16:04:32 · 744 阅读 · 0 评论 -
gnu工具链简介
转载自: http://www.googies.info/blog/493.html参考网址: http://baike.baidu.com/view/1163670.htmhttp://book.51cto.com/art/201005/197784.htmGNU工具链简介 GNU工具链 (GNU Toolchain) 是一组用于开发应用程序和操作系统的编程工具的集转载 2012-05-30 15:20:06 · 1111 阅读 · 0 评论 -
学习linux kernel的好书
《Linux内核设计与实现》《深入理解LINUX内核》一书《LINUX内核2.4版源代码分析大全》一书《Linux设备驱动程序》第三版《深入理解Linux虚拟内存管理》《深入理解LINUX网络内幕》linux内核源码注释linux内核分析及编程 电子工业出版社linux内核编程指南 清华出版社(听说很烂)linux内核设计与实现转载 2012-04-17 21:12:18 · 386 阅读 · 0 评论 -
代码覆盖率测试,gcov, lcov
代码覆盖工具gcov, lcov的一些使用经验 白盒测试 11 Responses »一 202011 http://magustest.com/blog/tag/gcov/http://blog.sina.com.cn/s/blog_5ddb672b0100bn0z.htmlhttp://hi.baidu.com/xiaohei9514/item/25ae转载 2012-07-30 11:44:23 · 1864 阅读 · 1 评论 -
sysfs详解
http://bbs.chinaunix.net/thread-1974706-1-1.htmlsysfs是 Linux 内核中设计较新的一种虚拟的基于内存的文件系统,它的作用与 proc 有些类似,但除了与 proc相同的具有查看和设定内核参数功能之外,还有为 Linux 统一设备模型作为管理之用。相比于 proc 文件系统,使用 sysfs导出内核数转载 2012-08-18 16:23:58 · 2675 阅读 · 0 评论 -
uboot.lds分析
http://hi.baidu.com/kkernel/item/d821c3f8b06e9b1da729886c对于.lds文件,决定一个可执行程序的各个段的存储位置,以及入口地址,这也是链接定位的作用。这里以u- boot的lds为例说明uboot的链接过程。首先看一下GNU官方网站上对.lds文件形式的完整描述:SECTIONS {...sec转载 2012-08-20 14:48:38 · 411 阅读 · 0 评论 -
SOCKET编程之INADDR_ANY
SOCKET编程之INADDR_ANYhttp://blog.sina.com.cn/s/blog_6874564c0100jrvf.htmlINADDR_ANY就是指定地址为0.0.0.0的地址,这个地址事实上来表示不确定地址,或“所有地址”,“任意地址”。一般来说,在各个系统中均定义成为0值。例如:MontiVistaLinux中在/usr/inlcude/neti转载 2012-09-07 10:20:07 · 922 阅读 · 0 评论 -
socket通过多网卡收发数据
1. 通过bind机制, socket必须要调用bind才能发送tcp包。 bind调用时需要一个ip地址。一般一台机器的多网口都要配置不同的ip地址(路由器除外,路由器是一个网桥设备,只是负责转发包,所以其它的端口一般没有ip地址)。2. 通过ioctl来设置打开的socket. (ioctl (fd, SIOCGIFINDEX, &ifr)==0;TCP编程转载 2012-09-07 09:48:11 · 14608 阅读 · 0 评论 -
基于Socket的UDP和TCP编程介绍
http://www.eefocus.com/ayayayaya/blog/09-11/180572_25362.html一、概述TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream转载 2012-09-07 09:54:59 · 401 阅读 · 0 评论 -
socket常用选项
http://blog.csdn.net/arescj/article/details/62333271.closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,s转载 2012-09-07 09:52:34 · 620 阅读 · 0 评论