自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u011605208的专栏

软件,自由,书生

  • 博客(26)
  • 收藏
  • 关注

转载 AOSP eclipse

引自:http://apienthusiast.blogspot.com/2014/06/using-eclipse-to-browse-and-edit-aosp.htmlUsing Eclipse to browse and edit Android platform source codeAndroid platform consists of m

2014-08-12 16:22:02 1085

原创 .ARM.exidx

一介绍:`.ARM.exidx` is the section containing information for unwinding the stack. If your C program has functions that print out a stack backtrace, the functions will likely depend on this section bei

2014-06-20 13:46:21 7133

原创 c语言与函数式编程1(wrapper function)

一、c语言与函数式编程模式(funcitonal programming)1)c语言通过函数指针(函数指针可以作为参数,也可以作为返回值)对funcitonal programming提供一定的支持2)但又远不够强大,本身不支持闭包,嵌套定义等,远未达到funcitonal programming中first class function(high order function)的境界

2013-12-26 11:59:42 3835

原创 图形加速软件实现(bitblt软实现)

一、概念及本质嵌入式下图形加速的概念,详见http://blog.csdn.net/jianchenglee/article/details/126213471)其中重要的一步操作就是bitblit:拷贝源图形中的某一块图形区域到目标图形的某一块图形区域(其中可能涉及到拉伸、混合等操作)。其执行的操作如图所示:2)本质就是内存的二维操作,由于普通内存都是一维,进行二维操作(涉及

2013-12-16 13:58:01 3050

原创 屏幕宽高比(电视等显示设备):letterbox 和 pan and scan 模式

一、源起1)电影胶片的格式一般都是widescreen的,即宽屏的,这样就引入了一个问题。2)由于电视的宽高比ratio前期一般为4:3,后期为16:9;胶片的宽高比2.20:1, 2.35:1, 2.39:1, 2.55:1等,大于1.33(4:3),1.78 (16:9)3)如何将内容合适的展示在电视屏幕上就是本文标题中提到的两种技术(16:9 在 4:3上展示等也是一样的道理)

2013-12-11 15:12:29 5686

原创 水池问题的lua语言算法(面试题分析:我的Twitter技术面试失败了)

twitter面试题内容:“在这个图片里我们有不同高度的墙。这个图片由一个整数数组所代表,数组中每个数是墙的高度。上边的图可以表示为数组[2,5,1,2,3,4,7,7,6]”“假如开始下雨了,那么墙之间的水坑能够装多少水呢?” 此问题的lua代码

2013-11-01 17:15:25 2305

原创 数字有线机顶盒锁频流程

本文所介绍的高频头以DVB-c tuner(数字有线电视)为例一、硬件解析(对硬件原理不熟悉,只能说个大概)高频头(tuner),也称之为调频器,主要有三个功能:1)选择频道即选台,在硬件上应该就是个过滤器吧,选择出指定频率的信号2)放大功能,就是个信号放大器了3)变频功能,将选定频率的信号转换为中频信号,以供后续demod使用 这里面有个AGC器件(原理上就是稳定信号的所用,

2013-10-14 09:24:31 6174

原创 嵌入式环境图形加速浅析(以机顶盒平台为例)

一、介绍下图形加速的概念1)从横向上来说,图形加速是硬件加速的一种,所谓的硬件加速,就是用专有硬件实现某些操作,以免浪费大量的cpu资源,常见的有硬浮点处理器FPU、图形处理器GPU(也通俗称为显卡) 以及 音视频解码硬件等2)从纵向上来说,图形加速也是GPU(Graphic Process Unit)的一种,只不过功能较弱而已二、关于嵌入式环境的图形加速功能(以机顶盒芯片平台st7162、hi3716m等为例)

2013-10-11 17:52:50 1882

原创 UBI(unsorted block image )块管理

一、介绍ubi是unsorted block images的缩写,是由IBM开发设计的,它与ubifs有不同的含义,ubifs是一种文件系统(nokia开发的);而ubi是一种块管理工具,工作在mtd之上,文件系统之下示意图如下:-------------------flash file system(e.g.,UBIFS)-------------------------------

2013-09-30 14:52:10 1653

原创 linux cache swap 以及 虚拟内存等

提出四个问题及解答:1)若进程在运行过程中,物理内存不足会发生什么?2)为何进程在占用物理内存不变的情况下,系统的物理内存会增加?3)为何程序的大小大于实际占用的物理内存?(假如程序30M,却只有20M物理内存)4)malloc分配的内存,未体现在物理内存上?(分配了10M,物理内存可能还不足10M)

2013-09-26 10:45:12 1139

原创 libc死机问题二(free死机)

一、简介c语言本身并没有对内存的管理,在标准并没有明确的给出行为规定 本文只讨论glibc下的情况1)glibc库提供了有限的管理,在操作非法时,会触发abort信号,或者由操作系统触发segmentfault信号2)当程序的代码量较大时,内存问题的查找极为艰难二、glibc free死机的分类1)glibc detected *** f

2013-09-16 14:26:53 2086

原创 glibc库的交叉编译及使用

在调试过程中,遇到coredump堆栈信息无法跳出c库的情况,需要debug版本的c库一、编译过程../configure --host=arm-hisiv200-linux-gnueabi CC=arm-hisiv200-linux-gcc CFLAGS="-g -O2 -U_FORTIFY_SOURCE" --enable-add-ons  --prefix=/root/tem

2013-09-16 10:49:57 15479 5

原创 valgrind实时内存工具的编译及使用

valgrind主要用作实时内存调试、内存泄漏检测以及内存剖析等一、交叉编译 hisi arm平台./configure --host=arm-hisiv200-linux CC=arm-hisiv200-linux-gcc --prefix=/root/temp/lijiancheng/valgrind-3.8.1/installdir/ makemake install

2013-09-16 10:37:45 2155

原创 cppcheck 静态检查工具

源码包:cppcheck-1.61.tar.gz./cppcheck --enable=all ./ 2> resultcat result | egrep "null"可以使用egrep检索出各种分类代码,上面是可能包含空指针的代码处

2013-09-16 10:17:04 1081

原创 coredump的生成以及gdb查看

coredump是记录了特点时间某一进程的内存状态,主要是内存的寄存器、堆栈、其他内存信息,本文件简述下coredump生成以及使用gdb查看的方式一、默认不生成coredump[root@linux mcheck]# ./mainp=0x14a39010after free p one time*** glibc detected *** ./main: double fre

2013-09-03 17:25:33 1802

原创 autotools精简二(生成libxml2静态库)

一、Makefile.am制作过程1)从原始am文件提取要生成的目标和依赖关系,生成新的Makefile.am 使用awk进行提取:awk ' {if((NR >= 18&& NR =1137&&NR Makefile.am 生成的Makefile.am源码 cat Makefile.am INCLUDES = -I$(top_builddir)/include -I@

2013-08-27 17:39:25 1718

原创 gcc优化

一、空间优化(减少可执行文件的大小)主要有两个方向:1)去除符号信息 2)只链接有用的东西示例引自http://wiki.wxwidgets.org/Reducing_Executable_Size:Test #1# wxGTK compiled with:#   ./configure --disable-debug --disable-shared#   make$

2013-08-23 15:42:14 1323

原创 区域控制

简单来说:区域控制是有线电视运营商的一种商业手段,保证自己的利益。达成的目标:本区域(如一个县或者市)的机顶盒只能在本区域内收看节目。手段:智能卡的区域号 与 当前有线网络的区域号是否匹配,若不匹配,则弹出相应提示,禁播电视。具体实现有两类(根据触发方式):           1)CA完全控制,由CA触发区域控制相关消息   2)中间件控制(CA提供区域码),中间件与网络中的

2013-08-22 10:47:33 894

翻译 段错误(segmentation fault)

segmentation fault段错误segmentation fault段错误往往是由于访问了一个不可存取的内存地址,或者是试图以一种不可不允许的方式访问某块内存(如写入一块只读内存等)。segmentation是个历史名词,是由内存的段式管理和页式管理而来。不同os对段错误触发的信号可能不一致,在类unix系统中,信号是SIGSEGV ,此信号被发送到触发段错误的进程。引起段错

2013-08-15 16:29:32 1695

原创 总线错误(bus err)

bus error在posix兼容的平台上,引起bus errors的进程通常会收到内核发送一个SIGBUS信号。当然,SIGBUS也可能是设备故障引起的。bus errors错误由硬件引起的问题较少,大部分是由程序bug引起的。引起bus errors的问题主要两种:1)不存在的地址,程序产生了一条指令,读写不存在的物理地址。2)unaligned access(未对齐的访问)

2013-08-15 16:25:59 5083 1

原创 进程地址空间(linux)

linux下,进程的地址空间是由允许进程使用的全部线性地址组成。在32位系统中进程地址空间的大小一般为4GB.内核通过线性区来管理进程的内存地址,线性区通过链表和红黑树进行组织,方便查收、增加以及删除等操作。线性区大致分为如下几类:text段、data段、heap段、stack段、内存映射以及匿名段段等下面以一个C程序为例,展示各个线性区的内存地址:debian:/home/bsh

2013-08-15 16:20:33 1006

原创 linux进程监控脚本(/proc/$pid/status)

进程信息监控:除free top外,最靠谱的就是 /proc/$pid/status,该文件会实时记录进程的内存占用、文件占用、信号处理等各种资源占用状况,具体内容看参照相关文档下面的源码主要是实现了一个进程监控脚本,定时记录给定pid进程的信息,以供后期分析[root@linux mem_monitor]# cat process_monitor.sh #!/bi

2013-08-09 17:18:20 3719

原创 libc死机问题一(invalid pointer、数组或者指针越界)

一、简要介绍下glibc libcglibc:最开始是由fsf组织发起,实现ANSI C标准,在1990年后开始兼容c89和posix标准libc:1)起源于glibc,在1990年后,linux内核开发者发现glibc的发展过于缓慢,就拷贝了一个分支,后独立发展libc2-libc52)但1997年,glibc release了2.0版本,在可移植性,功能支持(ipv6、64

2013-08-09 10:56:12 1684

原创 GDB嵌入式调试(以st7162平台为例)

目前遇到不少死机问题,缺少调试手段,下面对这种情况作下说明,st7162平台(stlinux)有两种调试手段: 一 gdbserver,  较为难用,需在目标板和pc端同时启动相应的程序,且无法调试死机,死机时无法输出堆栈信息 二 native gdb(只需在目标板运行) 死机时可打印堆栈信息    1)/opt/STM/STLinux-2.3/devkit/sh4/targe

2013-08-08 16:12:40 1179

原创 No space left on device /tmp 原因和解决方法

No space left on device /tmpdf 命令若显示如下文件系统                 1K-块      已用      可用 已用% 挂载点/dev/sda1             19734388  16884588   1847348  91% /tmpfs                   257344

2013-08-08 16:08:47 15938

原创 autotools精简(以webkit嵌入式浏览器移植为例)

本文档主要是阐述autotools以及以webkit为例精简构建系统    Copyright (C)  2013  jianchenglee.    Permission is granted to copy, distribute and/or modify this document    under the terms of the GNU Free Documentation

2013-08-05 17:51:44 1826

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除