嵌入式系统
文章平均质量分 78
vrix
产品经理
展开
-
2410下rtc驱动分析
首先RTC设备是一种片上设备, 用platform_device来表示 该设备(即platform_device的RTC对象)在设备的初始化过程中就已经注册进了系统(可以参考2410下soc上的设备的驱动流程(RTC, watchdog等)), 因此我们在RTC驱动的初始化里把RTC驱动注册到系统后,系统会probe到这个RTC设备,最后调用我们RTC驱动的probe函数.下面就重点分析241转载 2009-12-02 09:25:00 · 1037 阅读 · 0 评论 -
Android的源代码结构
Google提供的<span class="t_tag" onclick="function onclick(){tagshow(event)}">Android包含了原始Android的目标机代码,主机编译工具、仿真环境,代码包经过解压缩后,第一级别的目录和<span class="t_tag" onclick="function onclick(){tagshow(even转载 2009-06-22 17:11:00 · 598 阅读 · 0 评论 -
android 的图形引擎 skia
简介1Google Android 使用 skia 作为其核心图形引擎。skia 也是 Google Chrome 的图形引擎。Skia 图形渲染引擎最初由 Skia 公司开发,该公司于 2005 年被 Google 收购。Skia 与 Openwaves (现在叫 Purple Labs)V7 vector graphics engine 非常类似,它们都来自于 Mike Reed转载 2009-06-22 18:54:00 · 3100 阅读 · 0 评论 -
Ubuntu下编译android的linux内核
1、构建交叉编译环境Android的默认硬件处理器是ARM的,因此我们需要在自己的host机器上构建交叉编译环境。来到CodeSourcery,(http://www.codesourcery.com /gnu_toolchains/arm/download.html),点击GNU/Linux对应的链接,再点击IA32 GNU/Linux Installer链接直接下载。把arm-2008q3-7转载 2009-06-22 17:20:00 · 2304 阅读 · 0 评论 -
如何调试跟踪Android源代码
Android平台代码很多,关系也很复杂,通常我们调试程序的时候是无法跟踪到Android framework code里的,如果能调试跟踪Android source code将给我们这些初学者带来很多便利,本文将给出一个调试跟踪Android source code 的方法。1. 首先,得到Android 源代码(可参考之前的文章--如何获取Android源代码并编译.doc),并且转载 2009-06-19 09:32:00 · 701 阅读 · 0 评论 -
OpenCore的代码结构
2.1 代码结构 以开源Android的代码为例,OpenCore的代码在以下目录中:external/opencore/。这个目录是OpenCore的根目录,其中包含的子目录如下所示: android:这里面是一个上层的库,它基于PVPlayer和PVAuthor的SDK实现了一个为Android使用的Player和Author。 baselibs:包含数据结构和线程原创 2009-06-19 10:48:00 · 1237 阅读 · 3 评论 -
Android多媒体框架初步分析
Android 系统整体架构:我们先看一下多媒体框架在整个Android系统所处的位置 从框架图可以看出Media Framework处于Libraries这一层,这层的Library不是用Java实现,一般是C/C++实现,它们通过Java的JNI方式调用。 多媒体架构:基于第三方PacketVideo 公转载 2009-06-19 09:29:00 · 965 阅读 · 0 评论 -
android系统文件夹结构解析
看看Android系统文件夹都隐藏了什么秘密,下面是简单的结构解析。/system/app 这个里面主要存放的是常规下载的应用程序,可以看到都是以APK格式结尾的文件,不了解的可以看下 在这个文件夹下的程序为系统默认的组件,自己安装的软件将不会出现在这里,而是/data/文件夹中。下面是详细的介绍:/system/app/AlarmClock.apk 闹钟/system/app/转载 2009-06-22 10:10:00 · 1150 阅读 · 0 评论 -
Android核心模块及相关技术
Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application)。根据Android的软件框图,其软件层次结构自下而上分为以下几个层次: 第一、操作系统层(OS) 第二、各种库(Libraries)和Android 运行环境(RunTime) 第三、应用程序框架(Application Fram转载 2009-06-19 09:30:00 · 581 阅读 · 0 评论 -
Ubuntu上编译Android过程
建立机器人来源, Linux操作系统, Ubuntu的,首先建立环境, 谷歌建议Ubuntu的系统和其他软件包,在此基础上下载编译Android代码。 下面是顺序描述的程序,我们将安装操作系统, 编译程序到结束,过程如下。 1. Ubuntu Linux操作系统安装软件包。 使用 ubuntu-8.04.1 desktop-i386系统. - 第一,获得ISO映像的Ubuntu转载 2009-06-22 17:17:00 · 1187 阅读 · 0 评论 -
Android编译环境
Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk. Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Android.mk来给转载 2009-06-23 09:32:00 · 4726 阅读 · 0 评论 -
miscdevice、platform_device、platform_driver的区别
最近研究Linux设备驱动程序遇到混乱,请大侠过来理理头绪。Linux设备模型中:bus_type、device、device_driver《Linux设备驱动程序》的linux设备模型章中说到设备模型中,所有设备都通过总线相连。添加设备devA,必须指定其device结构体的bus_type域,初始化其他域,然后调用device_register(&devA),将设备devA注册到指定总线。添加转载 2009-06-24 10:45:00 · 1540 阅读 · 0 评论 -
__asm__ __volatile__内嵌汇编用法简述
__asm__ __volatile__内嵌汇编用法简述在阅读C/C++原码时经常会遇到内联汇编的情况,下面简要介绍下__asm__ __volatile__内嵌汇编用法。因为我们华清远见教学平台是ARM体系结构的,所以下面的示例都是用ARM汇编。 带有C/C++表达式的内联汇编格式为: __asm__ __volatile__("Instruction List" :转载 2010-01-14 10:30:00 · 1196 阅读 · 0 评论 -
FFMPEG开发手册
FFMpeg 中比较重要的函数以及数据结构如下:1. 数据结构:(1) AVFormatContext(2) AVOutputFormat(3) AVInputFormat(4) AVCodecContext(5) AVCodec(6) AVFrame(7) AVPacket(8) AVPicture(9) AVStream2. 初始化函数:(1转载 2009-10-21 10:45:00 · 4449 阅读 · 0 评论 -
ffmpeg+x264 移植到s3c2410遇到的问题及解决办法
********环境:ubuntu 8.04 *************************交叉编译器:2.95.3 *************************SVN下载的ffmpeg和x264*****************1,交叉编译x264#CC=arm-linux-gcc ./configure --prefix=/usr/local --host=arm-linu转载 2009-10-21 10:34:00 · 2104 阅读 · 0 评论 -
tslib的移植
tslib为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能。1).下载source code并解压 我用的是tslib-1.3.tar.bz2。 下载地址:http://download.csdn.net/source/6738982). 配置./autogen.sh./configure --host=arm-linux --target=arm-li转载 2009-09-12 14:09:00 · 982 阅读 · 0 评论 -
制作嵌入式linux文件系统(ramdisk,cramfs,squashfs)
一、什么是文件系统 (Filesystem);A directory structure contained within adisk drive or disk area. The total available disk space can be composedof one or more filesystems. A filesystem must be mounted b转载 2009-09-11 09:23:00 · 1047 阅读 · 0 评论 -
在ARM-Linux平台上移植SQLite
SQLite是一种嵌入式数据库。SQLite的目标是尽量简单,因此它抛弃了传统企业级数据库的种种复杂特性,只实现那些对于数据库而言非常必要的功能。尽管简单性是SQLite追求的首要目标,但是其功能和性能都非常出色。它具有这样一些特点[1]:支持ACID事务(ACID是Atomic、Consistent、Isolated、Durable的缩写);零配置,不需要任何管理性的配置过程;实现了转载 2009-09-04 09:15:00 · 1262 阅读 · 0 评论 -
linux2.6移植+根文件系统实验手册
对于嵌入式linux系统来说,有各种体系结构的处理器和硬件平台,用户根据自己的需要定制的硬件平台,只要是硬件平台有一点点变化,就需要做一些移植工作,linux内核移植是嵌入式linux系统中最常见的一项工作。 由于linux内核具备可移植性的特点,并且已经支持了很多种目标板,这样,用户很容易从中找到跟自己硬件平台类似的目标板,参考内核已经支持的目标板来进行移植工作。linux-2.6转载 2009-09-03 21:22:00 · 816 阅读 · 0 评论 -
WinCE控制面板添加应用程序
WinCE系统中的控制面板和Windows系统中的控制面板原理是一样的,里面就是包含了一些应用程序。WinCE系统的控制面板由Ctlpnl.exe,Control.exe和一些.cpl文件组成,其中Ctlpnl.exe和Control.exe用于控制控制面板的文件夹显示和架构,而.cpl文件和控制面板中的实际应用程序相对应。 WinCE的控制面板中的每个应用程序都由两部分组成:应用程序本身转载 2009-09-03 14:49:00 · 875 阅读 · 0 评论 -
基于Windows手机的android移植可行性分析收藏
一 网络成功移植案例1 Android在OMAP上移植(国外)手机原系统:Linux kernel 2.6.23CPU处理器:OMAP5912移植完成部分:<span lang=EN-US style="font-size:12.0pt;mso-fareast-font-family:Sim原创 2009-06-15 09:31:00 · 1532 阅读 · 0 评论 -
ARM中MMU工作原理
本文描述基于存储器管理单元的系统结构, 包含以下内容:· 关于存储器管理单元的结构· 存储器访问的顺序· 转换过程· 访问权限· 域· 异常· CP15 寄存器http://embedded.homeunix.org 30/06/2003Page 3 of 33.1 关于存储器管理单元的结构MMU 存储器系统的结构允许对存储器系统的精细控制原创 2009-06-16 11:13:00 · 3602 阅读 · 0 评论 -
uClinux 启动过程详细分析
uclinux启动的详细过程有着诸多的信息可以给我们巨大的启发,我们在这里讨论的就是要对这些信息做一个具体细致的分析,通过我们的讨论,大家会对uclinux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解,并且能了解到这些输出信息的来龙去脉。uclinux的启动过程,它是一幅缩影图,对它有了一个详细的了解后,有助于指导我们更加深入地了解uclinux的核心。原创 2009-06-13 09:12:00 · 728 阅读 · 0 评论 -
KVM在嵌入式μCLinux操作系统上的移植
目前嵌入式Linux被广泛应用于嵌入式设备,Java语言由于其"Write Once,Run Anywhere"的特性,开始被应用于掌上电脑、智能手机等嵌入式系统。本文以uCLinux嵌入式操作系统为例,介绍移植KVM的过程。分以下部分进行介绍: uCLinux及KVM简介 获取并安装交叉开发工具 获取KVM源代码 修改KVM的Ma转载 2009-05-12 09:55:00 · 815 阅读 · 0 评论 -
KVM移植之ITRON版
前段时间由于工作的需要对KVM做了一些研究和学习,最终的目标是要理解KVM的原理和移植要注意的问题,最终拿出一个移植成功的DEMO来。 说起JAVA也只是在大学里学过一个月,后来写了一个记事本,后来就没怎么碰JAVA了。这次要学习它的解释器有点突然,不过经过努力最终还是实现了预期的目标。 因为Itron是日本那边用得比较多的嵌入式操作系统,没有文件系统,只有内存管理和任务管理(具体也原创 2009-05-12 10:10:00 · 1212 阅读 · 0 评论 -
关于IO口模拟SPI
关于IO口模拟SPI 最近有朋友问到IO口模拟SPI的问题,其实光模拟来说,就时序问题,读取和写入一个字节的时序。 首先选4个IO口,作模拟用,分别模拟CS、SCLK、SI、SO.即是片选、时钟、数据输入、数据输出。 IO口初始化,分别把对应的IO口设置输入输出。CS、SCLK、SO、设置为输出,SI设置为输入。 然后就是时序问题了,一般如下://设要写的数据是abyt转载 2008-11-04 11:20:00 · 5862 阅读 · 1 评论 -
模拟I2C总线多主通信研究与软件设计
I2C总线(Inter IC BUS)是Philips公司推出的双向两线串行通信标准。由于它具有接口少、通信效率高等优点,现已得到广泛的应用/[1~3/]。它除了可以进行简单的单主节点通信外,还可以应用在多主节点的通信系统中。在多主节点通信系统中,如果两个或者更多的主节点同时启动数据传输,总线具有冲突检测和仲裁功能,保证通信正常进行并防止数据破坏。现在许多微控制器(MCU)都具有I2C总线接转载 2008-11-04 11:25:00 · 962 阅读 · 0 评论 -
使用SkyEye仿真
SkyEye是一个可以运行嵌入式操作系统的硬件仿真工具,这样就可以在没有硬件条件下来进行嵌入式系统的开发。以下操作均在Fedora Core 1.0里通过。Skyeye项目资源列表http://gro.clinux.org/projects/skyeye/文档摘要:1、什么是SkyEye?2、SkyEye可以做什么事情?3、安装SkyEye4、安装arm-elf交叉编译器5、测试你的转载 2008-07-17 14:28:00 · 985 阅读 · 1 评论 -
基于MPEG-4的嵌入式网络视频服务器的设计方案
本文讨论了基于MPEG-4的嵌入式网络视频服务器的设计方案,包括图像压缩、存储方式、通信和操作系统。这4个系统分别实现视频节目的压缩、大容量视频存储、快速的传输通道和节目检索与服务等功能。由于人们对VOD不断提出新的要求,所以提出了在设计时应该注意的问题。关键词 视频服务器 嵌入式 MPEG-4 存储体系 1 引言 视频监控系统是日常生产生活中的重要辅助设备,应用十分广泛。当前原创 2006-08-11 21:01:00 · 2403 阅读 · 0 评论 -
mips 虚拟机
不管你对Matrix这部电影持有什么观点,这部电影里还是处处体现着我们现实计算机世界中的哲学精神。比如,最基本的一条就是,在数字世界里,你不知道你是一条狗。 哲学命题不是本文的主题,那么就直接jmpl main: 本文的主题,虚拟机。在现实世界中,你一定接触过各种各样的虚拟机,Vmware,VirtualPC,甚至JVM或是VBRunDLL,等等等等,在数字的信息世界里虚拟和现实是如此转载 2006-09-09 14:12:00 · 6964 阅读 · 0 评论 -
PC机与下位单片机异步串行通信
摘要:介绍了分布式控制系统中上位PC机与下位单片机异步串行通信的通信协议;同时介绍了在VC++6.0环境下用PComm编写的PC机通信程序来实现上位机和下位机异步串行通信的方法,给出了PComm编程实例和下位机程序模块流程图。 关键词:分布式控制系统;异步;串行通信;PComm在由一台PC机(上位机)和多台单片机(下位机)构成的分布式控制系统中,单片机主要负责实时数据采集,并将初步处转载 2006-03-31 12:26:00 · 5820 阅读 · 0 评论 -
tekkamanninja's tslib-1.4 移植记录
在移植好触摸屏的驱动后,一般都要移植一个tslib来配合,在用户层对触摸屏的数据进行滤波和矫正,同时也可以给应用程序一个统一的接口,很多GUI都支持tslib的接口。对于tslib的基础知识和移植,网上google一下就是一大把,在这里我提供一些较好的网页,这些已是我此次移植的参考。http://blog.chinaunix.net/u1/33412/showart_282转载 2009-05-13 11:51:00 · 2272 阅读 · 0 评论 -
Tslib校准过程
在采用触摸屏的移动终端中,触摸屏性能的调试是个重要问题之一,因为电磁噪声的缘故,触摸屏容易存在点击不准确、有抖动等问题。Tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等 功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的 接口。在Qtopia 4.*版本中,默认的Tslib版本为Tslib 1.4。在Qtopia 2.*版本中,默认的Tsl转载 2009-05-13 11:53:00 · 2174 阅读 · 0 评论 -
s3c2410 watchdog详解
1.什么是watchdog?watchdog,中文名称叫做“看门狗”,全称watchdogtimer,从字面上我们可以知道其实它属于一种定时器。然而它与我们平常所接触的定时器在作用上又有所不同。普通的定时器一般起记时作用,记时超时(TimerOut)则引起一个中断,例如触发一个系统时钟中断。熟悉windows开发的朋友应该用过windows的Timer,window转载 2009-07-28 11:06:00 · 1282 阅读 · 1 评论 -
uClinux移植概述
1.建立开发环境 作为uClinux系统的移植和开发的主机最好使用Linux操作系统,如果选择Windows平台作为开发平台则需要Cygwin软件包的支持。在这里我们选用的开发平台是Fedora Core2,内核版本为2.4.x。在进行uClinux的移植和开发之前,我们需要建立系统的交叉编译环境,因为做为主机我们使用的是IA32体系结构的处理器,而开发板我们才用的是A原创 2009-06-13 09:10:00 · 640 阅读 · 0 评论 -
CPU频率计算方法---PLL设置
看见很多朋友不会计算PLL分频和串口频率,整理个笔记发上来cpu时钟频率和串口波特率的计算公式S3C44B0的系统时钟设置公式 Fpllo 为系统的主频,此处为60MHzFin 为晶振的频率,此处为10MHz一. 通过PLL输出时钟脉冲频率的计算: a) Fpllo = (m × Fin)/ (p × 2^s) b) m = (MDIV + 8) , p = (PDIV + 2), s = S转载 2009-08-14 11:21:00 · 5298 阅读 · 1 评论 -
android 资源列表-史上最有价值的android资源链接
android资源列表建立对目的,是收集android相关对项目,论坛,资源网站的链接。方便移植和使用android的朋友快速找到需要的信息,资源。由于android是基于linux内核,所以以下列表会给出linux世界比较有价值的网站和论坛链接。暂时没有分类。http://code.google.com/p/android/http://developer.android.com/i原创 2009-08-12 14:24:00 · 2042 阅读 · 1 评论 -
I2C总线协议及其应用(3)
-2.通用I/O端口作为I2C总线接口---- 目前,51、96系列的单片机应用很广,但是它们都没有I2C总线接口,限制了在这些系统中使用具有I2C总线接口的器件。但通过对I2C总线时序的分析知道可以用51单片机的两根I/O线来实现I2C总线的功能。I2C总线转载 2009-07-28 11:17:00 · 920 阅读 · 0 评论 -
I2C总线协议及其应用(2)
2.I2C数据传输---- 在I2C总线传输过程中,将两种特定的情况定义为开始和停止条件(如图3):当SCL保持“高”,SDA由“高”变为“低”时为开始条件;SCL保持“高”,SDA由“低”变为“高”是为停止条件。开始和停止条件由主控器产生。使用硬件接口可以很容易地检测开始和停止条件,没有这种接口的微机必须以每时钟周期至少两次对SDA取样以使检测这种转载 2009-07-28 11:11:00 · 1184 阅读 · 0 评论 -
SWI 软中断详解
软中断:编程异常通常叫做软中断软中断是通讯进程之间用来模拟硬中断的一种信号通讯方式。中断源发中断请求或软中断信号后,CPU或接收进程在适当的时机自动进行中断处理或完成软中断信号对应的功能软中断是软件实现的中断,也就是程序运行时其他程序对它的中断;而硬中断是硬件实现的中断,是程序运行时设备对它的中断。 1.软中断发生的时转载 2009-07-28 11:08:00 · 6402 阅读 · 1 评论