- 博客(294)
- 资源 (801)
- 收藏
- 关注
原创 ubuntu 12.04(64位)下搭建android5.0开发环境
ubuntu 12.04(64位)下搭建android5.0开发环境 本文介绍在WIN7操作系统通过在虚拟机VMWARE和Ubuntu下搭建了一个android5.0编译环境的操作过程,包括LINUX系统安装,JDK安装,samba服务和ssh服务安装。因为要下载补丁,需要网络支持,要能够上网。电脑要64位cpu,安装好win7操作系统。第一步:下载ubuntu地址:LINUX有3个版本,分别
2014-12-20 00:26:23
13295
4
原创 基于短消息的远程家电红外遥控系统
基于短消息的远程家电红外遥控系统通过远程广域网控制家电设备是信息家电的主要发展方向之一。由于价格低廉、覆盖面广、使用方便等原因,短消息平台已经成为远程家电控制的重要方法。 本文研究和开发了一种基于短消息的远程红外遥控系统。该系统以Java语言应用程序作为客户控制终端,以短消息作为控制信号的传输平台,以家电常用的红外遥控器作为控制设备,形成了比较完备的远程家电控制系统原型。 本文首先分析了广域网
2014-08-16 11:44:52
5543
原创 步进电机原理和驱动
步进电机原理和驱动 步进电机是一种将电脉冲转化为角位移的执行机构。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(称为“步距角”),它的旋转是以固定的角度一步一步运行的。可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到调速的目的。步进电机可以作为一种控制用的特种电机,利用
2014-06-25 01:38:09
11034
原创 android 流量的统计
1 android有一个TrafficStats类可以直接获取 总接受流量TrafficStats.getTotalRxBytes(), 总发送流量TrafficStats.getTotalTxBytes()); 不包含WIFI的手机GPRS接收量TrafficStats.getMobileRxBytes()); 不包含Wifi的手机GPRS发送量Traffic
2014-05-14 01:04:24
16407
3
原创 驱动程序的健壮性考虑
驱动程序的健壮性要考虑硬件出问题的时候不会导致内核的工作异常。比如驱动注册的时候要对硬件的识别,设备硬件是否存在或者硬件是否正常。如果硬件模块不正常,但是还要去注册,访问的时候会出现问题,如果处理不当会导致内核CRASH。比如一个I2c设备,硬件已经不正常,如果不加判断去继续注册,可能有些设备的资源出现空,上层通过API访问的时候可能出现空指针,导致系统重启。在注册驱动的开始要对硬件诊断,如果硬件
2014-01-09 02:16:21
3229
原创 cpu的工作模式对功耗影响
CPU的工作模式有省电模式,有高性能模式,两个模式1,省电模式是为了省电,牺牲了性能,2,高性能模式是为了提高性能,牺牲了功耗。根据工作场景的不同选用合适的工作模式。当然除了以上2个模式还有中间的模式,兼顾了功耗和性能,就是根据负载调整CPU的工作频率。这个过程是一个复杂的PID过程,采样CPU的负载,选择合适的工作点,调节CPU的工作频率和工作电压。
2014-01-08 03:10:47
4195
原创 watchdog 对jtag调试的影响
watchdog是一个硬件模块,超过某个时间不喂狗就自动复位系统,如果用trace32调试的时候,不通过禁止看门狗,如果调试停下来的时候,超时就会对系统复位。导致无法跟踪调试。
2014-01-08 03:01:38
3719
原创 影响低功耗模式功耗的因素
手持设备进入低功耗模式,降低工作电流,提供待机时间。如果某些设备打开了没有关闭,导致浪费能源。影响功耗的因素有时钟,GPIO,电源。 时钟引起的可以通过检查系统的时钟树,看看低功耗模式那些时钟打开了,顺藤摸瓜找出没有关闭的设备,通过suspend函数接口关闭模块,在resume接口将系统被唤醒的时候重新打开模块。 GPIO引起的可以打印出GPIO的配置,检查逻辑是否对。比如
2014-01-08 02:52:45
5183
原创 带唤醒功能GPIO上拉电阻供电对系统的影响
嵌入式设备为了省电,不工作的时候进入睡眠状态,CPU和外设断电,DDR不断电。有些外设连接到CPU的GPIO,执行GPIO有些连接了上拉电阻,如果这些GPIO有唤醒功能。上拉电阻的供电要连接到不断电的电源,否则CPU进入睡眠的过程中,由于上拉电阻的电平跳变导致CPU被唤醒,这样进入一个振荡过程,睡眠--》唤醒--》睡眠导致系统不能够睡眠。
2014-01-08 02:38:38
5114
原创 工作队列的使用
1,定义工作结构体变量bat_work static struct work_struct bat_work;2,编写一个实现某功能的工作处理函数static void wm97xx_bat_work(struct work_struct *work){ wm97xx_bat_update(&bat_ps);}3,初始化工作队列, INIT_WORK(&bat_
2014-01-08 02:27:27
7066
原创 嵌入式设备的知识产权保护
嵌入式设备的普及,厂家为了保护知识产权,不给第三方反向工程修改可执行代码。可以采用数据签名对工作镜像签名。执行镜像的时候对镜像的合法性检查,如果镜像被篡改过,通过散列运算后发现签名的非法就对设备做破坏性操作。比如对FLASH的特定区域做标记。每次启动都查这个区域的内容,如果标记为非法就不往下执行,进入警告状态,在显示设备显示警告提示。或者将部分功能关闭。比如将modem关闭,不能够打电话。
2014-01-08 01:35:14
3999
原创 支持NEON指令集的android编译设置
支持NEON指令集的选择从ARMv7开始ARM提供高级单指令多数据 (SIMD) 扩展亦称 NEON 技术,它是一种由 ARM 开发的 64/128 位混合 SIMD 体系结构,可以提升多媒体和信号处理应用程序的性能。 NEON 作为处理器的一部分来实现,但是它拥有自己的执行管道,以及有别于 ARM
2013-12-01 15:59:39
7857
原创 WIN7使用远程控制或者远程协助
使用远程控制或者远程协助具体用法:远程控制:开始——程序——附件——通讯——远程控制一台计算机然后输入对方的ip地址和用户名、密码就行了。可以输入cmd来...mstsc-----远程桌面连接
2013-12-01 13:44:29
3979
原创 LINUX mac地址的修改
LINUX mac地址的修改sudo /sbin/ifconfig eth0 downsudo /sbin/ifconfig eth0 hw ether 01:1c:12:10:9f:70sudo /sbin/ifconfig eth0 192.168.129.129sudo /sbin/ifconfig eth0 up
2013-12-01 13:29:45
3183
1
原创 配置android的命令行参数
配置android的命令行参数 代码位置为android\device\qcom\msm7630_surf\BoardConfig.mk BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 androidboot.hardware=qcom控制台为串口0,波特率为115200,
2013-12-01 13:22:56
6280
原创 android 交叉编译工具的设置
android 交叉编译工具的设置android代码有各种平台的工具链,同一平台也有不同的版本,在build/envsetup.sh 指定哪一个工具版本build/envsetup.sh: toolchaindir=arm/arm-eabi-4.6/bincase $ARCH
2013-12-01 12:23:07
7914
原创 用源码编的4.3,烧到机器后,启动后报Encryption Unsuccessful的解决
用源码编的4.3,烧到机器后,启动后报Encryption Unsuccessful解决办法可以先把加密去掉system/core/init/builtins.c C/C++ code - property_set("ro.crypto.state","encrypted"); + property_set("ro.crypto.state","unencrypted
2013-11-23 12:29:11
5653
原创 linux环境下创建和删除软链接
linux环境下创建和删除软链接ln -s /home/zhenwx/htccode-v1/ /home/zhenwx/htccode 建立/home/zhenwx/htccode-v1 的软连接 linux下的软链接类似于windows下的快捷方式 ln -s /home/zhenwx/htccode-v1/ /home/zhenwx/htccode
2013-11-17 15:31:42
70743
原创 利用数字签名技术保证数据安全
利用签名技术保证数据安全 为了保证文件或者数据的存储和传输的安全,防止被篡改,可以利用签名技术,文件创建的时候进行计算文件的hash值,对hash值加密添加到文件的后面,这个叫签名。打开文件的时候先对文件解包,分出文件部分和签名部分,分别对文件有效部分计算hash值,和对签名部分解密变成明文,再对这两个结果进行比较,如果一样,说明文件没有被修改,否则被修改了。就是不可信,保证数据安全。
2013-11-16 23:08:05
5670
1
原创 ARM多功能脚配置
多功能脚配置,包括配置多功能脚的功能,上拉,下拉,不带上下拉还是保持,驱动电流,arm的多功能脚可以配置为gpio功能,功能号为0,可以配置输入或者输出功能由输出使能位决定,为1就是输出,为0就是输入;也可以配置为特殊功能(比如串口,mmc),功能号为非0,使用前一定要配置,否则状态不确定。cpu的引脚是一个连接的端子,通过软件配置设置多路选择器选择到GPIO的输入,输出还是特殊功能的
2013-11-13 00:48:46
4657
原创 在sys目录创建接口
在sys目录创建/sys/zwx_demo/zwx_test_status 接口 int zwx_test_status = 0; //文件zwx_test_status的默认值static struct kobject *zwx_test_kobj;static ssize_t zwx_test_status_show(struct kobject *kobj, struct
2013-11-10 02:31:33
3134
原创 ubuntu 10.04(64位)下搭建android4.3开发环境
ubuntu 10.04(64位)下搭建android4.3开发环境本文介绍在WIN7操作系统通过在虚拟机VMWARE和Ubuntu下搭建了一个android4.3编译环境的操作过程,包括LINUX系统安装,JDK安装,samba服务和ssh服务安装。因为要下载补丁,需要网络支持,要能够上网。电脑要64位cpu,安装好win7操作系统。第一步:下载ubuntu地址:LINU
2013-11-10 02:05:29
4354
原创 多系统共用FLASH
现在的嵌入式系统动不动就是多系统。多系统之间又是独立,但也有关联。每个系统都有自己独立的处理器。一般是有一个系统是主系统。其他系统是他的子系统。主系统和各个子系统之间通过通信接口相连,互相传递控制和数据流。每个系统都有CPU和内存资源。早期的多系统每个子系统都采用独立的CPU,保存程序代码FLASH和程序运行的DDR或者SDRAM。但是这样会造成芯片过多,器件过多,出故障的概率也升高,成本也升
2013-09-14 18:51:12
1754
原创 WIN7 如何设置文件管理器显示隐藏文件
文件管理器的左上角--》组织--》文件夹和搜索选项--》查看---》隐藏文件和文件夹--》显示隐藏文件 文件夹和驱动器 文件管理器的左上角--》组织--》文件夹和搜索选项--》查看---》隐藏已知文件类型扩展名
2013-09-08 21:15:31
2957
原创 嵌入式调试手段
调试嵌入式系统,比如手机,平板电脑。遇到bug要定位代码的位置。一般有下面的方法。1,通过命令行参数将控制台重定性到某个串口,PC的串口连接到手机的UART串口,打开超级终端或者用secure_CRT工具,设置比特率,将手机的log输出到securecrt,从log大概判断到代码出错位置,再根据需要在代码添加log进行精确定位bug的位置。2,如果手机没有串口,可以通过USB的连接用ADB
2013-08-24 02:12:51
5779
原创 USB数据线内阻对充电电流的影响
USB数据线内阻对充电电流的影响 手机和平板的充电器接口为USB接口,利用适配器通过USB线的电源和地线形成回路给手机充电,如果质量不好的数据线,线的内阻大,充电电流在数据线的压降就变大。到达手机或者平板电脑的电源管理芯片的输入电压就变低。软件检测pmic的输入电压。如果电压低于4.7V就会将充电电流减低。防止充电电流过大将适配器烧坏。例如,sony LT26II的最大充电电流是130
2013-03-21 00:20:27
13005
原创 利用普通充电器给三星平板电脑充电的改造
利用普通充电器给三星平板电脑充电的改造仔细观察一下充电器的USB接口,你会发现一共有四个窄金属条,称为四个引脚。这四个引脚分别连接5V电源、D+数据线正信号、D-数据线负信号和GND地。标准USB引脚,电压分别是:vcc,D-,D+,GROUD,+5V,0,0,0三星用D-,D+线的电压来检测是否是原装充电器,以决定充电电流。VCC 对 GND 5.4VD+ 对 GND 1.
2013-03-04 13:20:15
12490
原创 普通充电器给苹果IPHONE/IPAD2充电的USB端的识别电阻的设置
普通充电器给苹果IPHONE/IPAD2充电的USB端的识别电阻的设置 充电器插头一端插在220V交流电的插座上,另一端用苹果专用的数据线接到iPhone/iPad上。220V交流电先通过整流电路和滤波电路变成300V高压直流电,再经过开关管变成高频高压脉冲,然后通过变压器转换为低压(比如5V)脉冲。5V的低压脉冲再经过一个整流、稳压电路,变成5V稳定的直流电。在从220V交流电变为5V
2013-03-03 16:04:35
71765
2
原创 __init和__exit宏的作用
__init和__exit宏的作用内核的部分函数带有__init和__exit宏,负责“初始化”和“清理收尾”该函数。如果该模块被编译进内核,而不是动态加载。宏 __init的使用会在初始化完成后丢弃该函数并收回所占内存, 宏__initdata同__init 类似,只不过对变量有效。简单来说是指示gcc把标记的数据或者函数放到指定sector。linux中把一些启动及初始化时候用
2013-02-02 07:50:25
6828
1
原创 android的ram console辅助调试机制
android的ram console是一个辅助调试的内核机制,它用一段物理内存虚拟一个console设备,这样printk的时候会把调试信息写一份到这块ram,最后通过/proc文件系统输出。Ram console 类似于普通的串口console, printk()的内部实现都是向已注册和打开的console输出信息的,console可以基于串口实现,当然也可以基于内存实现,区别是数据流
2013-02-01 23:59:15
6512
原创 自动输入限流器(AICL)技术
自动输入限流器(AICL)技术AICL(Auto Input Current Limited)自动输入电流限制的功能能够根据输入电源的能够提供的最大电流选择充电电流,能够将USB/AC/DC充电器相容。
2013-01-28 00:04:17
6062
原创 性能和功耗不可以兼得
性能和功耗不可以兼得性能和功耗不可以兼得,要性能好就要牺牲功耗。比如功率放大器,甲类的功放性能很好,但是效率低,换来的是性能。丙类是D类功放,处于开关状态,效率高,但是性能差,失真大。嵌入式系统的动态变频,如果要高性能,就设置到固定的最高频率(performance)那么就要消耗更多的能量。如果设置到最省电的模式(ondemand 的power collapse),那么系统的响应速
2013-01-25 00:41:27
2203
原创 低电压锁定(UVLO)
低电压锁定(UVLO)UVLO就是低电压锁定; 低压关断. 欠压关断模式是当供电电压低于IC的开启门限电压时的一种保护模式。欠压关断模式可保证IC在供电电压不足时不致于被损坏。一个低电压锁定(UVLO)电路可确保IC在电池电压未达到安全操作电压前不会激活,UVLO的功能会展示滞后现象,以确保在电源供应上的噪音不会不慎导致系统故障。uvlo的迟滞功能是防止电压在UVLO那一点的时候,
2013-01-21 00:52:11
42736
1
原创 手机的ESD防护
手机的ESD防护手机的功能越来越强大,而电路板却越来越小,集成度越来越高。手机有几个部分用于人机交互,这样就存在着人体静电放电的ESD问题。手机电路中需要进行ESD防护的部位有:SIM卡插座与CPU读卡电路、键盘电路、耳机、麦克风电路、电源接口、数据接口、USB接口、彩屏LCD驱动接口。 ESD可能会造成手机工作异常、死机,甚至损坏并引发其他的安全问题。所以在手机上市之前,我国都强行要求进行入
2013-01-20 07:45:40
5463
原创 Windows XP安装MTP驱动
Windows XP安装MTP驱动Android4.0使用MTP协议在SD卡和PC之间进行通信。 WIndows 7系统自带MTP驱动程序,可以直接使用。 Windows XP系统则需要安装驱动程序。 首先将系统的Windows Media Player版本升级至wmp11,最新的版本自带了MTP驱动。 如果升级完后还无法识别,则需要手动修改inf文件。 文
2013-01-20 00:30:43
51304
1
原创 稳压管的主要作用
稳压管的主要作用稳压管的主要作用是稳压作用,要通过串联限流电阻保证电流不超过极限,如果没有限流电阻,只能提供单次过压保护,而且容易造成雪崩击穿永久失效,造成短路。一般在cpu的电源可以并联一个比cpu工作电压高20%的稳压二极管,这样电源出问题导致电压过高的时候,稳压二极管反向导通,保护cpu不被烧毁。主要将电源故障排除和更换稳压二极管就正常继续工作。
2013-01-18 00:14:22
8917
原创 SN3193呼吸灯驱动调试
SN3193呼吸灯驱动调试 首先将SN3193的enable引脚拉高设置 04 05 06 寄存器的PWM为0xff ,亮度为最亮 ox1d 寄存器写07 ,3个LED点亮, 设置以后但是不亮, 后来对 07寄存器写0xff 就亮了,因为4, 5, 6寄存器写后没有生效,要对7寄存器写一个值进去,4 ,5, 6寄存器的值才生效,led就可以点亮了!!!!!!!!!!!!
2013-01-13 07:49:37
3889
原创 SN3193驱动
SN3193驱动/******************************************************************** SN3193 MTK 调试程序* 1 修改GPIO口,总共有三根,包含SDB,SDA,SCK* 2 Led_Demo1(void)函数,让灯全部亮 3 Led_Demo2()函数,让灯按照设置的时间呼
2013-01-12 00:23:50
3942
1
原创 Adobe Acrobat X Pro安装
Adobe Acrobat X Pro安装1,安装的时候需要输入key,用算号器算出来填进去,如果没有就用下面的序列号:1118-1830-9169-0893-9620-72602,如果在win7下运行算号器,需要右键点击选择以管理员身份运行,才能Patch成功。否则会因权限不足失败造成反弹。其实也可手工操作,即在c:\windows\system32\drivers\etc目
2013-01-11 00:41:30
6359
原创 GPIO模拟I2C程序实现
GPIO模拟I2C程序实现.I2C是由Philips公司发明的一种串行数据通信协议,仅使用两根信号线:SerialClock(简称SCL)和SerialData(简称SDA)。I2C是总线结构,1个Master,1个或多个Slave,各Slave设备以7位地址区分,地址后面再跟1位读写位,表示读(=1)或者写(=0),所以我们有时也可看到8位形式的设备地址,此时每个设备有读
2013-01-05 01:02:32
22135
1
jdk-1_5_0_19-linux-i586.bin for linux
2014-12-30
utraedit-32 16.20
2012-10-31
How to use CPU frequency scaling
2012-05-16
Easy CD-DA Extractor
2012-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人