- 博客(17)
- 资源 (26)
- 收藏
- 关注
转载 [转载]Android学习synchronized(一)
synchronized:Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。 一、当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。 二、然而,当一个线程访问o
2014-04-28 11:00:09 579
转载 C语言编译全过程介绍
C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻译为机器语言形式的目标文件的过程。链接是把目标文件、操作系统的启动代码和用到的库文件进行组织,形成最终生成可执行代码的过程。过程图解如下: 从图上可以看到,整个代码的编译过程分为编译和链接两个过程,编译对应图中的大括号括起的部分,其余则为链接过程。
2014-04-20 16:55:52 927
转载 C语言的类型提升
今天主要说一下C语言的类型提升的事情。下面是引用的一个例子——这个代码是从一个朋友的博文中复制过来的,但是当时这位朋友没有去说明类型提升的问题,而是阐述汇编的过程。/***************************************************************/int main(){int i;unsigned char *p;c
2014-04-19 11:55:04 741
转载 C语言数据类型转换详解
3. 类型转换如果有人问C语法规则中最复杂的是哪一部分,我一定会说是类型转换。从上面两节可以看出,有符号、无符号整数和浮点数加起来有那么多种类型,每两种类型之间都要定义一个转换规则,转换规则的数量自然很庞大,更何况由于各种体系结构对于整数和浮点数的实现很不相同,很多类型转换的情况都是C标准未做明确规定的阴暗角落。虽然我们写代码时不会故意去触碰这些阴暗角落,但有时候会不小心犯错,所以了解一些未明
2014-04-19 11:30:32 672
转载 Linux 下用户空间与内核空间数据交换的方式
一、引言一般地,在使用虚拟内存技术的多任务系统上,内核和应用有不同的地址空间,因此,在内核和应用之间以及在应用与应用之间进行数据交换需要专门的机制来实现,众所周知,进程间通信(IPC)机制就是为实现应用与应用之间的数据交换而专门实现的,大部分读者可能对进程间通信比较了解,但对应用与内核之间的数据交换机制可能了解甚少,本文将详细介绍 Linux 系统下内核与应用进行数据交换的各种方式,包括内核启
2014-04-17 07:08:28 868
转载 内存未对齐导致性能降低及其处理
内存未对齐是指cpu要读取N字节数据,但数据的起始地址不能被N所整除,导致效率降低,甚至异常的出现。例如当cpu读取一个int类型的变量,而变量地址是0x10005的时候就产生未对齐访问。自然对齐: N字节的数据类型需要放在起始地址为被N整除的地址这称为自然对齐。并不是所有体系结构的计算机带都要求自然对齐,有的可以指定对齐方式。但是为了达到好的可移植性编写代码的时候最
2014-04-16 22:01:06 1718
转载 Linux内核学习笔记九——内核内存管理方式
一 页 内核把物理页作为内存管理的基本单位;内存管理单元(MMU)把虚拟地址转换为物理地址,通常以页为单位进行处理。MMU以页大小为单位来管理系统中的也表。 32位系统:页大小4KB 64位系统:页大小8KB内核用相应的数据结构表示系统中的每个物理页: struct page {}
2014-04-16 00:36:55 587
转载 ARM体系结构下面内存和i/o映射区别
(1)关于IO与内存空间: 在X86处理器中存在着I/O空间的概念,I/O空间是相对于内存空间而言的,它通过特定的指令in、out来访问。端口号标识了外设的寄存器地址。Intel语法的in、out指令格式为: IN 累加器, {端口号│DX} OUT {端口号│DX},累加器 目前,大多数嵌入式微控制器如ARM、PowerPC等中并不提供I/O空间,而仅存在
2014-04-15 23:18:53 1052
转载 ARM平台的地址对齐问题
前言ARM流行已久,做嵌入式开发的不知道ARM不大可能。鉴于其所具备的较低功耗下的较高性能,也就成了大多数嵌入式设备的首选了。不过对于刚上手的人来说,有可能会遇到一些稀奇古怪的问题。毕竟大部分人都习惯了IA-32下的程序设计,虽然两者都是32位的处理器,但是体系架构完全不同,于是也导致了一些隐含的问题。这里想描述一下一个有点蛊惑的问题,即在ARM上访问非对齐地址内容,会出现所谓“不可预料”
2014-04-14 23:19:10 2843
转载 可重入函数
可重入函数也可以这样理解,重入即表示重复进入,首先它意味着这个函数可以被中断,其次意味着它除了使用自己栈上的变量以外不依赖于任何环境(包括static),这样的函数就是purecode(纯代码)可重入,可以允许有该函数的多个副本在运行,由于它们使用的是分离的栈,所以不会互相干扰。如果确实需要访问全局变量(包括static),一定要注意实施互斥手段。可重入函数在并行运行环境中非常重要,但是一般要为访
2014-04-14 23:10:22 535
转载 嵌入式C 面试题
一、预处理器(Preprocessor) 1. 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1).#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2).懂得预处理
2014-04-14 22:57:10 711 1
转载 ARM 内存对齐总结
一、啥是内存对齐?为啥要内存对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问都可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就是对齐。字节对齐的原因大致是如下两条: 1、平台原因(移植原因):不是所有的硬件平台都能访问任意地址上的任意数据的;某些硬件平台只能在某些地址处取某些特定类型的数据
2014-04-14 22:13:34 3580
转载 关于位域的字节内存储顺序、字节对齐、字节序以及符号
位域,Bit-field,又称位段。位域操作是在位操作之外的另一种操作比特位的方法。 相对于按位操作而言,操作位域可以“像”操作普通的变量一样。所以在需要进行比特位 操作的场合,硬件控制、协议处理, 位域被广泛应用。位域可以定义在class、struct、 union中,作为他们的数据成员。 使用位域的好处,主要是不需要进 行与或非以及相关掩码的处理。但是,福兮祸
2014-04-14 00:54:30 2370
转载 C语言位域精解
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位域来
2014-04-14 00:23:53 664
转载 SPI DMA 的使用
一是想总结一下SPI总线的特点与注意点,二是总结一下SPI DMA的使用一、SPI信号线说明 通常SPI通过4个引脚与外部器件相连:MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。SCK:串口时钟,作为主设备的输出,从设备的输入NSS:从设备选择。这是一
2014-04-09 14:53:54 3397
转载 DMA原理
下面是S3C2440A数据手册上的一段截图,展示了4个DMA通道和每个通道对应的DMA源: 对这些DMA通道和其对应DMA源的管理在文件linux/arch/arm/mach-s3c2440/dma.c中实现。在文件dma.c中定义了一个结构体数组static struct s3c24xx_dma_map __initdata s3c2440_dma_mapp
2014-04-09 14:12:46 861
转载 Linux芯片级移植与底层驱动(基于3.7.4内核)(GPIO&&pinctrl&&clk)
7. pinctrl驱动许多SoC内部都包含pin控制器,通过pin控制器的寄存器,我们可以配置一个或者一组引脚的功能和特性。在软件上,Linux内核的pinctrl驱动可以操作pin控制器为我们完成如下工作:§ 枚举并且命名pin控制器可控制的所有引脚;§ 提供引脚复用的能力;§ 提供配置引脚的能力,如驱动能力、上拉下拉、开漏(open drain)等。
2014-04-04 17:59:04 4359
Indoor Positioning using Sensor-fusion in Android Devices
2013-10-22
wifi_p2p_technical_specification_v1.1_content.pdf
2013-10-02
wp_Miracast_Consumer_201301_Simplified_Chinese.pdf
2013-02-21
apk安装包的中的dex优化
2013-02-17
-Hilman-Runtime-PM
2012-09-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人