
Linux
文章平均质量分 77
cfy_phonex
这个作者很懒,什么都没留下…
展开
-
GTK+安装笔记
计划在Ubuntu Lucid Lynx x86机器上面安装GTK+1)首先打开 http://www.gtk.org/download/linux.php找到相关的 几个主要下载包Stable ReleaseTo build GTK+ 3.6, see the installation guide. For additional help, the FAQ is原创 2013-01-20 22:06:50 · 12841 阅读 · 10 评论 -
arm-eabi-gcc 4.7升级后的问题
某一段arm assembly code,之前用 arm-eabi-gcc 4.6版本编译。执行没问题。但是换成GCC 4.7后有两个问题。问题一: 生成的BOOTLOADER无法执行;问题二: 能执行后,某段指令产生ABORT错误。问题一:研究GCC 4.7 compiler 升级文档(http://gcc.gnu.org/gcc-4.7/changes.html)原创 2014-01-15 17:56:05 · 4266 阅读 · 0 评论 -
Linux用户空间访问物理地址
因为项目需要,需要在Linux userspace 读写访问实际物理地址。 一)用户空间可以直接通过打开 /dev/mem 设备文件,然后mmap() 影射进行访问 static int read_type(){ void * map_base; FILE *f; int type,fd;#define READ_REG32(reg) ( *((volatile i原创 2014-03-03 13:37:55 · 11906 阅读 · 0 评论 -
Linux CPU负载利用率统计
通常,有如下方式可以得到 cpu 利用率情况:top 命令e.g. top -m 20 -d 1 -tUser 0%, System 6%, IOW 0%, IRQ 0%User 1 + Nice 0 + Sys 34 + Idle 494 + IOW 0 + IRQ 0 + SIRQ 1 = 530 PID TID PR CPU% S VSS RSS原创 2014-01-24 15:55:36 · 4901 阅读 · 1 评论 -
BUG: scheduling while atomic 分析
遇到一个典型的schedule问题。[26578.636839] C1 [ swapper/1] BUG: scheduling while atomic: swapper/1/0/0x00000002[26578.636869] C0 [ kworker/u:1] CPU1 is up[26578.636900] C1 [ swapper/1] Modu原创 2013-09-27 13:53:36 · 35522 阅读 · 0 评论 -
Linux kernel crash analysis example (2)
Issue:Android monkey test assertion.Assertion log:[50281.798919] C0 [ swapper/0] Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP ARM[50281.808074] C0 [ swapper/原创 2013-09-24 16:25:37 · 7877 阅读 · 3 评论 -
Linux kernel crash and analysis example (3)
BUG:Randomly, ARMv7 mobile crashed when USB OTG operations are executed.Context:[ 30.648925] C0 [m.android.phone] Unable to handle kernel paging request at virtual address 6b6b6b9f[原创 2013-10-10 10:11:47 · 2421 阅读 · 0 评论 -
Linux内核中CPU主频和电压调整 (四)
CPUFreq Governor/管理器什么是CPUFreq Governor?大多数cpufreq驱动(事实上,除了longrun, 所有的都是),甚至大多数的处理器频率调整算法都仅只支持处理器被设置成一个特定的频率。为了提供动态频率调整,cpufreq 核心必须能够告知驱动程序一个目标频率。如此,驱动程序才能够提供一个 "->target" 函数调用,而不是一个已经翻译 2013-09-18 10:05:06 · 3688 阅读 · 0 评论 -
Linux kernel crash analysis example
Issue reported:When USB is connected as Mass Storage mode, copy file from external sdcard to clipboard.The disconnect USB and try to paste clipboard file into internal sdcard but it will fail.原创 2013-09-11 17:29:30 · 1427 阅读 · 0 评论 -
Linux ioctl command
Excepted from kernel/include/asm-generic/ioctl.h /* ioctl command encoding: 32 bits total, command in lower 16 bits, * size of the parameter structure in the lower 14 bits of the * upper 16 bi转载 2013-07-09 13:38:09 · 1177 阅读 · 0 评论 -
Linux内核中CPU主频和电压调整 (三)
如何开发一个新的CPUFreq driver初始化首先,在一个 __initcall level 7后者以后的函数中检查内核是否运行在正确的CPU和正确的芯片组上面。如果正确,则通过cpufreq_register_driver() 函数, 注册一个cpufreq_driver结构体。cpufreq_driver结构体中必须包含:cpufreq_driver.n翻译 2013-03-12 16:59:39 · 5016 阅读 · 0 评论 -
Linux内核中CPU主频和电压调整 (一)
通过动态改变CPU电压,可以调整CPU主频。通过改变时钟倍数可以动态改变CPU时钟频率。一些具有CPU主频率时钟倍数可调能力的处理器,能够在不同的主频率和工作电压之间动态切换;而不需要内核或者用户介入。术语定义策略 (Policy) : 在系统中,用户只能选择主频上限和下限,以及是否希望激进的省功耗模式或者更好的处理器性能模式。管理器(Governor): 在所有的其他原创 2013-03-11 10:44:38 · 15533 阅读 · 1 评论 -
Linux内核中CPU主频和电压调整 (二)
CPUfreq core 和notifier 概述简介CPUFreq核心代码位于kernel/drivers/cpufreq/cpufreq.c.该代码提供了一个针对CPUFreq体系结构驱动(这些驱动代码做实际的频率转换工作)的标准化接口,以及“notifiers”。该代码中,当policy变化或者频率变化的时候,也需要通知内核其他的设备驱动。而且,当频率变化的时候,翻译 2013-03-11 13:05:00 · 4869 阅读 · 0 评论