- 博客(46)
- 资源 (5)
- 收藏
- 关注
原创 Pangolin 0.6版本编译错误问题(Eigen3)
diff --git a/components/pango_geometry/CMakeLists.txt b/components/pango_geometry/CMakeLists.txtindex 5f2b341..1d22efd 100644--- a/components/pango_geometry/CMakeLists.txt+++ b/components/pango_geometry/CMakeLists.txt@@ -10,7 +10,7 @@ PRIVATE ${C.
2022-02-23 16:08:27 1332
原创 分析android异常时的堆栈信息
android framework异常时会打印如下log,分析往往无从下手:24422 08-17 15:09:02.212 I/DEBUG ( 52): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***24423 08-17 15:09:02.212 I/DEBUG ( 52): Bui
2012-08-17 16:48:43 2291 1
原创 汇编和C语言
#file:hello.c#include #include extern void printk(char);extern int max_p(int, int);char str[]="Hello world!\n";int main(){ int i; for(i = 0; i < strlen(str); i++) printk(str[i]); int max
2012-08-09 20:07:46 1494
原创 统计数据
#!/usr/bin/env pythonimport stringfd=open("uss.log")"""sum = 0for line in fd: if line.strip(): line=line.rstrip() p=line.split() mem = string.atoi(p[3][:-1]) sum = sum + memprint "PSS
2012-08-07 14:28:35 880
原创 awk命令
./procrank |busybox awk '{print $4}'./procrank |busybox awk 'BEGIN{sum = 0}{sum += $4}END {print sum}'
2012-08-07 12:51:02 682
原创 jpg转RGB565
#!/usr/bin/env pythonimport os,sys,Imageim=Image.open("/work1/1.jpg")print "/* Image Width:%d Height:%d */" % (im.size[0], im.size[1])print "unsigned short image[]={"pix = im.load() #load pixe
2012-08-02 11:03:53 4681
原创 遍历目录文件并查找文件中的内容
#!/usr/bin/env pythonimport os,sysdef grep(filename, content): if open(filename).read().find(content) != -1: count=1 for line in open(filename): res = line.find(content) if res != -1
2012-08-01 17:13:23 1177
原创 EXT4写文件流程
测试函数#include#include#include#include#includeintmain(int argc, char *argv[]){intfd = 0, i = 0;charbuf[1024] = {0};fd= open(argv[1], O_CREAT | O_RDWR); //创建文件并打开文件for(i = 0; i
2012-05-29 17:52:49 4847 1
原创 linux 用户进程额堆栈空间VMA
linux 堆栈expand_stack__bprm_mm_init@@@@@@@@0xbe86f000 - 0xbe871000: address 0xbe84f000int expand_downwards(struct vm_area_struct *vma, unsigned long address){int error;if(strncmp(curr
2012-01-20 15:58:27 1168
原创 ARM Linux权限内存控制的实现
ARM Linux权限内存控制的实现early_trap_init->modify_domain(DOMAIN_USER, DOMAIN_CLIENT);设置USER MODE的domain权限为client(01)根据创建的page maps表设置0xc0000000开始的地址SVC模式读写,USR模式不能读写gdb dump memory的命令如下:
2012-01-19 16:39:39 1341
原创 ALSA toos-aplay的使用
使用alsa的工具aplay录音./arecord -f S16_LE -c 2 -r 8000 -d 20 8k.wav #录音:16bit 小端,立体声,采样率8K,时间20s注:将aplay命名为arecord,或者使用aplay -C {"help",
2011-08-16 16:29:31 3399
原创 进程地址空间地址转换为物理地址
kernel代码/* * To test kernel's scheduler * Date:2011/8/8 13:04 * ### wait queue ### */#include #include #include #include #include
2011-08-08 20:31:00 1297
原创 android下实现framebuffer独占的原理
bool SurfaceFlinger::threadLoop()利用handleConsoleEvents()判断当前进程是否有console的控制权。当除了surfaceFlinger之外的进程使用VT_ACTIVATE激活了console后,surfaceFlinger失
2011-08-03 19:08:21 2639 1
原创 wait_queue_head_t & wait_queue_t(MTD)
wait_queue_head_t & wait_queue_t使用(MTD)
2010-12-11 20:03:00 1472
原创 UNSTUFF_BITS宏定义分析
UNSTUFF_BITS宏定义分析(RGB:185 225 221) 0x1234567 0x89ABCDEF 0x1234567 0x89ABCDEF,得到UNSTUFF_BITS(resp, 8, 4) = 0xDCONFIG_MMC_DEBUG = yecho 8 > /proc/sys/kernel/printk[ 1
2010-12-11 11:45:00 2406 1
原创 PWM+RC电路分析
电路仿真与分析设计PWM波RC滤波电路时,应根据响应时间要求,确定时间常数,并且使RC时间常数远大于PWM周期。RC充放电时间常数应尽量相等。此外还应根据电压精度要求确定RC参数。输出电压 = PWM电压 *占空比如上图 1.49v = 5v * 30%在分析幅频响应是,电路中应包含一个AC信号源。
2010-11-21 19:44:00 12156
原创 电压增益分贝表
<br />电压增益分贝表<br /><br /> <br /> <br />G = 10lg( (V1/V2)^2 ) = 10lg(p1/p2)
2010-11-21 12:24:00 4038
原创 Digital Oscilloscope GUI base on SDL.
Digital Oscilloscope GUI base on SDL.
2010-11-13 01:34:00 998
原创 GUICHAN on the Skyeye
1. Install the skyeye on the ubuntu8.04(1).apt-get install skyeye(2).Download skyeye testsuite:skyeye-testsuite-1.3.0_rc1(3).Download the Busybox & Linux source code.Cross compile tools :arm-linux-gcc 3.4.1Busybox :busybox-1.17.2Linux ker
2010-11-06 11:42:00 1090
原创 How to compile Linux tools
This document shows how to compile linux tools such as SDL(simple DirectMedia library),Zlib,etc.#Writed by pecker.hu@gmail.com#Date:2010/11/02 Nanjing#!/bin/shSDL_DIR=/huyugui/GUI/SDL-1.2.14ZLIB_DIR=/huyugui/GUI/zlib-1.2.5CROSS_COMPILE=arm-linux
2010-11-03 21:55:00 988
原创 驱动中id_table的分析(Input/I2C)
<br />驱动中id_table的分析<br />一、I2C驱动probe<br />***i2c_device_id用于device与drive配对<br />static const struct i2c_device_id tps65010_id[] = {<br /> { "tps65010", TPS65010 },<br /> { "tps65011", TPS65011 },<br /> { "tps65012", TPS65012 },<br /> { "tps65
2010-09-25 21:07:00 10040 8
原创 I2C设备驱动流程
一、I2C设备驱动流程1) i2c_register_board_info定义I2C器件信息(Name,Address,etc.)static struct i2c_board_info __initdata pi2c_board_info[] = { { I2C_BOARD_INFO("max1586", 0x14), .platform_data = &max1587a_info, },};i2c_register_board_
2010-09-24 20:07:00 5465
原创 vmalloc中物理地址重映射函数分析
vmalloc中物理地址重映射函数分析 Figure 1:Vmalloc Areas Figure 2:将非连续3个物理pages到连续虚拟地址注:图片来至
2010-09-19 09:53:00 2535 1
原创 bootmem & buddy Allocator
Linux内存分配器分析1) bootmem_init();初始化bootmem内存分配器typedef struct bootmem_data { unsigned long node_min_pfn; unsigned long node_low_pfn;
2010-09-16 20:23:00 1262
原创 mm_init分析(Zoned Buddy Allocator)
1 mm_init分析file:init/main.cstart_kernel函数{ ... setup_arch(&command_line);//处理器相关的初始化代码,paging_init,详细见bootmem_init分析 mm_init_owner(&init_mm,
2010-09-15 21:36:00 4984 2
原创 bootmem_init分析(Bootmem Allocator)
1 bootmem_init分析文件:arch/arm/mm/mmu.cpaging_init -> bootmem_init1) 为pgdat = NODE_DATA(node),pgda->bdata->node_bootmem_map分配内存空间,起始地址为_end(即ke
2010-09-15 20:54:00 4456 2
原创 create_mapping如何创建内存映射表
1 ARM920T的MMU工作原理下图显示了MMU地址转化关系 一级表项的地址(pmd) = ( (TLB) & (0xFFFFC000) ) + ( (Table Index)注1:TLB(Translate table base),即转换表基地址注2:由于每个表项占32位(4Bytes),因此(Table Index)一级表项的内容(*pmd) = ( (pte)
2010-09-14 22:07:00 4394 1
原创 Kernel Driver错误返回值总结
Kernel常见错误类型总结1) ENOMEMdev->base = ioremap(mem->start, resource_size(mem)); if (!dev->base) { r = -ENOMEM; goto err_free_mem; } dev = kzalloc(sizeof(struct omap_i2c_dev), GFP_KERNEL); if (!dev) { r = -ENOMEM; /* 内存分配失败 */ goto err_release_regi
2010-09-12 16:03:00 1348
Linux memory manage
2009-12-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人