通信行业博客

2009年06月2日

Ubuntu下编译android的linux内核

类归于: Android — 标签:, , — admin @ 5:04 下午

1、构建交叉编译环境
的默认硬件处理器是ARM的,因此我们需要在自己的host机器上构建交叉编译环境。来到CodeSourcery,(http://www.codesourcery.com /gnu_toolchains/arm/download.html),点击GNU/对应的链接,再点击IA32 GNU/ Installer链接直接下载。
把arm-2008q3-72-arm-none--gnueabi-i686-pc--gnu.tar.bz2解压到一目录下,如~/programes/。并加入PATH环境变量:
vim ~/.bashrc
添加:
ARM_TOOLCHIAN=~/programes/arm-2008q3/bin/
export PATH=${PATH}:${ARM_TOOLCHIAN};
保存,并source ~/.bashrc

2、获取内核源码
http://code.google.com/p//downloads/list
注意该内核版本要与你选用的版本尽量一致。
下载后,解压后得到kernel.git文件夹:
tar -xvf ~/download/-2.6.25--1.0_r1.tar.gz

3、获取内核编译配置信息文件
编译内核时需要configure,而一般configure的选项很多,我们往往不知道需要那些选项。运行时,有一文件/proc /config.gz, config.gz是当前内核的配置信息文件,我们把config.gz获取出来,解压放到kernel.git/之下(改名为.config):
cd kernel.git/
emulator &
adb pull /proc/config.gz
gunzip config.gz
mv config .config

4、修改Makefile
修改195行:
CROSS_COMPILE = arm-none--gnueabi-
将CROSS_COMPILE值改为arm-none--gnueabi-,这是我们安装的交叉编译工具链的前缀,修改此处意在告诉make在编译的时候要使用该工具链。
注释562,563行:
#LDFLAGS_BUILD_ID = $(patsubst -Wl$(comma)%,%,\
# $(call ld-option, -Wl$(comma)–build-id,))
将build id 值注释掉,因为目前版本的内核不支持该选项。

5、编译
make
很快就编译好,并生成zImage:
LD arch/arm/boot/compressed/vm
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
生成zImage大小为1.23M,-sdk-_x86-1.0_r2/tools/lib/images/kernel-qemu是1.24M

6、用加载内核测试
cd /out/cupcake/out/target/product/generic
emulator -image system.img -data userdata.img -ramdisk ramdisk.img -kernel ~/project//kernel.git/arch/arm/boot/zImage
加载成功就OK了

相关日志

2009年05月24日

[PDF下载]Android智能手机系统中文件实时监控的研究与实现

类归于: Android — 标签:, — admin @ 5:59 下午

作者:温敏,艾丽蓉,王志国

西北工业大学计算机学院

摘要:保证文件的安全是保护系统安全的一个重点 ,通过文件监控来保证数据的完整性是保护系统安全和灾情评估的基
础。通过对 操作系统的研究和分析 ,提出了在 系统下采用基于文件信息节点的监控机制实现对文
件的实时监控 ,并详细的描述了在 Andr oid平台下实现的关键数据结构、 实现细节以及实验测试结果。

下载

相关日志

2009年05月20日

Android模拟器SD卡的使用

类归于: Android — 标签:, , — admin @ 3:20 下午

Andorid开发中经常遇到与有关的调试, SDK+提供了的模拟方法。使用方法如下:

1、创建一个镜像文件

打开cmd,输入如下命令:
mksdcard 1024M sdcard.img

该命令会在当前目录下生成一个sdcard.img文件,该文件就是模拟器的镜像文件。

1024M表示1024兆,即该有1个G的容量,也可用K做单位(1M=1024K),K,M必须大写。

目前支持8M~128G的
2、运行带有的模拟器

创建了镜像文件,只是创建了一个文件,还不能在模拟器中直接用,要在模拟器中可看到该,方法有两种,如下:

◆在cmd中,命令如下:
emulator -sdcard e:\sdcard.img

◆在中,在Run->Run Configurations…菜单里面的Target标签页里面,输入启动参数,如下图:

Android模拟器SD卡的使用

3、向中导文件
◆在cmd中,命令如下:

Android模拟器SD卡的使用

这会将本地当前目录下的test.txt文件考到sdcard中,文件名不变。前一个test.txt是本地文件的路径,sdcard是目的sdcard镜像的文件名(去掉后缀)。

◆在中,操作如下:

在设置了RUN的命令参数之后,RUN一个应用,然后使用的File Explorer工具导入导出文件。

打开工具:在的Window->Open Perspective->Other…里面打开工具。

的File Explorer标签页里面选择sdcard目录导入导出文件,如下图:

Android模拟器SD卡的使用

4、在模拟器中使用中的文件

导入文件后,如果要在模拟器中访问,还需要在模拟器中的Dev tools里面scan一下媒体文件,如下图:

Android模拟器SD卡的使用

Android模拟器SD卡的使用

相关日志

2009年05月13日

09年Android手机出货量可望成长900%

类归于: Android — 标签:, , — admin @ 11:57 上午

市场研究机构Strategy Analytics预测,在移动通讯服务业者、手机供货商与开发商的大力支持之下,采用操作系统的出货量将取得900%的高成长率;至于Apple的iPhone OS则将是09年另一个成长最快的操作系统,成长率可达79%。

尽管iPhone在市场当红,操作系统与平台也冲上了智慧手机市场的领导地位。有30%参与调查的读者表示,将成为智慧手机市场的领袖;而现归Nokia的Symbian与Linux Mobile两个操作系统加起来所获得的票数仅占21%。

Strategy Analytics资深分析师Tom Kang表示:「手机操作系统在2008下半年是在美国市场获得初期采用,并在在欧洲与亚洲逐步扩展市场版图。由于该操作系统的起步门坎比较低,因此成长速度也超越Apple的iPhone操作系统。」该机构预期操作系统09年成长率可达900%,但iPhone OS成长率则为79%。

Strategy Analytics总监Neil Mawston补充指出:「由于具备较低成本的授权模式、开放式架构,以及来自的云端服务作为后盾,吸引了包括HTC、 Motorola、Samsung、T-Mobile、Vodafone等众多厂商的支持;已经取得了在接下来2~3年内成为一线操作系统的优势地位。」

相关日志

2009年05月6日

支持Moblin和Android的蓝牙3.0堆栈问世

类归于: Android — 标签:, , — admin @ 8:49 上午

蓝牙软件供货商IVT稍早前发布了全球款个支持英特尔 平台的蓝牙V3.0 +HS协议堆栈。IVT同时也以其最新的蓝牙V3.0+HS协议堆栈为基础,发展多无线连接管理方案Bluesoleil 7.0,该版本将可支持多种无线(RF)技术,并可执行在Window 2000、XP、Vista、Window 7、等平台上。

多年来,IVT一直积极参与制定最新蓝牙标准的各个研究小组。IVT的首款商用蓝牙协议堆栈发布于1999年11月,由于其程序代码具备成熟、简洁、高效、跨平台和互通性良好等特性,因而被广泛应用,适合开发嵌入式应用以及桌上计算机应用。

IVT 研发的蓝牙协议堆栈支持多种操作系统、多种蓝牙芯片、几乎所有的蓝牙应用(profiles);IVT所开发的蓝牙应用软件BlueSoleil核心技术也基于此协议堆栈,目前,BlueSoleil可执行在Window 2000、XP、Vista、CE和等作业环境下(如平台)。IVT可以提供蓝牙协议堆栈和所有应用 (profiles)的标准C程序代码。

相关日志

2009年04月29日

锁定Android软硬件整合设计,0xlab宣布成立

类归于: Android — 标签:, , — admin @ 5:15 下午

号称台湾第一个以「整合及硬件设计」为目的之开放式平台研发团队 (zero x lab)日前正式宣布成立。该团队由8位年轻工程师所创立,强调以领先之设计能力最佳化并丰富硬件功能,并坚持开放精神、持续与全球社群合作,让更多基于设计的产品,以多样面貌丰富消费者的使用经验。

未来不仅强调软件与硬件系统之垂直整合,也将透过开放式平台,进行跨平台硬件之水平整合,同时推动台湾硬件厂商与全球开放式软件开发之互动,将可有效缩短产品开发时程,创造产品的最大可能性。

随着、Apple等大厂相继投入开放式平台开发,台湾业界对开放式平台的关注也正持续升高;但台湾硬件厂商与开放软件之开发仍存有距离,例如硬件厂商虽常使用开放软件,但不常主动参与、较少与全球社群共同合作,对核心技术的掌握度较低。之成立将拉近此一距离,一方面引进软件技术,激发创意与提升技术水准;另一方面增进开放软件与硬件整合,让系统厂商直接利用,使整合不同组件更为简单。

成员李中旸表示,不仅专注于 应用软件开发,更强调应用于硬件上时,如何使硬件发挥最佳效能。例如在功耗、效能层面着手,将硬件运算速度、反应流畅度、分辨率以及续航力等性能最佳化,使硬件功能发挥最大的可能性。

也提出了创新之设计概念;举例来说,一般认知 使用之程序语言仅有JAVA,许多现有非JAVA之应用程序,要导入平台上就必须重新开发,但可在不重新改写应用程序的原则下,将非JAVA应用程序导入平台。这项创新设计,可快速增加的应用软件种类,使平台的应用内容更加丰富多样。

之主要赞助商海华科技表示,开放及整合为业界主要趋势, 的开放性为厂商开启多样化设计的可能性,但唯有将软件及硬件之整合最佳化,例如达到系统低耗电、高效能等,才能使产品发挥最大价值。未来相关之网站与电子邮件论坛、在线讨论区等都将完全公开,任何人都可以参与讨论,甚至共同开发,集合国内外研发力量一同成长,形成良性循环,持续保有开放软件自由共享的精神。

相关日志

2009年04月14日

CE厂商注意了,Android真的来了

类归于: Android — 标签:, , , , — admin @ 3:17 下午

Google的平台已经向手机以外的设备伸出触角,包括机上盒、电视、网络电话,甚至卡拉OK伴唱机、数字相框…等产品,很快就会出现在你家附近的电子卖场。

亚洲是世界大张版图的根据地,众家软件开发商、芯片供货商与系统业者,竞争方向几乎都是一致的──利用、开放源码以及免费软件,开发出既省成本又好用的消费性电子产品。

这些非智慧手机的平台嵌入式产品可能得等到2011年初才能问世,但日本开放性嵌入式软件基金会(Open Embedded Software Foundation,)主席Masataka Miura透露,今年秋天的日本最大电子展CEATEC上,将会有包括摩托罗拉(Motorola)为日本电信业者KDDI所开发的机上盒原型等产品亮相。

二月份成立的,旨在建立一个能适用多种嵌入式产品的平台,成员包括25家公司,未来并将成立多个工作小组,包括机上盒、VoIP、网络与安全性、量测与控制、系统核心、应用与服务,以及营销与教育等。

目前的成员包括包括ARM、KDDI、Japan Cable Laboratories、Alpine Electronics与Fujitsu Software Technologies等;Miura表示,德州仪器(TI)、英特尔(Intel)、飞思卡尔(Freescale)、高通(Qualcomm)与瑞萨(Renesas)等越来越多公司,也有兴趣加入该组织。并打算在今年夏天于台湾与韩国设置办公室。

「今年会是观察是否成功的关键年;」In-Stat技术策略长Jim McGregor表示:「到目前为止,该平台看来有比其它-based、开放源码解决方案更多的市场动力与较小的风险。」而他也强调,更重要的是,背后有Google这个大品牌。

并没有获得Google的财务援助;据了解,Google对于亚洲OEM与ODM厂商成长中的、在不同嵌入式系统采用的兴趣表示欣慰。例如个人计算机OEM厂商惠普(HP)与华硕(Asus),已公开表明对于在产品中采用ARM/方案的兴趣,并期望这类产品能拥有比主流更低的售价。

连E-Ink的电子纸设备都可以使用平台;不过展示该方案的Moto Development Group表示,目前该技术还没有到商业化的阶段。

认为,的影响力将散播得更快、更远,并超越;该组织一开始将聚焦在机上盒,首先是Motorola的「au Box」。Miura表示,该产品基本上是KDDI的多用途IP机上盒,也可做为家用网关器,以提供固定/行动宽带聚合的功能;他并指出,日本消费性电子大厂JVC也打算开发一款电视。

(全文…)

相关日志

2009年04月6日

VirtualBox虚拟机上安装Android

类归于: Android — 标签:, , — admin @ 4:59 下午
VirtualBox虚拟机上安装Android

VirtualBox上安装

1. 第一步当然是要把 source 拉下来,这个步骤,官方描述得很清楚:Get source ( Open Source Project),这里不多作描述。如果你用的是 8.10,会踩到雷的只有 libreadline5-dev,因为并没有该页面描述的 lib32readline5-dev。这里我假设你跟官方教学步骤一样,建了 mydroid 目录。

2. sync 整份 source code 以后,还需要 eee 701 的部份,所以要在 .repo 下新增一个档案,并命名为 local_manifest.xml:

<manifest>
    <project name="platform/vendor/asus/eee_701" path="vendor/asus/eee_701"/>
</manifest>

然后再 sync 一次。

3. 这次的 sync 会很快,结束以后,要先 build kernel。切到 mydroid/kernel 目录下,复制 mydroid/vendor/asus/eee_701/kernel.config 为 mydroid/kernel/.config,接着执行 make menuconfig,进入 kernel configuration 选单以后,把这几个 driver 选为 built-in:

* Device drivers / Network device support / Ethernet (10 or 100Mbit) / EISA, VLB, PCI and on board controllers / AMD PCnet32 PCI support

* Device drivers / Graphics support / Support for frame buffer devices / VESA VGA graphics support

* Device drivers / Graphics support / Console display driver support / Framebuffer Console support

* Device drivers / Graphics support / Console display driver support / Select Compiled-in fonts (VGA 8×8 font, VGA 8×16 font)

,再把这些取消:

* Device drivers / Real Time Clock / alarm driver

* Device drivers / Misc devices / pmem allocator

,然后重新建置 kernel:make bzImage。

4. 编译好之后,把 arch/x86/boot/bzImage 复制为 mydroid/vendor/asus/eee_701/kernel。

5. 我稍稍更动了一些设定,这样我后面就省打一些东西:

* vendor/asus/eee_701/BoardConfig.mk:在 BOARD_KERNEL_CMDLINE 加上 vga=788

* vendor/asus/eee_701/init.eee_701.sh:把 netcfg eth0 dhcp 改为 dhcpcd eth0

6. 接着就是建置 image 了,这里是我用的 script,把以下内容存为 build.sh,并放在 mydroid 下:

#!/bin/bash
cp kernel/arch/x86/boot/bzImage vendor/asus/eee_701/kernel
mkdir -p out/target/product/eee_701/data/
cp kernel/arch/x86/boot/bzImage out/target/product/eee_701/kernel

TARGET_ARCH=x86 TARGET_PRODUCT=eee_701 DISABLE_DEXPREOPT=true make -j2 installer_img

执行前别忘了 chmod +x 。

7. 建置完以后,你会在 out/target/product/eee_701 下找到 installer.img。

8. 把 installer.img 转为 VirtualBox/VMWare 可用的 disk image,这边要利用 VirtualBox 的 vboxmanage 来转:vboxmanage convertfromraw -format vdi installer.img installer.vdi,如果你用 VMWare,则是:vboxmanage convertfromraw -format vmdk installer.img installer.vmdk

9. 建置新的 VM,设置为 kernel 2.6,256M 的 RAM,以及一个超过 2G 的硬盘。然后把上个步骤转好的 disk image 加为第二个储存装置。

10. 接下来,我只以 VirtualBox 为例,因为我没试过 VMWare,不过原理一样。将这个 VM 开机,一开机马上按 F12,选择从第二个储存装置开机。一开机,你会看到 grub 的开机选单,赶紧按下任意键,因为这边要修改一下,预设 Loader 的开机磁盘是 hd(0,0),你要按 e 进行修改,把 hd(0,0) 改为 hd(1,0),再按 b 继续开机(如果你不熟 grub,麻烦熟悉,这边我不多说)。开机以后,就会开始进行安装的动作, 会安装到第一个磁盘上去,这个步骤要等一阵子,如果有错误,再重复一次即可,根据我的经验,有时候会因为切割磁盘失败而停止安装,但再从第二个磁盘开机安装一次,通常即可解决。安装完成不会有什么讯息,但看一下画面上讯息,你应该可以知道已经完成,输入 reboot 重新开机。

11. 最后就大功告成啦~接着你可以移除第二个磁盘,因为再也用不到啦~

相关日志

2009年03月16日

MediaTek联发科智能手机平台MT6516为何不支持Android

类归于: Android, MediaTek — 标签:, , , , — admin @ 1:45 下午

(MediaTek)终于公开发布它的SoC芯片,正如之前业界很多人猜测的一样,它选择了支持微软(Microsoft)的Windows Mobile,而没有支持目前如日中天的。笔者去年北展后也写过文章,猜测它会采用WM来打开之门。

不过,笔者仍有较多疑问,比如为什么在这么晚进入智慧手机的情况下,不选择开放的平台,而要选择授权费颇高的WM?他与微软的合作方式怎样,之前有人传微软为的平台专写了精简版的WM,以使它能跑在较低的主频上,占有较少的资源,当然还有更低的收费,不知这些是真是假?在它的官方新闻中,这些细节全都没有提及。

机会来了,前几日财务长兼新闻发言人喻铭铎,以及中国首席代表廖庆丰等一行三人到深圳,专门”召见”了我,我也弄明白了其中的道理。

「我们董事长的想法是要让中国老百姓用到更实惠的功能,微软的WM能给中国广大的用户带来他们需要的更实惠的功能。」喻铭铎这样对我解释道:「WM目前最稳定、最成熟,有几百家公司为他们写应用软件。」

不得不服,目标从来没有动摇过。即使在它如日中天、即使在它占有了中国市场近7成的比例之后。为广大的老百姓服务永远是它的使命。去年,手机芯片出货2.2亿片,中国手机内需大约2.5亿,当然,这2.2亿片的出货量中,借由中国品牌厂商与杂牌厂商出口到亚非拉以及东欧等国的比例也越来越大,已快接近40%,有分析人士这样估算。

微软得到如雪中送炭,因为潜在的巨大出货量对于目前受到阵营不断挑战的微软来说如沐春风;到得微软如锦上添花,当的 feature phone走到2.2亿片出货量的时候,往智慧手机走已是必须之路,而微软的助阵将帮助在智慧手机市场快速起跑,因为它毕竟是目前生态链最完善的 OS。

不过,毕竟跑在ARM9上面,200~400MHz的主频能支援WM6.5吗?「没有问题,我们在实验室已做过很多测试,性能都很流畅。因为我们对芯片架构进行了最佳化,很多功能通过硬核来完成。」据介绍,上可以支持WVGA等级的LCD分辨率、支持H.264解碼标准。这些多媒体功能都是基于硬IP来完成的。

昨天笔者恰巧在上海国际集成电路展(IIC)上遇到了一家韩国IP公司──Chips & Media,他们的H.264和MPEG4解碼IP授给了很多厂商,其中就包括。笔者估计,中的H.264硬核也来自于该韩国公司。

虽然目前铁定支持微软的WM,但是,也没有完全拒绝。喻铭铎表示:「我们也会看,密切关注它的生态链的发展,其上能有多少软件开发商是最重要的。我们认为目前这个市场还是太成熟,我们的下一代芯片也有可能支持,这要看事态的发展,现在还不好说。」

不过,从与他的交流中笔者分析道,下一代芯片一定不会是基于ARM9了,或者是ARM11,或者是A8,还在还未知。

今年下半年可以实现商用和量产。

相关日志

2009年03月10日

Android内部的秘密-系统目录

类归于: Android — 标签:, , , — admin @ 4:54 下午

您应该已经知道, 的核心操作系统是 (现在用的版本是 2.6.25)。因此内部的档案系统,与系统目录等,也和 脱不了关系。要如何观察这些系统目录,到底藏了什么秘密呢?

环境中,你可以用 来观察。不过这个 在我的计算机上的执行速度,实在太慢了。我个人的偏好是,直接用 adb shell 来观察。启动 adb shell 的用法如下:

1. 在 Windows 中,开启一个命令列窗口 (或执行 cmd.exe 这个程序)
2. cd <-sdk-install_path>/tools
3. adb shell

当你看到这个 # 提示字符时,就表示你已经进入仿真器的系统。接下来,你就可以用 上的指令来浏览这些目录。像是 cd, ls, pwd, cat, rm 等等。

这里面,有几个目录是和 相关的,我特地将他整理下来,供你参考。
/system/app

预加载应用程序执行文件 (*.apk),都是放在这。像是 Alarm Clock, Browser, Contacts, Maps,… 等等。

观察的话,目录内的内容,就像下面这样:

Android内部的秘密-系统目录

内部的秘密-系统目录

(全文…)

相关日志

Newer Posts » 

通信行业博客 is proudly powered by WordPress, Entries (RSS) and Comments (RSS), Creative Commons.