- 博客(13)
- 资源 (11)
- 收藏
- 关注
转载 ps+gdb查找100%CPU bug
同事的多线程代码中,存在100%CPU占用的bug,未知问题所在。其实只要知道几个命令,定位这个问题很简单。这里记录一下调试过程。1. 用ps 查看哪个线程消耗了CPU。$ ps -m -o tid,cpu,time -p 4172 TID CPU TIME - - 00:01:22 4172 - 00:00:17 4183 - 00:00:00 4184 - 00:00:00 4185 - 00:00:00 4186
2011-04-25 20:46:00 1693
转载 7 Habits of Highly Ineffective People By Henrik Edberg
<br /><br />With a twist to the common list of habits that are useful to establish, here are 7 habits that you do best to avoid.<br />Just like finding habits that can be useful for you it’s important to find habits that are holding you back. Most of these
2011-04-24 22:44:00 755
转载 1.5.6 库文件和搜索目录 .a .so
<br /><br />Makefile中程式链接的静态库、共享库同样也能有目录搜索得到。这一特性需要我们在书规则的依赖是指定一个类似“-lNNAM”的依赖文件名(一个奇怪的依赖文件名!一般依赖文件名应该是个普通文件的名字。库文件的命名也应该是“libNAME.a”而不是所写的“-lNAME”。这是为什么,熟悉GNU ld的话我想这就不难理解了,“-lNAME”的表示方式和ld的对库的引用方式完全相同,只是我们在书写Makefile的规则时使用了这种书写方式。因此你不应该感到奇怪)。下边我们就来看看这种
2011-04-20 21:27:00 898
转载 从U-Boot源码看C语言对汇编代码中的符号引用
aaronwong: u-boot中代码的疑问(_armboot_start与_start)?---------------------------我使用的是u-boot-1.3.0-rc2。在cpu/pxa/start.S中,有如下的标号定义: _TEXT_BASE: .word TEXT_BASE /*uboot映像在SDRAM中的重定位地址,我设置为0xa170 0000 */.globl _armboot_start _armboot_start: .word _start /*_start
2011-04-18 14:15:00 887
原创 嵌入式Linux启动过程(2)
<br /><br />3.Linux内核的启动过程<br />在 bootloader将 Linux 内核映像拷贝到 RAM 以后,可以通过下例代码启动 Linux 内核:call_linux(0, machine_type, kernel_params_base)。其中,machine_tpye 是 bootloader检测出来的处理器类型, kernel_params_base 是启动参数在 RAM的地址。通过这种方式将 Linux 启动需要的参数从 bootloader传递到内核。Linux 内核有
2011-04-17 00:13:00 616
转载 嵌入式Linux启动过程(1)
<br /><br />1.引 言<br />Linux 最初是由瑞典赫尔辛基大学的学生 Linus Torvalds在1991 年开发出来的,之后在 GNU的支持下,Linux 获得了巨大的发展。虽然 Linux 在桌面 PC 机上的普及程度远不及微软的 Windows 操作系统,但它的发展速度之快、用户数量的日益增多,也是微软所不能轻视的。而近些年来 Linux 在嵌入式领域的迅猛发展,更是给 Linux 注入了新的活力。<br />一个嵌入式 Linux 系统从软件角度看可以分为四个部分:引导加载程序
2011-04-17 00:00:00 798
转载 LINUX date modify system time 修改系统时间
<br /><br />了解Linux的时钟<br />由于Linux时钟和Windows时钟从概念的分类、使用到设置都有很大的不同,所以,搞清楚Linux时钟的工作方式与设置操作,不仅对于Linux初学者有着重大意义,而且对于使用Linux服务器的用户来说尤为重要。<br />Linux时钟的分类<br />Windows时钟大家可能十分熟悉了,Linux时钟在概念上类似Windows时钟显示当前系统时间,但在时钟分类和设置上却和Windows大相径 庭。和Windows不同的是,Linux将时钟分为系统
2011-04-11 19:42:00 1754
原创 LINUX SOCKET programming by Example
<br />决定了学习linux socket programming!!<br />每天上来更新一下学习的状态!<br /> <br />最近一些事情烦恼,不能再这么颓废下去了,人生没有几年可以蹉跎的!!
2011-04-08 15:05:00 1216
原创 oops 消息 Unable to handle kernel NULL pointer dereference at virtual address
<br /><br />大部分 bug 以解引用 NULL 指针或者使用其他不正确指针值来表现自己的. 此类 bug 通常的输出是一个 oops 消息.<br />处理器使用的任何地址几乎都是一个虚拟地址, 通过一个复杂的页表结构映射为物理地址(例外是内存管理子系统自己使用的物理地址). 当解引用一个无效的指针, 分页机制无法映射指针到一个物理地址, 处理器发出一个页错误给操作系统. 如果地址无效, 内核无法"页入"缺失的地址; 它(常常)产生一个 oops 如果在处理器处于管理模式时发生这个情况.<br
2011-04-07 21:17:00 13308 3
原创 Makefile ifneq ifeq strip
<br />7.2.1 关键字“ifeq”<br />此关键字用来判断参数是否相等,格式如下:<br />`ifeq (ARG1, ARG2)'<br />`ifeq 'ARG1' 'ARG2''<br />`ifeq "ARG1" "ARG2"'<br />`ifeq "ARG1" 'ARG2''<br />`ifeq 'ARG1' "ARG2"'<br /> <br />替换展开“ARG1”和“ARG1”后,对它们的值进行比较。如果相同则(条件为真)将“TEXT-IF-TRUE”作为make
2011-04-04 21:54:00 9971
原创 GIT INSTALL on linux 安装 [转]
<br />GIT 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。<br /><br />安装:<br /><br />第一步:sudo apt-get install git git-core 来安装GIT程序,
2011-04-04 21:09:00 697
原创 GIT INSTALL on linux 安装 [转]
<br />GIT 是用于 Linux 内核开发的版本控制工具。与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git 的速度很快,这对于诸如 Linux kernel 这样的大项目来说自然很重要。 Git 最为出色的是它的合并跟踪(merge tracing)能力。<br /><br />安装:<br /><br />第一步:sudo apt-get install git git-core 来安装GIT程序,
2011-04-04 15:44:00 907
原创 UBUNTU static ip 设定静态IP
<br /><br />静态IP需要手动设置,设置方法是:<br />(下文中eth0 根据实际情况)<br /> <br />sudo vi /etc/network/interfaces :<br />auto eth0<br /># iface eth0 inet dhcp<br />iface eht0 inet static<br />address 192.168.1.254<br /> <br />netmask 255.255.255.0<br />gateway 192.168.1.1<b
2011-04-03 17:45:00 896
android wear sdk
2014-08-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人