- 博客(342)
- 资源 (23)
- 收藏
- 关注
转载 开源EDA资源
<br /><br />1.来自kakuyou<br />http://www.icarus.com/eda/verilog/<br />开源的verilog 编译器,包含模拟器和基本逻辑综合模块。<br /><br />http://www.geocities.com/SiliconValley/Campus/3216/GTKWave/gtkwave-win32.html<br />windows版的gtk-wave,一个图形波形察看工具<br /><br />http://embedded.eecs.b
2011-05-26 10:43:00
6799
转载 nucleus简单介绍
Nucleus PLUS嵌入式操作系统的简单介绍Nucleus PLUS嵌入式操作系统是目前最受欢迎的操作系统Nucleus PLUS 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。从实现角度来看,Nucleus PLUS 是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。在典型的目标环境中,Nucleus PLUS 核心代码区一
2011-03-28 11:02:00
5385
转载 简单介绍ecos, uc/OS,uClinux,RTlinux,Linux
到目前为止接触过QNX、RTLinux、uC/OS-II、Nucleus Plus、VRTX、VxWorks、eCos,总结下来有以下特点:ecos: 多任务抢占机制, 可配置(特色),可配置文件系统uc/OS:代码很少,多任务抢占机制,需自己扩展文件系统uClinux:非抢占式,没有MMU管理存储器,有文件系统等许多功能RTlinux:通过在L inux内核与硬件中断之间增加一个精巧的可抢先的实时内核,把标准的Linux内核作为实时内核的一个进程与用户进程一起调度,标准的L inux内核的优先级最低,可以
2011-03-28 10:56:00
8816
转载 UC/OS和uClinux的比较 + μC/OS-II与eCos的比较
UC/OS和uClinux的比较引言随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。后PC时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动设备、网络设备和工控仿真等领域。嵌入式系统是以嵌入式计算机为核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、体积、成本、功耗等综合性能有严格要求的计算机系统。随着嵌入式系统的广泛应用,传统的前/后台程序开发机制已
2011-03-28 10:55:00
9504
1
原创 Android中通过按键旋转屏幕
<br /><br />Q5有个功能,通过长按menu按键,可以旋转屏幕方向(0°或者90°),这个功能有时蛮有用的,下面来看看是如何实现的:<br />1 修改按键处理程序<br />frameworks/policies/base/phone/com/android/internal/policy/impl/PhoneWindowManager.java<br />函数<br /> public boolean interceptKeyTi(WindowState win, int code, i
2011-02-24 15:00:00
6971
1
转载 Android中通过按键旋转屏幕
<br /><br />Android上的home键是系统直接处理的,功能如下:<br />1:跳转到Home界面,如果Home进程死掉了,则重新启动Home进程<br />2:长按5s,弹出选择应用的窗口,可以切换应用.<br />由于需要,我需要修改这里的部分逻辑,修改后的逻辑不能放出,这里放出我找到的大概地点<br />view plaincopy to clipboardprint?<br />public boolean interceptKeyTi(WindowState win, int co
2011-02-24 14:58:00
5993
2
转载 Android权限获取机制与常见权限不足问题分析
Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,很多像我这样的新手,尤其是习惯了windows低安全限制的用户,很容易在这方面弄混淆,下面是我总结的Android系统权限相关的内容,作为这段时间对android权限学习的总结,也希望能对大家有所帮助,不正确之处请指出。首先分清两个概念:要区分apk运行时的拥有的权限与在文件系统上被访问(读写执行)的权限两个概念。apk程序是运行在虚拟机上的,对应的是Android独特的权限机制,只有体现到文件系统
2011-01-10 17:55:00
11857
2
转载 porting iperf to Android platform
下面的文档描述如何移植 iperf 到 android 平台中1. download iperf source codelatest iperf version from the below link:http://sourceforge.net/projects/iperf/and then unzip it.tar zxvf iperf_2.0.4.orig.tar.gz2. copy iperf-2.0.4 copy iperf-2.0.4 folder to ex
2011-01-10 17:36:00
5872
原创 断点续传的原理
<br />ftp断点续传的原理 <br />客户端的实现步骤如下: <br /><br />一、下载: <br />1、向服务器发送“REST + 本地文件长度”命令,告诉服务器,客户端要断点下载了。这时服务器还不知道客户端要下载哪个文件; <br />2、向服务器发送“RETR + 文件名”命令,通知服务器要下载的文件名,这时服务器开始定位文件指针读文件并发送数据。 <br />3、客户端定位本地文件指针(文件末尾); <br />4、两端的准备工作都做完了以后,客户端创建socket,以被动或非被动方
2010-12-07 13:58:00
5276
转载 V4L2编程框架(*)
<br />V4L2编程框架(*)2009年2月17日zooyoo发表评论阅读评论<br />V4L2较V4L有较大的改动,并已成为2.6的标准接口,函盖video/dvb/FM…,多数驱动都在向V4l2迁移。更好地了解V4L2先从应 用入手,然后再深入到内核中结合物理设备/接口的规范实现相应的驱动。本文先就V4L2在视频捕捉或camera方面的应用框架。<br />V4L2采用流水线的方式,操作更简单直观,基本遵循打开视频设备、设置格式、处理数据、关闭设备,更多的具体操作通过ioctl函数来实现。1.打开
2010-11-22 11:40:00
4068
1
原创 Android quikboot
<br />最近,随着数字家电的高功能化,将易于开发的Linux用作OS的情况越来越多。因此,启动时间成为问题。因为OS比较小的RTOS(real- time operating system)尺寸大,所以Linux配备机型启动耗费时间。在这种情况下,从事嵌入软件开发的日本Ubiquitous,于2009年11月10日发布了可非常快速地启动配备美国谷歌基于Linux的“Android”平台终端的“Ubiquitous Quick-Boot”(以下称QuickBoot)技术。该公司用配备飞思卡尔半导体ARM系
2010-11-19 19:11:00
4541
1
转载 Linux设备模型之input子系统详解
<br />Linux设备模型之input子系统详解一:前言最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层,
2010-11-18 11:14:00
3727
转载 Linux设备模型之input子系统详解
Linux设备模型之input子系统详解一:前言最近在研究android的sensor driver,主要是E-compass,其中用到了Linux input子系统.在网上也看了很多这方面的资料,感觉还是这篇分析的比较细致透彻,因此转载一下以便自己学习,同时和大家分享!(这篇博客主要是以键盘驱动为例的,不过讲解的是Linux Input Subsystem,可以仔细的研究一下!)键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统是所有I/O设备驱动的中间层,为上层提供
2010-11-18 11:13:00
3408
原创 基于开源软件构建先进的嵌入式电源管理
<br /><br />电源管理(或者说能耗管理)是芯片设计、制造工艺、系统设计和软件都在为之努力的研究课题,大家力求在各个环节尽可能的减少静态和动态的电源消耗。传统的控制电压的调节方式和管理待机模式依然是多数电子设备正在采用的,还将继续延续下去,但是随着包括智能手机、导航和无线传感网络装置,这些对电量消耗极大且永远在线的设备的市场规模的迅速增加,电源管理已经成为整个电子设计正在面临的重要课题。市场研究机构isuppli首席分析师Jordan Selburn说:“功耗已经成为电子产品设计的首要考虑。”<br
2010-10-28 16:54:00
5740
原创 Cpufreq应用程序在arm开发板端的交叉编译及实现
<br /><br />Cpufreq应用程序在arm开发板端的交叉编译及实现<br />Written by leeming<br />leeming.cublog.cn 转载请说明出处<br />1.内核选项:<br />Linux 动态变频管理 cpufreq 提供了操作系统级别的变频功能,同时需要用户层来制定和执行策略。cpufreq后台进程cpufreqd 就是用来监测系统的运行状况,并根据不同的状况设定 CPU 的工作频率的。 <br /> <br />要想在用户层使用后台进程cpufreqd,
2010-10-28 16:51:00
5362
原创 基于Linux的动态电源管理:使嵌入式设备更节能
<br />基于Linux的动态电源管理:使嵌入式设备更节能<br />为了在产品众多、竞争激烈的市场上使产品与众不同,手持设备的制造商们往往把电池寿命和电源管理作为手机、PDA、多媒体播放器、游戏机、其它便携式消费类设备等产品的关键卖点来考虑。用户是从电池寿命这方面来看待电源管理的成效,其实它是多种因素共同作用的结果,这些因素包括 CPU 功能、系统软件、中间件,以及使用户可以在更长的充电或更换电池的间隔时间内享用各自设备的策略。<br />电源管理范围<br /> 任何拥有笔记本电脑的人都会感觉到,他
2010-10-28 16:50:00
6184
原创 Linux的cpufreq(动态变频)技术
<br /><br />linux低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:cpu级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。<br /> <br />cpu级:主要实现比较容易的在系统处于目标在于频繁发生、更高粒度的电源状态改变,主要的实现方式为idle,包括今天的主要想讲的动态主频。<br />设备驱动级:主要实现对单个设备驱动的管理(suspend,resume等),通过系统监测将闲
2010-10-28 16:50:00
12762
1
原创 android下的开源库
<br /><br />本人对于Android中使用的C库比较感兴趣,毕竟是整个android基本库,所以一一在这里记录一下每一个的作用。<br />bluetooth : 蓝牙协议栈,官网<http://www.bluez.org/><br />dhcpcd : dpkg 配置包,官网<http://roy.marples.name/projects/dhcpcd><br />embunit : 一个嵌入式的单元测试工具。<br />freetype : linux上广为使用的字体解析库。<br />ip
2010-10-08 11:44:00
6051
1
原创 中国佛学66句震撼世界的禅语
<br /><br />中国佛学66句震撼世界的禅语<br /><br /> 1.人之所以痛苦,在于追求错误的东西。 <br /> 2.如果你不给自己烦恼,别人也永远不可能给你烦恼。因为你自己的内心,你放不下。 <br /> 3.你永远要感谢给你逆境的众生。 <br /> 4.你永远要宽恕众生,不论他有多坏,甚至他伤害过你,你一定要放下,才能得到真正的快乐。 <br /> 5.当你快乐时,你要想这快乐不是永恒的。当你痛苦时,你要想这痛苦也不是永恒的。 <br /> 6.今日的执著,会造成明日的后
2010-09-21 14:55:00
3136
原创 android 可执行程序终于可以在nxp8473--cortex-a9平台运行
现在android 的可执行程序终于可以在nxp8473--cortex-a9平台运行了,其中直接的原因是:由于宏定义errno造成的-------非法访问内存地址bionic/libc/bionic/libc_init_common.cvoid __libc_init_common(uintptr_t *elfdata){int argc = *elfdata;char** argv = (char**)(elfdata + 1);char** envp = argv +
2010-09-17 10:20:00
3415
原创 打android的patch
<br />How to download the android kernel由于目前从android网站git后的源代码中不包括kernel,所以需要单独下载android kernel,生成使用的补丁,下面是我使用的方法,供大家参考;Here is a way of extracting raw Android patches at a certain point intime, though this may be datedken@ken:/data/android/a
2010-09-17 10:18:00
6278
转载 Simple Guide for Porting Android Kernel (portingNote)
<br /><br />原作:劉旭暉 轉載請註明出處 http://blog.youkuaiyun.com/colorant/<br />增訂:Rider1. Android內核Porting相關背景知識1.1 運行平台<br />Google 的Android平台到20020227為止,應用部分還是以二進制的 Binary形式發佈的,其编譯的目標平台 ARM926EJ-S的CPU是屬於ARMV5T的版本,所以ARMV4架購的CPU平台無法使用其二進制代碼。關於這點,可以参考下面這篇文章,Benno在此做了詳細的理論分
2010-09-09 23:07:00
2564
转载 关于编译android时出现Error 41的解决方法
<br />我遇到这个错误,在国外论坛看到了解决办法并解决成功,希望能帮助到别人。<br /><br />错误:<br />build/core/product_config.mk:229: WARNING: adding test OTA key <br />host Java: clearsilver (out/host/common/obj/JAVA_LIBRARIES/ <br />clearsilver_intermediates/classes) <br />Unrecognized optio
2010-09-01 11:13:00
1826
原创 理解dup、dup和fcntl
<br />/dup函数的作用:复制一个现有的句柄,产生一个与“源句柄特性”完全一样的新句柄(也即生成一个新的句柄号,并关联到同一个设备)<br />//dup2函数的作用:复制一个现有的句柄到另一个句柄上,目标句柄的特性与“源句柄特性”完全一样(也即首先关闭目标句柄,与设备断连,接着从源句柄完全拷贝复制到目标句柄)//dup和dup2都是系统服务,window平台对应DuplicateHandle函数/* DUP.C: This program uses the variable old to save
2010-08-11 11:03:00
1741
原创 android系统中的log定向
<br /><br />为了调试,必须要将log怎么打印的搞清楚,于是有了以下的分析。<br />我们通常在程序中插入LOGD(..),LOGE(..)之类的语句,但什么情况下可以查看这些打印消息呢?<br />首先,来到定义处:system/core/include/cutils/log.h,在开头就可以看到<br />#ifndef LOG_TAG<br />#define LOG_TAG NULL<br />#endif<br />所以程序中#include "log.h"之前要定义LOG_TAG,不
2010-08-11 11:00:00
1478
1
原创 overload和overide的区别
<br />overload和override的区别override(重写) <br />1、方法名、参数、返回值相同。<br />2、子类方法不能缩小父类方法的访问权限。<br />3、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。<br />4、存在于父类和子类之间。<br />5、方法被定义为final不能被重写。<br />overload(重载)<br />1、参数类型、个数、顺序至少有一个不相同。 <br />2、不能重载只有返回值不同的方法名。<br />3、存在于父类和
2010-08-09 15:28:00
1861
1
原创 linux内核启动地址的确定
<br />内核编译链接过程是依靠vmlinux.lds文件,以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds,vmlinux-armv.lds的生成过程在kernel/arch/arm/Makefile中<br /><br />ifeq ($(CONFIG_CPU_32),y)<br />PROCESSOR = armv<br />TEXTADDR = 0xC0008000<br />LDSCRIPT = arch/arm/vmlin
2010-07-24 17:30:00
4585
原创 linux logo 的启动方式
<br /> <br />1.方案分析<br />ARM-Linux启动时会先在LCD左上角显示一个ARMLINUX的小企鹅图案,也就是我们所说的bootlogo。<br />首先分析一下Logo的显示代码:<br />不难发现Logo显示是在加载显示驱动fb后由kernel/drivers/video/fbcon.c中的fbcon_show_logo函数来完成的。<br />fbcon_show_logo函数中有很多兼容性代码,不是都会用到的!我们用的是SHARP(夏普)的TFT真彩屏.<br />再仔细
2010-07-08 16:37:00
4389
原创 Compiling Android for MIPS
<br /><br /> <br />You may have heard about Google TV that is coming soon in our homes, through Android set-top boxes. It's expected to come out this fall, but the source code of the MIPS port is already available to the public. It is important to note tha
2010-06-23 15:12:00
4485
原创 android----制作splash镜像
<br />1、使用ImageMagick自带的convert命令,进行raw格式转换(convert -depth 8 splash.png rgb:splash.raw)<br /> 注:imgageMagick安装包,执行sudo apt-get install imagemagick<br />2、编译一下android自带的rgb2565工具,其 路径在$ANDROID_HOME/build/tools/rgb2565上(gcc -O2 -Wall -Wno-unused-parameter
2010-06-09 19:54:00
2862
原创 cpu介绍
<br /><br /> 处理器<br /> 说明<br /> alpha 处理器<br /> Alpha 处理器最早由美国DEC 公司设计制造,在Compaq (康柏)公司收购DEC 之后,Alpha 处理器继续得到发展,并且应用于许多高档的Compaq 服务器上,HP (惠普)收购的Compaq ,Alpha 便为HP(惠普)所有,不过HP (惠普)已经放弃发展alpha 处理器。<br /> <br /> arm 处理器<br /> Arm
2010-06-04 11:02:00
1452
原创 brk和sbrk及内存分配函数相关
<br /><br />brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的:<br /> 每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这 一块分配的。如果这块空间不够,malloc函数族(realloc,calloc等)就调用sbrk函数将数据段的下界移动,sbrk函数在内核的管理 下将虚拟地址空间映射到内存,供malloc函数使用。(参见linux内核情景分析)<
2010-06-03 10:29:00
1722
转载 I帧、P帧和B帧的特点
<br />I帧:帧内编码帧<br />I帧特点:<br />1.它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码及传输;<br />2.解码时仅用I帧的数据就可重构完整图像;<br />3.I帧描述了图像背景和运动主体的详情;<br />4.I帧不需要参考其他画面而生成;<br />5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);<br />6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;<br />7.I帧不需要考虑运动矢量;<br />8.I帧所占数据的
2010-06-02 17:59:00
1186
转载 MMU的初始化与开启实验
<br /><br />内存管理单元MMU负责虚拟地址到物理地址的映射,并提供硬件机制的内存访问权限检查。<br /> 4种映射长度:段(1MB)、大页(64KB)、小页(4KB)、极小页(1KB)。<br /> 对每个段都可以设置访问权限。<br /> 大页、小页的每个子页(sub-page,即被映射页的1/4)都可以单独设置访问权限。<br /> 没有启动MMU时,CPU核、cache、MMU、外设等所有部件使用的都是物理地址。<br /> 理论知识我就不多写了,
2010-06-02 17:17:00
4000
原创 ARM MMU工作原理剖析
<br /><br />一、MMU的产生<br /> 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成许多称为覆盖块(overlay)的片段。覆盖块0首先运行,结束时他将调用另一个覆盖块
2010-06-02 17:16:00
6081
5
原创 Firmware 加载原理分析
<br />前言 <br /> 前段时间移植wifi驱动到android的内核上,发现firmware的加载始终出错,问了几个人,都不是很了解,没办法,只好自己研究一下。原理分析<br /> 从本质上来说,firmware需要做的事情包括两件:<br />1, 通知用户态程序,我需要下载firmware了;<br />2, 用户态程序把用户态的数据copy到内核层;<br />3, 内核把内核态的数据写到设备上,比如wifi模块里;<br />其中第三步应该不
2010-06-01 21:55:00
10540
2
原创 Android 移植之 iperf
1.移植准备<br /> 1,源代码地址:<br /> http://sourceforge.net/projects/iperf/files/iperf/2.0.4%20source/iperf-2.0.4.tar.gz/download, 下载iperf-2.0.4.tar.gz,并放到Adroid_root/external;<br />2,解压到Adroid_root/external/ iperf-2.0.4.tar.gz;<br /> tar –zxvf ip
2010-06-01 21:53:00
4914
原创 Android移植之dropbear
1.需求 Android虽然提供了ADB,但还是没有ssh,scp等用起来顺手,所以想移植一个ssh的Server到开发板上去,因为android默认的代码有external/dropbear,所以决定移植dropbear而不是openssh;2. 思路要实现ssh,scp必须要满足以下的条件:A) 必须要有网路,这个可以由wifi来保证;B) 必须要有一个Server来打开22号端口,这个是由dropbear来完成的;C) 必须要有一
2010-06-01 21:52:00
7205
3
原创 android不支持tab补全和ctrl+c的解决办法
<br />要支持一些常用的命令,<br />需要重新编译一个busybox,<br />make menuconfig<br />先选择你想要的那些命令,然后如果要支持tab补全的话,<br />选择,<br />Busybox Settings--><br />Busybox Library Tuning--><br />Tab completion <br />选中就可以了<br />然后进入android串口,执行busybox sh<br />就可以了。<br />默认没有cp函数,<br />先
2010-06-01 21:50:00
4518
原创 bluetooth的profile
Bluetooth是一种短距离无线通讯传输接口,允许的传输距离长度设计为10米到100米,当含有Bluetooth的手机 或计算机等 在多个含Bluetooth装置的环境中,设备尚未加入蓝牙微网时,它会先进入待机状态。在此状态下,它会随时监听传呼讯息,直到收到的信号与自己本身的识别码有相关时,自己才会激活Bluetooth服务 称为Master 时,开始寻找外围所有Bluetooth装置 称为Slave ,并且呼叫连结程序。接下来则进行识别码的确认及信号时间的同步,以便决定往后跳频之Sequence,而将这
2010-06-01 10:26:00
3066
WebKit 研究报告(侯炯)
2012-05-10
ALSA 驱动架构说明
2012-04-06
V4L2 编程框架
2012-04-06
Android 高效编程注意事项
2012-04-06
android系统vold透析
2012-04-06
android 核心学习资料
2010-09-09
MPEG-2 压缩编码技术原理应用
2010-05-12
Pthreads Programming
2010-03-24
The Linux Kernel API
2010-03-24
The Linux TCP/IP Stack: Networking for Embedded Systems
2010-03-24
usb 鼠标驱动注解及测试
2010-03-24
用 FPGA 如何自己设计 CPU 和制作计算机
2010-03-24
avs 标准文档中的源码
2009-10-13
PMP项目管理原版书籍
2009-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人