自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (6)
  • 收藏
  • 关注

原创 create vagrant base box注意事项

1.使用virtualbox创建一个最小的系统,硬盘尽量设置成足够大的动态分配,用户名可以不是vagrant,但是如果想之后仍然是vagrant up/halt,vagrant用户还是需要创建的.2.vagrant用户权限一个很重要的一点是设置sudo的无密码sudo visudovagrant ALL=(ALL) NOPASSWD: ALL vagrant pachage -

2015-07-09 17:22:36 2123

原创 Warning: Authentication failure. Retrying...

制作vagrant base box之后启动总是出现这样的警告,记录下解决步骤:1.vagrant用户必须存在,所以/home/vagrant目录也必须要存在的2.导入vagrant公钥:cd /home/vagrantsudo -u vagrant wget https://raw.githubusercontent.com/mitchellh/vagrant/master/

2015-07-09 17:09:14 9047

原创 Symbol 'ANDROID_LOG_DEBUG' could not be resolved

调试JNI代码的时候,加入了调试函数#include#define TAG "DemoJNI" // 这个是自定义的LOG的标识#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG ,__VA_ARGS__) // 定义LOGD类型#define LOGI(...) __android_log_print(ANDRO

2014-03-03 15:41:48 10645 3

原创 NDK编译Android上运行的C可执行程序

大部分讲到NDK编译的都是针对编译动态静态库的,有些特殊的需求需要编译成可执行文件,所以在此记录一下本文基于win7首先NDK的目录需要加到系统路径中去,这样ndk-build才能正常调用,ndk-build本身是一个脚本,依赖于jni文件夹,所以你的程序必须放在jni目录下,然后必须得一个Android.mk的文件LOCAL_PATH := $(call my-d

2014-03-03 11:12:24 12237

原创 Eclipse自动生成jni头文件

jni开发接口头文件的定义很重要,如果频繁的修改上层的接口,一键生成/更新jni头文件就显得尤为快捷.此头文件是利用javah来生成的(javah来自于JDK),一.Eclipse->Run->External Tool->External Tool Configurations配置新的external tool javah

2014-03-03 10:07:56 6100 1

原创 IO学习笔记:阻塞 非阻塞 同步 异步

主要学习的这篇文章:《IO - 同步,异步,阻塞,非阻塞(亡羊补牢篇)》以下均是自己的理解同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别。Stevens在文章中一共比较了五种IO Model:     blocking IO     nonbloc

2012-12-31 14:04:29 1113

原创 嵌入式Linux下3G USB Modem的使用

一.ARM-LinuxARM-Linux-2.6.173G USB Modem:huaweiE220(WCDMA),huaweiEC156(EVDO)arm-linux至少需要支持usb host,usb storage,usbfs,usb serial二.Linux驱动option.clinux中option.c就是针对3G modem的驱动,稍作修改即可支持大部

2012-11-05 15:23:25 12328

原创 mtd-utils-1.4.5交叉编译

软件包:zlib-1.2.6.tar.gzlzo-2.04.tar.gz         e2fsprogs-1.41.14.tar.gz       mtd-utils-1.4.5.tar.bz2交叉编译器:arm-linux-gcc-4.4.3        1.zlib-1.2.6zlib-1.2.6版本是我静态编译唯一成功的一个版本CC=arm-linu

2012-05-22 14:06:41 2644 1

原创 BlueZ在arm linux下的使用

BlueZ版本 :2.25arm linux版本 :2.6.17.8bluez使用的重点就是配置问题,这里主要讲rfcomm的使用,就是蓝牙模拟串口的使用.## HCI daemon configuration file.## HCId optionsoptions { # Automatically initialize new devices

2012-05-07 12:55:03 2713 1

原创 Bluez交叉编译移植到arm linux

Version:Bluez:3.36Gcc :arm-linux-gcc-3.4.1所需软件包:libxml2-2.7.4dbus1.0.2glib-2.16.5bluez-utils-3.36依赖于dbus和glib,而dbus依赖于libxml2,所以编译顺序是libxml,dbus,glib,bluez-utils-3.36.流程写的简单,

2012-04-27 13:51:43 3732

原创 Browse the Linux Kernel Source with LXR

<br />LXR (stands for Linux Cross-Reference), is a great tool which indexes the source code of the Linux Kernel and allows you browse the source in your favorite browser (Firefox), with quick references for all functions/files referenced in that code

2011-04-12 16:17:00 1098

转载 硬盘分区表知识——详解硬盘MBR

<br /> 这片文章说得很详细,原文:http://hi.baidu.com/waybq/blog/item/3b8db64bef3dc7f583025c66.html<br />---------------------------------------------------------------------------<br />    硬盘是现在计算机上最常用的存储器之一。我们都知道,计算机之所以神奇,是因为它具有高速分析处理数据的能力。而这些数据都以文件的形式存储在硬盘里。不过,计算机可不像

2010-11-01 11:20:00 843

转载 linux 2.6.x spi驱动,spidev,使用从设备

<br />Links:  blog.csdn.net/lanmanck/archive/2009/08/18/4459699.aspx基于atmel的spi模型,大家可以先看下这篇文章的分析:http://blog.chinaunix.net/u3/96265/showart_1925533.html【转帖注明出处】http://blog.csdn.net/lanmanck但是有的细节没有提到,我补充一下,不对请指出:1、驱动中有总线和设备的概念。spi控制器就是总线(spi总线)

2010-08-05 20:05:00 2120

转载 DMA基本原理 结构与应用

<br />直接記憶體存取─基本原理、結構與應用(上)<br />直接記憶體存取(DMA)控制器是一種在系統內部轉移數據的獨特週邊設備,可將其視為一種能透過一組專用匯流排,將內部和外部記憶體與每個具有DMA能力之週邊設備相連的控制器。它之所以屬於週邊設備,是因為它是在處理器的編程控制下進行傳輸。值得注意的是,通常只有數據流量較大(kBps或更高)的週邊設備才需支援DMA能力,典型應用包括視訊、音訊和網路介面。<br />一般而言,DMA控制器將包含一條地址匯流排、一條數據匯流排和控制暫存器。

2010-08-05 11:15:00 2545

原创 C语言的内嵌汇编

在内嵌汇编中,可以将C语言表达式指定为汇编指令的操作数,而且不用去管如何将C语言表达式的值读入哪个寄存器,以及如何将计算结果写回C 变量,你只要告诉程序中C语言表达式与汇编指令操作数之间的对应关系即可, GCC会自动插入代码完成必要的操作。 <br /><br />1、简单的内嵌汇编 <br />例: <br />     __asm__ __volatile__("hlt"); “__asm__”表示后面的代码为内嵌汇编,“asm”是“__asm__”的别名。“__volatile__

2010-08-04 17:49:00 1109

原创 SPI总线知识点

<br />SPI串行外设接口总线,最早由Motorola提出,出现在其M68系列单片机中,由于其简单实用,又不牵涉到专利问题,因此许多厂家的设备都支持该接口,广泛应用于外设控制领域。<br />SPI接口是一种事实标准,并没有标准协议,大部分厂家都是参照Motorola的SPI接口定义来设计的。但正因为没有确切的版本协议,不同家产品的SPI接口在技术上存在一定的差别,容易引起歧义,有的甚至无法直接互连(需要软件进行必要的修改)。<br />虽然SPI接口的内容非常简单,但本文仍将就其中

2010-08-03 18:52:00 1096

原创 ISD1700系列的SPI操作,及其与MEGA16的简单应用

<br />ISD1700系列的SPI串行接口操作遵循一下协议:<br />1、一个SPI处理开始于/SS管脚的下降沿;                                         <br />2、在一个完整的SPI指令传输周期,/SS管脚必须保持低电平;<br />3、数据在SCLK的上升沿所存在芯片的MOSI管脚,在SCLK的下降沿从MISO管脚输出,低位先出;<br />4、SPI指令操作码包括命令字节、数据字节和地址字节,这取决于1700的命令类型;<br />5、当命令字及地址

2010-08-03 17:31:00 2446 1

原创 D型触发器

<br />D 触发器<br />由J-K 触发器组成的二进制计数器<br />8 位元移位寄存器D 触发器<br />锁存器是一种基本的记忆器件,它能够储存一位元的数据。由于它是一种时序性的电路,所以并不需要时钟输入,它会根据输入来改变输出。<br />触发器不同于锁存器,它是一种时钟控制的记忆器件,触发器具有一个控制输入讯号 (CLOCK)。CLOCK讯号使触发器只在特定时刻才按输入讯号改变输出状态。若触发器只在时钟CLOCK由L到H (H到L) 的转换时刻才接收输入,则称这种触

2010-08-03 10:50:00 8782 1

转载 USB On-The-Go引脚 说明

USB On-The-Go是什么<br />    USB接口的设备现在是随处可见了,打印机、相机、手机、MP3等几乎目前能想到的消费类电子设备都具有USB接口。USB传输速率快,接口简单、支持热插拔的特性,使其在诸多接口中脱颖而出,大有统一天下之势。但传统的USB协议(USB2.0)限制了在这庞大的设备群中必须有一个HOST作为主子,通常是PC。两个外设之间的数据交换必须通过这个主子中转才能完成,效率较低,不大方便。随着嵌入式设备的爆炸式增长,两个USB设备之间直接进行数据交换的需求越来越强烈

2010-07-24 12:55:00 6981 2

转载 OTG驱动分析(二)

上回介绍了OTG功能的 OTG部分驱动,本片分析OTG功能的从设备部分驱动。从设备的注册过程和OTG的一样,首先注册设备。流程是:1.定义platform_device结构。 <br />2.定义platform_device下的struct resource设备资源结构 <br />3.定义platform_device下的DEV设备下的平台私有数据(就是该设备私有的数据) <br />4.调用platform_device_register将platform_devi

2010-07-23 21:52:00 7138 5

转载 USB OTG驱动分析(一)

<br /><br />前一段时间弄了2个礼拜的OTG驱动调试,感觉精神疲惫啊。主要原因还是自己对OTG功能不了解造成的。现在终于完成但是对实质原理还有些模糊。所以自己重新总结一下。因为自己是菜鸟,所以用菜鸟的白话方式分析。高手滤过吧。所谓OTG功能就是具备该功能的设备即可当主设备(host)去轮询别人,也可以当从设备(device)去被别人轮~~(双性人?)。正所谓所有的产品和功能都是因为需求存在的,举个最简单的需求,原来MP3想传送一个歌曲都得通过电脑。现在只要两个MP3链接,其中一个MP3

2010-07-23 21:43:00 19361 6

转载 platform设备驱动全透析

<br />1.1 platform总线、设备与驱动<br />在Linux 2.6的设备驱动模型中,关心总线、设备和驱动这3个实体,总线将设备和驱动绑定。在系统每注册一个设备的时候,会寻找与之匹配的驱动;相反的,在系统每注册一个驱动的时候,会寻找与之匹配的设备,而匹配由总线完成。<br />一个现实的Linux设备和驱动通常都需要挂接在一种总线上,对于本身依附于PCI、USB、I2 C、SPI等的设备而言,这自然不是问题,但是在嵌入式系统里面,SoC系统中集成的独立的外设控制器、挂接在SoC内存空间的外设

2010-07-19 16:40:00 1828

转载 Linux Platform Device and Driver

<br />从Linux 2.6起引入了一套新的驱动管理和注册机制:Platform_device和Platform_driver。<br />Linux中大部分的设备驱动,都可以使用这套机制, 设备用Platform_device表示,驱动用Platform_driver进行注册。<br /> <br />Linux platform driver机制和传统的device driver 机制(通过driver_register函数进行注册)相比,一个十分明显的优势在于platform机制将设备本身的资源注

2010-07-19 16:07:00 929

转载 字符设备驱动编写步骤

<br />1.标准字符设备驱动<br />  a.注册设备号 如    <br />if(key_major) /*静态注册*/<br />        err = register_chrdev_region(devno, 1, DEVICE_NAME);<br />    else<br />    {    /*动态注册*/<br />        err = alloc_chrdev_region(&devno, 0, 1, DEVICE_NAME);<br />        key_maj

2010-07-19 13:58:00 1106

原创 dpkg损坏的修复方法

<br />今天虚拟机遇到dpkg以及其依赖的文件损坏的问题,以至于任何文件都无法修复,后来执行了一下两条命令就ok了sudo aptitude update   sudo aptitude -f install  

2010-07-14 11:37:00 9368

转载 BSP理解

BSP理解<br /> <br /> <br /> <br />BSP是Board Support Package的缩写,该术语通常用于嵌入式领域,主要指在开发嵌入式应用时系统开发商提供的各种驱动支持库。不过该术语即使在嵌入式领域人们对它的理解也有一些不同,有的认为它就是驱动程序,有的认为它是OS的驱动程序,也有认为它就是HAL(HardWare Abstract Layer )。实际上这几种理解都只是侧重于某个部分,再由于每个嵌入式系统提供商都根据自己的系统而提出对BSP的不同理解,因此在涉及到BSP的具

2010-07-07 19:13:00 1382

原创 SPI方式驱动SD卡的方法

<br />对SD卡的驱动主要有初始化、读、写、擦除等。<br />1、初始化步骤:<br />(1)      延时至少74clock<br />(2)      发送CMD0,需要返回0x01,进入Idle状态<br />(3)      循环发送CMD55+ACMD41,直到返回0x00,进入Ready状态。<br />如果是MMC,此步应发送CMD1。<br />2、读步骤:<br />(1)      发送CMD17(单块)或CMD18(多块)读命令,返回0x00<br />(2)      接收

2010-07-01 13:25:00 10992

转载 SPI模式下MMC卡的读写机制

<br /> 多媒体卡MMC的特点是闪存功耗低,密度高,体积小,可靠性高,可擦除,可重写,容量大;内部控制电路,可以使用在手机、数码相机、MP3、PDA等多种数字设备上,可反复记录30万次,现在市场上的主流容量有128MB-2GB。<br /><br />       SPI最早是由摩托罗拉公司提出的一种串行总线接口,支持MCU与外设的双工、同步串行通信。由于其简单的接口设计,只用4根线即可完成所有的通信工作,因此被大部分的MCU芯片所支持。利用被广泛支持的SPI总线来进行MMC卡的读写,可解决没有MMC控

2010-07-01 10:48:00 1820 1

原创 分辨率和像素的关系

<br /> <br />什么是像素:<br />   CCD/CMOS 上光电感应元件的数量,一个感光元件经过感光,光电信号转换, A/D 转换等步骤以后,在输出的照片上就形成一个点,我们如果把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小方点所组成,这些小方点就是构成影像的最小单位“像素”( Pixel )。像素分为 CCD 像素和有效像素 , 现在市场上的数码相机标示的大部分是CCD 的像素而不是有效像素。<br /> <br /> <br />什么是分辨率:<br />  所谓的“分辨率”

2010-06-25 10:45:00 6553

转载 LCD的CPU接口和RGB接口(CPU接口也有写成MPU接口的)

<br />目前一般彩色LCD的连接方式有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式等。<br />MCU模式:目前最常用的连接模式,一般是80系统(68系统已经不存在了)。数据位传输有8位,9位, <br />         16位和18位。连线分为:CS/,RS(寄存器选择),RD/,WR/,再就是数据线了。优点是:控<br />         制简单方便,无需时钟和同步信号。缺点是:要耗费GRAM,所以难以做到大屏(QVGA以上). <br />RGB模式:大屏采用

2010-06-22 14:31:00 1202

转载 为什么许多芯片的CS信号(片选信号)经常都是低电平有效?

<br />为什么许多芯片的CS信号(片选信号)经常都是低电平有效?  <br />1)、如果只有一片这样的芯片,若是高电平有效,则要求接到Vcc,但有的用户总认为悬空该端是同样有效的,因此在外部强干扰或太潮湿条件下,会使电路工作失常。但如果是低电平有效,只需简单的将该片选端直接接GND即可,使用者不得不将该端接到指定电平上,是不能偷懒的。 <br />2)、如果你是芯片生产商,你会期待你的产品有更大的使用范围,无论是专业、严谨的工程师,还是普通用户都能够得心应手地使用你的产品,基于1)的原因,你又何乐而不

2010-06-21 17:09:00 10977

转载 浅析usb转serial串口设备在linux内核中枚举创建及生成tty设备的全过程

浅析usb转serial串口设备在linux内核中枚举创建及生成tty设备的全过程<br />  浅析usb转serial串口设备在linux内核中枚举创建及生成tty设备的全过程<br /><br />1.usb_register和usb_register_driver用来注册一个interface接口驱动for_devices = 0;<br />2.usb_register_device_driver用来注册一个usb设备驱动,for_devices = 1;用来解析设备描述符,<br />  进而生

2010-06-18 14:25:00 3721

原创 回车和换行的区别

回车  ASCII码 0X0D /r 本义是光标重新回到本行开头,r的英文return,控制字符可以写成CR,即Carriage Return<br />换行 ASCII码 0X0A /n 本义是光标往下一行(不一定到下一行行首),n的英文newline,控制字符可以写成LF,即Line Feed<br />在不同的操作系统这几个字符表现不同,比如在WIN系统下,这两个字符就是表现的本义,在UNIX类系统,换行/n就表现为光标下一行并回到行首,在MAC上,/r就表现为回到本行开头并往下一行,至于ENTER键

2010-06-14 12:14:00 687 1

转载 实用USB术语详解

<br />如果您刚开始接触USB,那么了解一些USB术语将很有帮助。本文介绍了基本的USB术语。<br /><br />主机<br />USB是一种“主-从”式总线,包括一个主机和多个从机。从机称作外设,在USB术语中也称作功能部件。主机称作主设备。所有USB传输都由主机启动;外设总是响应传输,不会启动传输。最常用的主机是PC机,主机通过USB-A连接器连接到下行设备。嵌入式主机不包括PC机,而是用一个微控制器作为专用主机,或许只能与一类USB设备通信。<br /> <br />功能部件<br />功能部

2010-06-12 10:01:00 824

转载 实用USB术语详解

<br />如果您刚开始接触USB,那么了解一些USB术语将很有帮助。本文介绍了基本的USB术语。<br /><br />主机<br />USB是一种“主-从”式总线,包括一个主机和多个从机。从机称作外设,在USB术语中也称作功能部件。主机称作主设备。所有USB传输都由主机启动;外设总是响应传输,不会启动传输。最常用的主机是PC机,主机通过USB-A连接器连接到下行设备。嵌入式主机不包括PC机,而是用一个微控制器作为专用主机,或许只能与一类USB设备通信。<br /> <br />功能部件<br />功能部

2010-06-12 10:01:00 1170 1

转载 USB控制传输过程 详细解析

<br />首先,要明白两个观点。第一,USB总线上所有的事务(数据流传输)都是由USB Host主动发起,而USB设备永远永远都是只是被动地接收然后处理USB Host发来的各种各样的命令(要求)。第二,中断是USB Host和USB设备之间的信令员,USB Host所有的要求都是通过这个信令员即中断来通知USB设备。<br />. 我们可以将整个USB数据通信过程看成是由一个一个的数据包构成,而这些数据包又分很多类,比如:令牌包,数据包,握手包,帧起始包。令牌包又分In包,Out包,Setup包。有一点

2010-06-07 20:15:00 9078 1

转载 LINUX下USB1.1设备学习小记(3)_host与device

 LINUX下USB1.1设备学习小记(3)_host与device<br />   各位还记得”任何传输都是由host发起的”这句话么~<br />在usb设备插入pc中到拔出usb设备,都是由host进行询问的<br />一个usb鼠标的工作流程可以表达如下:<br />usb鼠标插入pc中:<br />主机询问设备:给我你的设备信息(控制传输)<br />主机根据usb鼠标的设备信息进行驱动配置,配置结束后<br />主机询问设备:给我你的数据信息(中断传输)<br />一定的时间间隔之后....

2010-06-07 19:41:00 1350

转载 LINUX下USB1.1设备学习小记(2)_协议

USB协议:先看USB接口可以看出,在USB使用了4根线,分别为电源线,地线,信号线和差分信号线差分信号线用于检测信号线的传输是否正确 下面我们只关注信号线然后是USB的串口传输在串口传输中,由于所有的信号共用一根数据线,所以不仅有先来后到的问题,而且在一个设备和另一个设备进行通信的时候,如果别的设备也进来插一脚,就会导致信号的出错,所以这个时候需要一个管理者,他说好,A设备和我通信,A设备才和管理者通信,通信完成后,管理者说现在到B设备和我通信,A设备你歇一歇,于是B设备才能和管理者通信在USB协议中,这

2010-06-07 19:38:00 785

原创 USB协议基本知识(上)

<br />USB 基本知识<br />USB的重要关键概念:<br />1、    端点,位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点、输出端点、配置端点、批量传输端点)<br />2、    帧,时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是一个USB的传输动作。<br />3、上行、下行:设备到主机为上行,主机到设备为下行<br /><br />一条

2010-06-07 14:58:00 1082

原创 USB枚举详细过程剖析

〈个人整理总结〉(1)集线器检测新设备主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察。(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻。当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到。)(2)主机知道了新设备连接后每个集线器用中断传输来报告在集线器上的事件。当主机知道了这个事件,它给集线器

2010-05-26 18:25:00 780

IAR全系列注册机/破解

IAR全系列注册机/破解,3个注册机包含iar所有系列的破解.

2016-02-26

BMP2RGB小软件

可以将BMP图片转换成RGB的软件,可以实现8bit 12bit 16bit 18bit

2010-06-28

LCD控制器原理详细讲解

LCD控制器原理的详细讲解 涉及到每个寄存器的使用

2010-02-05

周立功ARM培训精华(全套)

解压后有98M大 周立功ARM培训精华(全套)

2010-02-04

数字电路课件的电子书

数字电路的基础知识 希望通过我们的努力,能为您的工作与生活带来一些 帮助,是我们最大的心愿。不足之处,欢迎指正!

2009-02-11

空空如也

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

TA关注的人

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