- 博客(67)
- 资源 (23)
- 收藏
- 关注
原创 Android init 启动过程分析
分析android的启动过程,从内核之上,我们首先应该从文件系统的init开始,因为 init是内核进入文件系统后第一个运行的程序,通常我们可以在linux的命令行中指定内核第一个调用谁,如果没指定那么内核将会到/sbin/,/bin/ 等目录下查找默认的init,如果没有找到那么就报告出错。下面是曾经用过的几种开发板的命令行参数:S3C2410 启动参数:noinitrdroot=/dev/nf
2009-12-28 21:38:00 1736
原创 Android移植之文件系统总结
Opendroid原创,转载请注明最近搞Android移植,文件系统自然是重头戏,移植的绝大多数问题,也都出在这里。这里总结一下一些经验技巧等。1. 文件系统的结构 制作Android文件系统,仅需要编译出的root和system两个文件夹即可,不需要data目录,data会在启动过程中自行创建并写入文件。无论选择什么文件系统,这都是可行的。2. 文件系统的选择1)使用nfs的话,最简单,
2009-12-28 21:29:00 1341
原创 Bring Up
Once your code is built and you have verified that all necessary directories exist, power on and test your device with basic bring up, as described below. Bring up tests are typically designed to st
2009-12-28 21:27:00 5320 1
原创 android 使用 NFS 根文件系统
最近在研究android的移植,目标平台是marvell的pxa310。在网上看到很多高手的文章,得到很多启发。转载一片如何使用nfs作为根文件系统的文章,写的不错[First written by Steve Guo, please keep the mark if forwarding.]Usually the Android uses YAFFS as rootfs and
2009-12-28 20:53:00 1766
转载 linux内核模块解析
Linux 就是通常所说的单内核(monolithic kernel),即操作系统的大部分功能都被称为内核,并在特权模式下运行。它与微型内核 不同,后者只把基本的功能(进程间通信 [IPC]、调度、基本的输入/输出 [I/O] 和内存管理)当作内核运行,而把其他功能(驱动程序、网络堆栈和文件系统)排除在特权空间之外。因此,您可能认为 Linux 是一个完全静态的内核,但事实恰恰相反。通过 Li
2009-12-27 12:06:00 2431
转载 将Android移植到FS2410开发板上
一、目前进展1.Android已经可以通过NFS在FS2410开发板上运行二、目前缺陷1.触摸屏没有校准2.Android中时钟停止,结束zygote进程,系统重启,时钟更新,但再次停止不动3.串口无法与GPRS模块通讯三、移植步骤一、移植Android内核到FS2410开发板上1、从http://code.google.com/p/android/download
2009-12-26 21:23:00 959
原创 Audio Subsystem
ntroductionAndroid provides two native layers that handle audio software: Audio Flinger: the audio software implementation that provides the minimum required audio functions (as illustrated
2009-12-25 16:23:00 1167
原创 Display Drivers
IntroductionFunctionalityImplementing Your Own Driver (Driver Template)TroubleshootingIntroductionThis section describes how the display driver functions and offers a functional template d
2009-12-25 16:11:00 1545
原创 DM900的DMA数据传送方式
DM900的DMA数据传送方式项目二期 2009-12-13 11:06 阅读6 评论0 字号: 大 中 小DMA Direct Memory Access 直接存储器访问,在大部分的网络芯片中都使用该技术,例如RTL8019,8139等。该技术适合数据顺序存储的读写环境中,所以非常适合以太网的数据帧收发。DMA读写方式只需要提供 起始
2009-12-25 13:34:00 3411
原创 PHY芯片
PHY指物理层,OSI的最底层。一般指与外部信号接口的芯片。以太网PHY芯片 网络中最基础的部件是什么?不是交换机也不是路由器,而是小小的不起眼但又无处不在的网卡。如果在5年前,或许网卡与您无关,但在如今这网络的时代,无论是上网冲浪还是联网玩游戏,都离不开网卡,更何况,就算您不食人间烟火,多数主板上也会为您集成一块板载网卡。所以,对于想迈入网络之门的读者而言,先认识网卡,会让您在
2009-12-25 10:15:00 5271
原创 DM9000A网卡芯片介绍
1、总体介绍 该DM9000是一款完全集成的和符合成本效益单芯片快速以太网MAC控制器与一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM 。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容。 DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000支持8位, 16位和32 -位接口访问内部
2009-12-25 10:09:00 1583
转载 7个Linux手机平台比较 (1):进程间通信的异同
目前Linux手机平台不少,不管它目前强势还是弱势,我们先放一边;我们来看看各个平台中所采用的技术点的相似点和不同点,比如分析一下各个平台的进程通信机制的异同等等,后面会逐个分析。 目前几个Linux手机平台,主要有下面几个:1 Maemo2 Android 3 LIMO4 OpenMOKO5 GPE^26 ALP7 QTopia Phone
2009-12-24 11:42:00 3790
转载 dbus实例讲解3
2.3.2、ListActivatableNames和服务器的自动启动运行:$ dbus-send --system --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListActivatableNames和$ dbus-send --session --print-reply --dest=
2009-12-24 11:41:00 3778
原创 dbus实例讲解2
应用程序A和消息总线连接,这个连接获取了一个众所周知的公共名(记作连接A)。应用程序A中有对象A1提供了接口I1,接口I1有方法M1。应用程序B和消息总线连接,要求调用连接A上对象A1的接口I1的方法M1。在上一讲的加法例子中,上面这段话可以实例化为:应用程序example-service和会话总线连接。这个连接获取了一个众所周知的公共名“org.fmddlmyy.Test”。应用程序ex
2009-12-24 11:39:00 3973
原创 dbus实例讲解1
1、dbus是什么东西?网上有一篇叫“D-Bus Tutorial”的文章,流传较广。不少介绍dbus的资料,都引用了其中的段落。其实相对于这篇文章,我建议大家直接读“D-Bus Specification”,篇幅不算长,文字也不算枯燥。D-Bus是针对桌面环境优化的IPC(interprocess communication )机制,用于进程间的通信或进程与内核的通信。最基本的D-B
2009-12-24 11:38:00 10669 2
原创 Dbus组成和原理
在LINUX系统下写开源代码的程序员,对DBUS应该是不会再陌生了。它的低时延和低消耗等优点吸引了很多人的目光,因为我们现在开发的平台,很多设计到DBUS这个通讯机制,所以我花了比较多的时间去熟悉它。通过这段时间的学习,把笔记也做一下,今天先介绍什么DBUS。什么是DBUS?DBUS是实质上一个适用于桌面应用的进程间的通讯机制,即所谓的IPC机制。适合在同一台机器,不适合于INT
2009-12-24 11:29:00 20837
原创 D-Bus 体系
有很多种IPC或者网络通信系统,如:CORBA, DCE, DCOM, DCOP, XML-RPC, SOAP, MBUS, Internet Communications Engine (ICE)等等,可能会有数百种,dbus的目的主要是下面两点:1.在同一个桌面会话中,进行桌面应用程序之间的通讯2.桌面程序与内核或者守护进程的通信。Dbus是一套进程通信体系,它有以下几层:1.libd
2009-12-24 11:27:00 6385
原创 What's in Android source package
.|-- bionic Android"仿生"庫,包含了一些基礎庫。它存在的意義在于避規GPL| |-- libc C庫。| | |-- arch-arm libc針對arm部分的實現| | |-- arch-x86 libc針對x86部分的實現。(查看后發現很多是open BSD的代碼,如果缺什么可以從open BSD中"抄"過來,比如sigsetjmp.S ……)| | |-
2009-12-23 15:18:00 1176
原创 加快Android单模块编译
转载时请注明出处和作者联系方式文章出处:http://www.limodev.cn/blog作者联系方式:李先静 习惯了automake之后,再用Android的编译系统,就是感觉不爽。编译一个小模块也等上几分钟,有次实在受不了,看了一下它的实现,发现它对任何一次编译都要查找所有的Android.mk:subdir_makefiles=$(shell cat build/tools/Android
2009-12-23 11:50:00 1646
原创 Android building system
Android building system 包括幾種重要的設定檔, (1) Android.mk (2) AndroidProducts.mk (3) target_-.mk, host_-.mk and -.mk (4) BoardConfig.mk (5) buildspec.mk Android.mk 是 module 和 package 的設定檔,每個 mo
2009-12-23 10:58:00 3700
原创 嵌入式程序员必须知道的16个问题(C语言方面)
C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息.此外,撇开面试的压力不谈,这种测试也是相当有趣的。 从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗?这个愚蠢的问题吗?
2009-12-23 09:07:00 3162 1
原创 Android编译环境(1) - 编译Native C的helloworld模块
Android编译环境本身比较复杂,且不像普通的编译环境:只有顶层目录下才有Makefile文件,而其他的每个component都使用统一标准的Android.mk.Android.mk文件本身是比较简单的,不过它并不是我们熟悉的Makefile,而是经过了Android自身编译系统的很多处理,因此要真正理清楚其中的联系还比较复杂,不过这种方式的好处在于,编写一个新的Andro
2009-12-22 18:22:00 1863 1
原创 Android多媒体框架初步分析
Android 系统整体架构: 我们先看一下多媒体框架在整个Android系统所处的位置 从框架图可以看出Media Framework处于Libraries这一层,这层的Library不是用Java实现,一般是C/C++实现,它们通过Java的JNI方式调用。多媒体架构: 基于第三方PacketVideo 公司的OpenCORE platf
2009-12-22 18:21:00 2088
原创 Android Toolchain与Bionic Libc
Android所用的Toolchain(即交叉编译工具链)可从下面的网址下载: http://android.kernel.org/pub/android-toolchain-20081019.tar.bz2。如果下载了完整的Android项目的源代码,则可以在“/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin”目录下找到交叉编译工具,
2009-12-22 18:19:00 1277
原创 动态库优化——Prelink(预连接)技术
Prelink是Red Hat 开发者 Jakub Jelinek所设计的工具,正如其名字所示,Prelink利用事先链接代替运行时链接的方法来加速共享库的加载,它不仅可以加快起动速度,还可以减少部分内存开销,是各种Linux架构上用于减少程序加载时间、缩短系统启动时间和加快应用程序启动的很受欢迎的一个工具。 我们在上一章中详细介绍了动态链接和加载的过程,这种运行时
2009-12-22 18:16:00 1375
原创 嵌入式Linux系统中的快速启动技术研究
摘要Linux在消费电子类产品中得到了广泛应用,由于嵌入式用户对于系统启动速度较为敏感,因此快速启动技术逐渐成为研究和应用中的一个重点。本文通过对嵌入式Linux的启动时序和主要延时因素的分析,针对性地探讨了在各个启动阶段降低时耗的技术,重点分析了XIP技术和XIP文件系统,并给出了主要的实现过程。 关键词 Linux 快速启动 XIP Prelink CRAMFS AXFS
2009-12-22 18:13:00 1772
原创 android深入研究和学习的课程
Android是Google基于Linux开发的智能手机操作系统,广泛应用于3G手机、上网本等。目前处于爆发式增长阶段,HTC(宏达电 多普达)、摩托罗拉、索爱、三星等众多公司纷纷推出基于Android智能操作系统,甚至很多上网本也使用Android操作系统。目前Android是最热门的智能操作系统,凭借Linux的软件优势其应用的广泛程度已经让其他对手相形见绌。所以学习Android操作系
2009-12-22 17:15:00 2317
原创 DM9000A网卡芯片介绍
1、总体介绍 该DM9000是一款完全集成的和符合成本效益单芯片快速以太网MAC控制器与一般处理接口,一个10/100M自适应的PHY和4K DWORD值的SRAM 。它的目的是在低功耗和高性能进程的3.3V与5V的支持宽容。 DM9000还提供了介质无关的接口,来连接所有提供支持介质无关接口功能的家用电话线网络设备或其他收发器。该DM9000支持8位, 16位和32 -位接口访问内部
2009-12-22 14:41:00 2200
原创 android 安装busybox
Thisarticle describes how to install the busybox command line tools inthe Android file-system. Pleasenote that a pre-built version of busybox has been attached to thisarticle if you
2009-12-22 13:54:00 1823
原创 电阻和电容式触摸屏区别
电容式摸摸屏与传统的电阻式触摸屏有很大区别。电阻式触控屏幕在工作时每次只能判断一个触控点,如果触控点在两个以上,就不能做出正确的判断了,所以电阻式触摸屏仅适用于点击、拖拽等一些简单动作的判断。而电容式触摸屏的多点触控,则可以将用户的触摸分解为采集多点信号及判断信号意义两个工作,完成对复杂动作的判断。 使用两根手指的拉伸、换位即可在屏幕上完成诸如放大、旋转这样趣味十足的操作,这在电容式触摸屏出现
2009-12-22 11:58:00 4111
原创 LCD液晶屏的分类知识
摘要:介绍LCD的分类、选型、背光及一些指标,详细讨论触屏的类别和具体实现。关键词:LCD;触摸屏 一、概述 液晶的发现可追溯到19世纪末,1888年被奥地利植物学家发现。它是一种在一定温度范围内呈现既不同于固态、液态,又不同于气态的特殊物质态。既具有晶体所具有的各向异性造成的双折射性,又具有液体所特有的流动性。一般可分热致液晶和溶致液晶两类。显示应用领域使用的是热致液晶,温度低了,出现结晶
2009-12-22 11:57:00 6752
原创 LED和LCD的区别
LED是发光二极管Light Emitting Diode的英文缩写。 LED应用可分为两大类:一是LED单管应用,包括背光源LED,红外线LED等;另外就是LED显示屏,目前,中国在LED基础材料制造方面与国际还存在着一定的差距,但就LED显示屏而言,中国的设计和生产技术水平基本与国际同步。 LED显示屏是由发光二极管排列组成的一显示器件。它采用低电压扫描驱动,具有:耗电少、使用寿命
2009-12-22 11:51:00 1962
原创 四线电阻触摸屏与五线电阻触摸屏的区别和技术比较
项目 OneTouch -4W四线电阻 OneTouch -5W五线电阻 物理结构 1、屏幕的最底层为一般玻璃板2、玻璃上有两层 ITO Film,上层用以读取y轴电压值,下层用以读取x轴电压值,两层film紧密靠在一起,
2009-12-22 11:47:00 5268
原创 五线电阻触摸屏的工作原理
在触摸屏的四个端点RT,RB,LT,LB四个顶点,均加入一个均匀电场,使其下层(氧化铟)ITO GLASS上布满一个均匀电压,上层为收接讯号装置,当笔或手指按压外表上任一点时,在手指按压处,控制器侦测到电阻产生变化,进而改变坐标。由于靠压力感应,所以对于触控媒介没有限制手、铅笔,信用卡等,即使戴上手套亦可操作。触摸屏技术都是依靠控制器来工作的,甚至有的触摸屏本身就是一套控制器,各自的定位原理和各自
2009-12-22 11:45:00 6224 1
原创 ARM存储管理单元MMU和存储保护单元MPU
MMU提供的一个关键服务是,能使各个任务作为独立的程序在其自己的私有存储空间运行.地址转换过程允许运行的多个程序使用相同的虚拟地址,而各自存储在物理存储器的不同位置. 区域可以是活跃的,也可以是睡眠的:活跃区域包含当前系统正在使用的代码或数据;睡眠区域包含当前不使用,但可能在短时间内变为活跃的代码或数据.睡眠区 域是被保护的,因此当前正在运行的任务是不能访问的.MP
2009-12-22 10:57:00 13030 1
原创 x264中重要结构体说明
首先解释一下cli_opt_t的这个_t代表结构图可能是type的意思。同时还有很多i_ b_等作为前缀的变量,其中的I_表示int类型的变量 b表示bool类型的。依次类推。正式进入主题。typedef struct { int b_progress; int i_seek; hnd_t hin; hnd_t hout; FILE *
2009-12-22 10:29:00 2600
转载 NAND FLASH ECC校验原理与实现
ECC简介 由于NAND Flash的工艺不能保证NAND的Memory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠的进行坏区检测。 如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成
2009-12-22 09:43:00 1919
原创 2410平台上dm9000a网卡驱动分析
该驱动基于linux-2.6.24.4内核。 首先,需要在arch/arm/mach-s3c2410/mach-smdk2410.c文件中添加如下代码:static struct resource s3c_dm9000_resource [] = { [0] = { .start = 0x10000000, .e
2009-12-21 18:39:00 2134
原创 Linux设备驱动简析--dm9000网卡驱动
/**By Neil Chiao (neilchiao at gmail.com)*转载请注明出处:neilengineer.cublog.cn*本文部分内容来自网络*欢迎到“新星湾(www.xinxingwan.com)”指导*/ 1、Linux网络设备驱动的体系结构Linux网络驱动程序的体系结构可划分为4个层次。Linux内核源代码中提供了网络设备接口
2009-12-21 18:28:00 1787
转载 Android Building System 分析
想要了解一個系統,我常會從 makefile 或是 building system 下手, 以了解系統組成元素為何? 目錄結構為何? 對於 Android ,我也不例外。 透過了解 building system ,我們能知道如何新增、修改、刪除程式, 並保有完整性,順利編譯出結果。 設定檔Android bu
2009-12-21 14:57:00 957
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
新一代视频压缩编码标准H.264.pdf
2009-10-13
avs 标准文档中的源码
2009-10-13
项目管理知识体系指南
2009-10-06
PMP项目管理原版书籍
2009-10-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人