自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (4)
  • 收藏
  • 关注

原创 Android 6.0 Led Service介绍

原文链接

2018-03-13 17:44:30 360

原创 Android 6.0 Log的工作原理

链接: Android 6.0 Log的工作原理

2018-03-07 16:32:28 300

原创 Android中的UID和PID意义

Pid是进程ID,Uid是用户ID,只是Android和计算机不一样,计算机每个用户都具有一个Uid,哪个用户start的程序,这个程序的Uid就是那个用户,而Android中每个程序都有一个Uid,默认情况下,Android会给每个程序分配一个普通级别互不相同的 Uid,如果用互相调用,只能是Uid相同才行,这就使得共享数据具有了一定安全性,每个软件之间是不能随意获得数据的。而同一个applica

2017-02-28 16:48:50 536

转载 守护进程

百科名片在Linux或者unix操作系统中在系统的引导的时候会开启很多服务,这些服务就叫做守护进程。为了增加灵活性,root可以选择系统开启的模式,这些模式叫做运行级别,每一种运行级别以一定的方式配置系统。 守护进程是脱离于终端并且在后台运行的进程。守护进程脱离于终端是为了避免进程在执行过程中的信息在任何终端上显示并且进程也不会被任何终端所产生的终端信息所打断。守护进程简介守护进程,也就是通常说的D

2017-02-28 16:09:28 234

转载 Android系统权限和root权限

Android权限说明Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制。 1. linux文件系统上的权限-rwxr-x--x system system 4156 2012-06-30 16:12 test.apk.代表的是相应的 用户/用户组/其他人 对此文件的访问权限,与此文件运行起来具有的权限完全不相关。 比如

2017-02-08 15:11:14 3548

原创 Public STUN servers

Public STUN serversprovserver.televolution.netsip1.lakedestiny.cordiaip.comstun1.voiceeclipse.netstun01.sipphone.comstun.callwithus.comstun.counterpath.netstun.endigovoip.comstun.ekiga.net (alias

2013-12-10 15:36:04 1024

转载 RFC 3489 - STUN

Network Working Group J. RosenbergRequest for Comments: 3489 J. WeinbergerCategory: Standards Track

2013-12-04 11:27:15 899

转载 STUN协议简析

STUN简介STUN(Simple Traversal of UDP over NATs,NAT 的UDP简单穿越)是一种网络协议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT 路由器之后的主机之间建立UDP通信。该协议由RFC 3489定义。

2013-12-04 10:56:15 619

转载 Elicpse Git OSChina

http://www.gogogogo.me/development/eclipse-egit-git.html

2013-11-22 14:09:12 658

转载 Linux 套接字

http://www.yeolar.com/note/2012/05/18/linux-socket/#id9

2013-11-21 15:05:53 541

原创 Linux 线程同步与互斥

线程同步有三种常用的机制: 互斥量(mutex) ,读写锁(rwlock)和条件变量(cond).互斥量:有两种状态:lock和unlock, 它确保同一时间只有一个线程访问数据;读写锁:有三种状态: 读加锁, 写加锁, 不加锁. 只有一个线程可以占有写模式的读写锁, 但是可以有多个线程同时占有读模式的读写锁.条件变量:则给多个线程提供了一个会合的场所, 与互斥量一起使用时,

2013-11-20 14:16:46 953

转载 Linux时间函数

系统环境:ubuntu10.04简介本文旨在为了解Linux各种时间类型与时间函数提供技术文档。1、Linux下常用时间类型Linux下常用时间类型有四种:time_t、struct tm、struct timeval、struct timespec1.1 time_t时间类型time_t类型在time.h中定义:[cpp] view pla

2013-11-19 22:24:54 1043

转载 哈希表

http://www.cnblogs.com/jiewei915/archive/2010/08/09/1796042.html

2013-11-17 14:49:09 431

转载 Linux消息队列编程实例

/*  msgsnd()       The  msgsnd()  system call appends a copy of the message pointed to by msgp       to the message queue whose identifier is specified by msqid.       If sufficient space is

2013-09-24 00:33:25 753

转载 Linux旗语编程实例

/*旗语是一个受保护的变量。对两个或多个进程共享的资源,它可以提供限制访问的方法。 Linux的旗语就是操作系统原理中的信号量,有PV操作。可以获得和释放旗语; 释放旗语会自动唤醒下一个等待获取旗语的进程。 旗语有两种类型: 二进制旗语:代表单个资源 计数旗语:用来代表数量大于一的共享资源 GNU/Linux中的旗

2013-09-24 00:08:44 893

转载 Linux共享内存编程实例

/*共享内存允许两个或多个进程进程共享同一块内存(这块内存会映射到各个进程自己独立的地址空间) 从而使得这些进程可以相互通信。 在GNU/Linux中所有的进程都有唯一的虚拟地址空间,而共享内存应用编程接口API允许一个进程使 用公共内存区段。但是对内存的共享访问其复杂度也相应增加。共享内存的优点是简易性。 使用消息队列时,一个进程要向队列中写入消息,这要引起从用户地址空间向内核地

2013-09-24 00:02:07 764

转载 UART通讯流控制方法

谈这个问题之前我们先介绍另一个概念,DCE(Data Communication Equipment数据通讯设备)速度。它是指两个Modem之间即电话线之间的传输速度,我们所说的56K指的就是这个速度。而DTE(Data Terminal Equipment数据终端设备)速度是指从本地计算机到Modem的传输速度,如果电话线传输速率(DCE速度)为56000bps,Modem在接收到数据后按V.4

2013-05-23 14:51:39 1804

转载 trash

int func_cnt;void func_enter(void){    u32 reg_pc;    func_cnt = 0;    __asm__ (    "mov %0, lr\n"    :"=r"(reg_pc)    );    printf("\n---------- [ ENTER ] ----------> |PC = 0x%08X|\

2013-04-15 22:57:19 672

转载 rep stos dword ptr es:[edi]

0:000> uf .monitor!main [c:\users\myalias\documents\visual studio 2005\projects\mytest\mytest\main.c @ 32]: 32 0042f780 55 push ebp 32 0042f781 8bec mov ebp,esp

2013-01-16 09:49:49 1440

转载 GCC降级安装

原文:http://hi.baidu.com/jutdhtwazigpwxe/item/98b44fe510807dd4eb34c90fGCC降级安装在编译LINUX内核时,高版本的GCC常会出现很多问题,这个时候需要对GCC降级到3.x版本,然后编译系统内核。但直接编译GCC3.4会出现很多问题,建议选择直接下载DEB文件安装,安装过程如下:1.下载安装GCC3.4

2013-01-14 00:27:40 668

原创 exec系统调用的几个汇编代码

#include void main(){Char *name[2];Name[0] =“/bin/sh”;Name[1] = NULL;Execve(name[0], name, NULL);}使用 objdump -d a.out:push %ebp                            //保存原来的基址指针  shell调用main函数

2013-01-10 23:53:06 1244

原创 hexdump(breaf)

用途说明hexdump命令一般用来查看”二进制“文件的十六进制编码,但实际上它的用途不止如此,手册页上的说法是“ascii,decimal, hexadecimal, octaldump“,这也就是本文标题为什么要将”十六“给引起来的原因,而且它能查看任何文件,而不只限于二进制文件了。另外还有xxd和od也可以做类似的事情,但是我从未用过。在程序输出二进制格式的文件时,常用hexdump来检查

2013-01-10 22:59:16 630

转载 栈与堆的区别(转)

原文:栈与堆的区别1。     内存分配方面:堆:操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结 点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统,会在这块内存空间中的首地址处记录本次分配的大小,这样代码 中的delete语句才能正确的释放本内存空间。栈:在函数调用时第一个进栈的主函数中的

2012-11-09 13:38:16 428

转载 sizeof计算方法

Cpp代码 // Example of the sizeof keyword   size_t i = sizeof( int );    struct align_depends {       char c;       int i;   };   size_t size = sizeof(align_depends); // The value of size

2012-11-05 14:21:25 693

原创 IAR编译“地址无关代码”(PID)选项

固件升级时,会擦写当前程序的代码段。故,擦写前,需考虑将代码搬移到sram内运行。前提条件是这段代码是“地址无关代码”。阅读IAR手册,发现编译选项有对“地址无关代码”的支持:--pi_veneersSyntax --pi_veneers  Description Use this option to make the linker generate position-

2012-10-14 20:24:40 1551 1

原创 scatterlist && DMA

DMA是一种无须CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制。使用DMA可以是系统CPU从实际的IO数据传输过程中摆脱出来,从而大大提供系统的吞吐率。DMA方式的数据传输由DMA控制器(DMAC)控制,在传输期间,CPU可以并发地执行其他任务,当DMA结束后,DMAC通过中断通知CPU数据传输已经结束,然后由CPU执行相应的中断服务程序进行后续处理。在内存中用于与外设交

2012-09-20 22:42:18 10312

转载 STM32通用定时器

STM32通用定时器  STM32的定时器功能很强大,学习起来也很费劲儿.   其实手册讲的还是挺全面的,只是无奈TIMER的功能太复杂,所以显得手册很难懂,我就是通过这样看手册:while(!SUCCESS){看手册…}才搞明白的!所以接下来我以手册的顺序为主线,增加一些自己的理解,并通过11个例程对TIMER做个剖析。实验环境是STM103V100的实验板,MDK3.2 +Librar

2012-04-09 23:56:30 2438 1

原创 记录

[lbc@U-BOOT]# tftp e.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode

2012-02-11 12:20:34 676

转载 Mini2440启动代码的编写(裸奔)

>>>出处启动代码是系统上电或复位以后运行的第一段代码,它的作用是在用户程序运行之前对系统硬件及软件运行环境进行必要的初始化并在最后使程序跳转到用户程序,它直接面对ARM处理器内核及硬件控制器进行编程,所执行的操作与具体的目标系统紧密相关。因为启动代码与目标系统紧密相连,所以在讲述Mini2440开发板的启动代码之前让我们先来了解一下它的启动方式。S3C2440支持两种方式的启动:No

2012-01-27 14:59:23 1095

转载 GCC __asm__例子

__asm__是GCC关键字asm的宏定义: #define __asm__ asm __asm__或asm用来声明一个内联汇编表达式,所以任何一个内联汇编表达式都是以它开头的,是必不可少的。 2、Instruction List Instruction List是汇编指令序列。它可以是空的,比如:__asm__ __volatile__(""); 或__asm__

2012-01-22 11:41:20 832

翻译 GCC-Inline-Assembly-HOWTO(C语言嵌入汇编 gcc编译器)

怎样在C语言嵌入汇编代码.抱歉,不知什么缘故,所有例子里的代码都排成了一行,我在编辑模式里换行正常,很漂亮的代码。请知道如何解决的朋友告诉我下。源网页:    >>WIKI4. Basic Inline.The format of basic inline assembly is very much straight forward. Its basic form is

2012-01-20 22:49:26 3013

转载 关于ARM9协处理器CP15及MCR和MRC指令

在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。访问CP15寄存器的指令MCR   ARM寄存器到协处理器寄存器的数据传送MRC   协处理器寄存器到ARM寄存器的数据传送MCR指令和MRC指令只能在处理器模式为系统模式时执行,在用户模式下执行MCR指令和MRC指令将会触发未定义指令的异常中断。

2012-01-19 16:05:09 1481 1

IAR编译器手册

IAR编译器的C,C++开发手册。FOR ARM core!包含大量编译选项,工程项目可能用到。

2012-10-14

last_x264.tar.bz2

last_x264.tar.bz2

2012-07-22

u-boot-2010.03.tar.bz2

u-boot-2010.03.tar.bz2的纯代码,无改动.

2012-01-01

空空如也

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

TA关注的人

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