- 博客(34)
- 资源 (17)
- 收藏
- 关注
原创 synchronized (syncObj)
1, private Object syncObj = new Object(); private boolean mScreenShotReady = false;2, synchronized (syncObj) { while (!mScreenShotReady) {
2016-07-15 16:55:53
924
转载 getMask
public int getMask(int length) { int res = 0; for (int i = 0 ; i res = (res } return res; }
2015-09-16 10:06:26
1017
转载 (转)cookie 和session 的区别:
1、cookie数据存放在客户的浏览器上,session数据放在服务器上。2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗 考虑到安全应当使用session。3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 考虑到减轻服务器性能方面,应当使用COOKIE。4、单个cookie保存的数据
2015-08-26 09:04:41
573
转载 include<mydebug.h>
#ifdef pr_debug #undef pr_debug #define pr_debug(fmt, ...) \ printk(KERN_DEBUG pr_fmt(fmt), ##__VA_ARGS__) #else #define pr_debug(fmt, ...) \ printk(KERN_DEBUG pr_fmt(fmt), #
2015-03-17 20:55:55
1056
转载 Compound device and Composite device
Compound device就是几个设备通过一个USB Hub形成的单一设备;Composite devcie是具有多个接口的设备,每个接口代表一个独立的设备。显然,如果是想实现同样功能的话,Composite设备的方法要简单很多。
2015-02-09 10:35:01
2276
转载 vim+solarized
$ cd solarized $ cd vim-colors-solarized/colors $ mkdir -p ~/.vim/colors $ cp solarized.vim ~/.vim/colors/ $ vi ~/.vimrc syntax enable set background=dark colorscheme solarize
2015-02-08 20:11:32
978
原创 Makefile, Kconfig和.config关联关系
Makefile, Kconfig和.config关联关系第一步,明确Kconfig是配置文件,现在比如要加入新的内核配置,必须在相关Kconfig文件中添加类似:ConfigNEW_FEATURE第二步,在Makefile添加obj-$(CONFIG_NEW_FEATURE) += new_feature.o第三步,执行Make menuconfig形如此类的内核配置界面,选择N
2015-01-17 17:08:42
1378
转载 什么是scatter / gather
scatter/gather方式是与block dma方式相对应的一种dma方式。 在dma传输数据的过程中,要求源物理地址和目标物理地址必须是连续的。但在有的计算机体系中,如IA,连续的存储器地址在物理上不一定是连续的,则dma传输要分成多次完成。 如果传输完一块物理连续的数据后发起一次中断,同时主机进行下一块物理连续的传输,则这种方式即为bloc
2014-10-23 15:44:45
3295
转载 patch命令使用
借鉴:总结一下:单个文件diff –uN from-file to-file >to-file.patchpatch –p0 patch –RE –p0 多个文件diff –uNr from-docu to-docu >to-docu.patchpatch –p1 patch –R –p1
2014-09-12 10:42:11
2065
原创 (DT系列五)Linux kernel 是怎么将 devicetree中的内容生成plateform_device
Linux kernel 是怎么将 devicetree中的内容生成plateform_device1,实现场景(以Versatile Express V2M为例说明其过程)以arch/arm/mach-vexpress/v2m.c 为例,在该文件中的v2m_dt_init函数的作用就是利用 dt(device tree)结构初始化 platform device。static
2014-08-30 09:55:26
15474
1
原创 (DT系列六)devicetree中数据和 struct device有什么关系
devicetree中数据和structdevice有什么关系总体来说,devicetree与structdevice的关系应该还是在其生成platformdevice的时候,一直传递的structdevice *parent参数。下面先把其源码中传递过程描述如下(仍以At91rm9200为例):1,DT_MACHINE_START(at91sam_dt,"Atmel
2014-08-30 09:53:39
6343
原创 (DT系列二)device tree的书写规范
devicetree的书写规范下面从节点,属性,reg,ranges,中断控制器等几个方面叙述devicetree的书写规范。1,dts的基本元素:节点.dts(或者其include的.dtsi)基本元素为结点和属性。举例说明节点的概念:/ { node1 { a-string-property = "A string"; a-strin
2014-08-30 09:53:13
9475
原创 (DT系列四)驱动加载中, 如何取得device tree中的属性
本文以At91rm9200平台为例,从源码实现的角度来分析驱动加载时,Device tree的属性是如何取得的。一:系统级初始化DT_MACHINE_START 主要是定义"struct machine_desc"的类型,放在 section(".arch.info.init"),是初始化数据,Kernel 起来之后将被丢弃。#define DT_MACHINE_START(_name
2014-08-30 09:48:15
16849
原创 (DT系列一)DTS结构及其编译方法
DTS结构及其编译方法一:主要问题1,需要了解dtsi与dts的关系2,dts的结构模型3,dts是如何被编译的,以及编译后会生成一个什么文件.二:参考文字1,DTS(device tree source).dts文件是一种ASCII文本格式的DeviceTree描述。基本上,在ARMLinux内,一个.dts文件对应一个ARM的machine,
2014-08-30 09:43:38
49605
原创 (DT系列三)系统启动时, dts 是怎么被加载的
一,主要问题:系统在启动的时候,是怎么加载 dts的;Lk,kernel中都需要调查。二:参考文字dts加载流程如下图所示:启动过程中,bootloader(默认是bootable/bootloader/lk)会根据机器硬件信息选择合适的devicetree装入内存,把地址等相关信息传给kernel。kernel中,会根据传入的信息创建设备。1,先从
2014-08-30 09:43:22
20647
3
原创 指针的灵活使用(分析Device tree案例)
int of_device_is_compatible(const struct device_node *device,const char *compat){const char* cp;int cplen, l;cp = of_get_property(device, "compatible", &cplen);if (cp == NULL)return
2014-08-28 17:36:18
2755
转载 platform_device,字符设备和块设备的区别
而platform_device并不是与字符设备、块设备并列的概念,而是Linux系统提供的一种管理设备的手段,所有SOC系统中集成的独立的外设控制器、挂接在SOC内存空间的外设等都属Platform设备。如ARM S3C6410处理器中,把内部集成的I2C、PTC、SPI、LCD、看门狗控制器都归纳为Platform设备,而这些设备本身就是字符设备。由此可见Platform中的设备是不分字符设备
2014-08-28 11:25:43
3521
转载 schedule_delayed_work()
http://blog.youkuaiyun.com/dedlous/article/details/21531925工作队列的作用就是把工作推后,交由一个内核线程去执行,更直接的说就是如果您写了一个函数,而您现在不想马上执行它,您想在将来某个时刻去执行它,那您用工作队列准没错.您大概会想到中断也是这样,提供一个中断服务函数,在发生中断的时候去执行,没错,和中断相比,工作队列最大的好处就是可以
2014-08-15 17:47:00
7332
转载 CDP, DCP, SDP的区别(USB)
充电器自动确定适配器类型,能够区分以下类型: DCP:500mA至1.5A CDP (主机或集线器):高速充电时达到900mA (啁啾期间为580mA);低速和快速为1.5A 低功率SDP (主机或集线器):100mA 大功率SDP (主机或集线器):500mA 所提供的电流支持电池充电或系统供电,或在它们之间进行分配。如果在长达10ms内未检测到总线流量,内置挂起定
2014-08-13 09:51:12
35610
转载 How to Install Oracle Java JDK 6/7/8 on Ubuntu 13.04 / 12.10 / 12.04
http://linuxg.net/how-to-install-oracle-java-jdk-678-on-ubuntu-13-04-12-10-12-04/
2014-07-31 13:59:11
1263
转载 uwsgi, nginx, flask
uwsgi 实际上也是一个 http 服务器,只不过它只面向 python 网络应用程序。虽然 uwsgi 也是 http 服务器,但是却不能直接使用它部署 python web 应用程序,否则会出错。uwsgi 所扮演的的角色是后端 http 服务器,nginx 扮演的角色是前端 http 服务器,hello.py 是客户端应用程序。 用户从网页浏览器中发出请求,nginx 服务器收到请求后
2014-05-19 15:39:43
600
转载 uwsgi安装和测试
wget http://projects.unbit.it/downloads/uwsgi-latest.tar.gztar zxvf uwsgi-latest.tar.gzcd make
2014-05-15 15:08:32
6445
转载 Ubuntu的wired Networks 变灰色,无法连接网络
NetworkManager settingNetworkManager 的設定檔放在 /etc/NetworkManager/nm-system-settings.conf。[main]plugins=ifupdown,keyfile[ifupdown]managed=false修改
2014-05-15 10:54:32
12119
原创 Sublime安装
$ sudo add-apt-repository ppa:webupd8team/sublime-text-3$ sudo apt-get update$ sudo apt-get install sublime-text-installerFailed to fetch bzip2:/var/lib/apt/lists/partial/extras.ubuntu
2014-04-25 22:59:44
667
转载 Protocol Buffer Basics: Python
https://developers.google.com/protocol-buffers/docs/pythontutorialprotoc -I=$SRC_DIR --python_out=$DST_DIR $SRC_DIR/addressbook.proto
2014-04-03 16:38:28
633
转载 Flask-babel简单实例
(原创:下面的教程以及具体的helloworld实现都是转载别人的成果。这里描述一下在我电脑环境下能跑通的一些简单修改:在shell terminal端执行pybabel --list-locales命令,查看本机支持的语言,发现中文支持是zh_Hans_CN,而非zh_CN。所以在以下文章中,把zh_CN做下修改即可。修改的地方有两处,一处是命令,一处是文件。)安装 Flask-Babe
2014-03-27 10:17:04
11968
2
转载 Flask学习笔记 安装Flask(Windows xp)
1. 安装python2.7web开发现在还是用python2.7系列合适,python3.X系列的框架还不够健壮。2. 安装easy_install工具https://pypi.python.org/pypi/setuptools下载ez_setup.py脚本,并运行,就会安装相应的文件。然后将{python安装目录/Scripts}目录添加到系统环境变量Pa
2014-03-25 15:24:38
3173
转载 Re: What is an endpoint?
@app.route('/user/', endpoint='user'):def view_user(name): pass@app.route('/user/new', endpoint='user'):def new_user(): passurl_for('user') will yield url for new_userurl_for('user
2014-03-23 16:05:28
548
转载 Linux CURL的安装
--获得安装包,从网上直接下载或者其他途径,这里直接wget# wget http://curl.haxx.se/download/curl-7.17.1.tar.gz--解压到当前目录# tar -zxf curl-7.17.1.tar.gz--进入解压后的目录内# cd curl-7.17.1--配置,指定安装的目录,这里是“/usr/local/curl”# ./
2014-03-23 15:24:17
924
转载 HTTP 状态码
HTTP 状态码200 ok - 成功返回状态,对应,GET,PUT,PATCH,DELETE. 201 created - 成功创建。 304 not modified - HTTP缓存有效。 400 bad request - 请求格式错误。 401 unauthorized - 未授权。 403 forbidden - 鉴权成功,但是该用户没有权限。 40
2014-03-21 11:10:33
552
转载 Python中if-else语句的多种写法
a, b, c = 1, 2, 31.常规if a>b: c = aelse: c = b2.表达式c = a if a>b else b3.二维列表c = [b,a][a>b]4.传说是源自某个黑客c = (a>b and [a] or [b])[0]
2014-03-20 11:07:17
11689
基于jsp工具的图书管理系统程序
2008-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人