S3C6410 移植Android 内核

如对此感兴趣,请拨打电话02l-228l84l9,QQ微信,微博
诚招各地区市场各行业应用推广合作伙伴。查看详细联系方式
欢迎提出产品建议,思路,合作信息,我们计入产品股份,享有对应的分红权。

1.安装linux 环境
安装Ubuntu Linux 系统,从网站上下载操作系统安装光盘映像,地址:
http://mirror.lupaworld.com/ubuntu/releases/8.04/
下载ubuntu-8.04.2-desktop-i386.iso,刻录成光盘安装,安装可以在windows 系统下进行,
选取有15G 空间的硬盘安装,输入用户密码开始安装
 
这一步结束退出光盘重启进入Ubuntu 系统,完成余下系统安装。
Linux 安装完成,进入Ubuntu 系统,确保电脑连接Internet,安装一些必要软件。
打开终端输入命令框,进行下面的操作:
$ sudo apt-get install ssh
$ sudo apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl
$ sudo apt-get install valgrind
$ sudo apt-get install sun-java6-jdk
$ sudo apt-get install libncurses5-dev
所有软件系统会自动从网络下载安装,完成后可以开始Android 的移植。

2.安装编译工具
下载:
$ wget
http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
安装:
$ tar -xjvf arm-2008q1-126-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2

3.下载Linux kernel
从下面地址获得:
http://code.google.com/p/android/downloads/list?can=1&q=&colspec=Filename+Summary+Uploaded+Size+DownloadCount
Kernel : linux-2.6.23-android-m5-rc14.tar.gz
解压文件
$ tar -xf linux-2.6.23-android-m5-rc14.tar.gz

4.安装Android SDK
从网上下载linux 版本的Android SDK,如下
http://dl.google.com/android/android-sdk_m5-rc15_linux-x86.zip
下载后解压,获得android-sdk_m5-rc15_linux-x86 文件

5.获得root file system
⑴下载busybox 工具从下面地址
http://benno.id.au/blog/2007/11/14/android-busybox(linux 环境中下载)
⑵运行emulator 获取root file system
$ cd <目录>/ android-sdk_m5-rc15_linux-x86/tools
$ ./emulator&
等待emulator 启动,看到出现Android 系统画面,进入菜单ALL/Dev Tools/Development Settings 下,将Wait for debugger,Show running processes,Show screen updates 这三项打勾,回到命令输入终端。
$ ./adb push <local-path>/busybox /data
$ ./adb shell
# /data/busybox tar -czf system.tar.gz /system
# /data/busybox tar -czf data.tar.gz /data
# /data/busybox tar -czf etc.tar.gz /etc
# /data/busybox tar -czf sbin.tar.gz /sbin
# exit
$ ./adb pull /system.tar.gz ./
$ ./adb pull /data.tar.gz ./
$ ./adb pull /etc.tar.gz ./
$ ./adb pull /sbin.tar.gz ./
$ ./adb pull /init ./
通过busybox 工具获得了emulator 的文件并打包,下面建立root 文件目录
$ mkdir initial_ram_disk
$ cd initial_ram_disk
$ mkdir cache
$ mkdir d
$ mkdir dev
$ mkdir proc
$ mkdir root
$ mkdir sdcard
$ mkdir sys
$ mkdir tmp
$ mkdir var
$ tar -xf <local-path>/system.tar.gz ./
$ tar -xf <local-path>/data.tar.gz ./
$ tar -xf <local-path>/etc.tar.gz ./
$ tar -xf <local-path>/sbin.tar.gz ./
$ cp <local-path>/init ./
包含Android root 文件系统的initial_ram_disk 做好。

6.修改Linux kernel 源码
下载的kernel 文件是不支持smdk6400 开发板的,必须加入smdk6400 的配置文件到kernel 中,同时修改Kconfig 和Makefile 文件。
修改如下:
1> 选择 /arch/arm/mach-s3c2410/Makefile.boot 改为下面内容,
zreladdr-$(CONFIG_PLAT_S3C24XX) := 0x30008000
params_phys-$(CONFIG_PLAT_S3C24XX) := 0x30000100
zreladdr-$(CONFIG_PLAT_S3C64XX) := 0x50008000
params_phys-$(CONFIG_PLAT_S3C64XX) := 0x50000100

2> 从成熟的smdk6400 平台文件中拷贝下面文件到kernel 目录
/arch/arm/mach-s3c6400
/drivers/serial/s3c6400.c
/drivers/input/touchscreen/s3c-ts.c
/drivers/usb/gadget

3> 拷贝/drivers/android/ashmem.c 文件到相应目录下从另外的android kernel (The Android source code for 2.6.23 不包含此文件)

4> 修改相应的Kconfig 和Makefile 文件,使最终能编译到加载的smdk6400 文件。

7.配置Linux kernel
修改kernel 后进行配置,用到第2 步的编译工具
$ cd <kernel-src>
$ make CROSS_COMPILE=<path-to-compiler>/bin/arm-none-linux-gnueabi- ARCH=arm
menuconfig
这时进入kernel 配置画面,注意配置Initramfs source file 选项指定到initial_ram_disk 文件。

8.修改root file system
配置Touchscreen 使之能正常工作, initial_ram_disk 文件下修改/etc/init.rc,加入下面内容
TSLIB_CONSOLEDEVICE none
TSLIB_FBDEVICE /dev/graphics/fb0
TSLIB_TSDEVICE /dev/input/ts0
TSLIB_CALIBFILE /etc/pointercal
TSLIB_CONFFILE /etc/ts.conf
TSLIB_PLUGINDIR /lib/ts

9. 编译Linux kernel
$ make CROSS_COMPILE=<path-to-compiler>/bin/arm-none-linux-gnueabi- ARCH=arm
zImage
编译成功,在arch/arm/boot 下面是生成的zImage 文件。

10.下载kernel image
进入Windows 系统,下载过程在Windows 系统中完成。
① 打开:程序附件通讯超级终端,配置COM 口,115200,8N1
 
② 连接smdk6400 开发板和电脑通过串口线,打开开发板电源,可以在超级终端中看到输出信息,bootloader 启动,按空格键进入命令输入状态
 
③ 板子上连接USB 线到电脑,安装USB 驱动程序
④ 运行dnw.exe 程序,配置Configuration/Options,地址0x57e00000,确定
 
⑤ 在超级终端中输入相应命令,开始下载
$ run bootup (下载bootloader)
$ run kernelup (下载kernel Image)
$ run rootup (下载root file system)
⑥ 这里我们输入
$ run kernelup
    等待dnw 发送文件,dnw 显示[COM1,115200bps][USB:OK][ADDR:0x57e00000]说明连接成功,选择USB Port->Transmit,选取编译成功的zImage 文件,开始下载。
    下载完成,重启开发板,等待,LCD 上出现一些Android 字符,一段时间白屏,出现一个左右滚动的红色滚动条,进入主界面,Android 移植成功。

您现在的位置: 上海速嵌 >> 技术库 >> 正文

分享到:

  相 关 技 术

固顶技术qPad一站式高效办公
固顶技术电机控制应用于医疗化工电子设备器械工业机器人自动化作业系统
固顶技术嵌入式软硬件设计服务
固顶技术声音图像语音视频通信系统
固顶技术工业传感器64路数据采集和监控
固顶技术高精度16路传感器数据采集和处理
固顶技术GPS导航定位监控行业应用方案 LBS (Location Based Service)
固顶技术Samsung S3C2440/S3C6410/S5PV210 工业产品级主板和解决方案
固顶技术GIS系统Mapinfo格式嵌入式GPS导航应用
普通技术机械臂定制
普通技术非标机械臂
普通技术机械手定制
普通技术机械臂开发
普通技术机械臂设计
普通技术机械臂
普通技术双赢双屏
普通技术众筹开发
普通技术可穿戴解决方案
普通技术imx6som卡片式计算机评估板
普通技术imx6单板工控主板火星板
普通技术imx6单板工控主板
普通技术硬件定制
普通技术远程现场呈现替身机器人
普通技术智能脉搏手表
普通技术悠牌电脑桌
普通技术OMAP4460 Pandaboard
普通技术Exynos4412评估板
普通技术iMX6SOM评估板
普通技术OMAP4460评估板
普通技术OMAP5432评估板
普通技术MK802 Linux系统
普通技术多频段RFID 3G平板
普通技术超远距离RFID终端
普通技术智能打印POS机
普通技术工业级WM智能手机
普通技术工业级Android手机
普通技术身份证识别工业平板
普通技术工业级3G平板电脑
普通技术工业安卓手持终端
普通技术GPU性能比较
普通技术Raspberry Pi 树莓派
普通技术linux qt软件开发
普通技术手机开发制造的全流程
普通技术移动嵌入式数据库市场与技术
普通技术Linux嵌入式文件系统横向对比分析
普通技术小票打印机
普通技术移动支付刷卡对比
普通技术刷卡魔块
普通技术微型UPC电脑
普通技术安防套装
普通技术USB摄像头
普通技术在线购买
普通技术技术参数
普通技术安装使用
普通技术工厂案例
普通技术公司案例
普通技术超市案例
普通技术增值功能
普通技术视频监控
普通技术在线订购
普通技术增值功能
普通技术功能介绍
普通技术最值得关注的主要嵌入式产品市场
普通技术意法半导体推出内置9轴MEMS传感器的STM32 F3开发套件
普通技术安卓Android工业平板电脑工业显示器
普通技术阳光下可视高亮度大尺寸LED显示屏
普通技术TTL转LVDS转换模块
普通技术嵌入式系统开发
普通技术3D打印机
普通技术vTigerCRM简介
普通技术功能框图
普通技术CRM作用价值
普通技术CRM与企业挑战
普通技术CRM与企业决策
普通技术CRM基础理论
普通技术国内3D打印产业与市场现状
普通技术无线医疗的机遇与挑战
普通技术EMI 来自哪里?EMI 如何通过介质干扰电路
普通技术硬件隔离保护设计 接口i2c rs232串口 485 can
普通技术Android平板电脑控制串口设备
普通技术摄像头汽车防碰撞系统
普通技术大运航海
普通技术系统说明
普通技术基于嵌入式S3C2440的船舶导航系统设计
普通技术智能家居
普通技术微虎CRM
普通技术ADI全系列仿真器ADZS-USB-ICE
普通技术九维航姿微系统电子罗盘电子陀螺仪
普通技术电子货架标签
普通技术ADDA-PWM板
普通技术网络音频板
普通技术电子产品制造服务
普通技术网络摄像头模块方案
普通技术警用警务警帽录像系统
普通技术S3C2416手持机
普通技术S3C6410手持机型
普通技术船舶船载电子海图系统和自动识别系统
普通技术HMI技术在工业控制领域的广泛应用
普通技术嵌入式组态软件和标准版组态软件的区别
普通技术光伏正弦波逆变电源
普通技术汽车电脑车载电脑汽车中控
普通技术健康监护系统
普通技术音频视频无线传输模块
普通技术广告机-支持无线网络
普通技术人体防摔安全气囊
普通技术iPhone 4拆解分析
普通技术Stellaris(群星)系列 ARM
普通技术嵌入式开发流程详解
普通技术系统移植和集成
普通技术嵌入式设备驱动程序开发
普通技术板级支持包(BSPs) 开发
普通技术电路原理图设计开发
普通技术PCB设计布线Layout
普通技术OMAP-L138 开发板
普通技术互动式手写电子白板
普通技术魔杖遥控器
普通技术便携式车载逆变器
普通技术电子血压计方案
普通技术IC智能卡刷卡机
普通技术汽车定位/调度/刷卡交费终端
普通技术汽车检测仪
普通技术微型潜水电脑
普通技术压力检测系统
普通技术网络音频终端
普通技术HMI人机界面定制开发
普通技术全球MEMS应用及其市场状况
普通技术EMC设计
普通技术ARM嵌入式数控系统
普通技术基于MSP430内嵌温度传感器的温度告警系统
普通技术语音通信系统中的噪声产生和影响
普通技术MP3算法实现
普通技术ITU G.729(CS-ACELP共扼结构-代数码激励线性预测)语音算法
普通技术ITU G.729(CS-ACELP共扼结构-代数码激励线性预测)语音算法
普通技术ITU G.723.1(ACELP代数码激励线性预测)语音算法
普通技术EVRC(Enhanced Variable Rate Codec)增强型多速率语音算法
普通技术语音通信系统中的回声产生和影响
普通技术语音通信系统中的回声产生和影响
普通技术AMR Wideband(Adaptive Multi Rate)宽带自适应多速率语音算法
普通技术AMR(Adaptive Multi Rate)自适应多速率语音算法
普通技术专业的音频视频算法处理
普通技术AAC(Advanced Audio Coding)
普通技术土壤水温监测系统
普通技术公司新闻
普通技术压力控制系统
普通技术中央空调控制系统
普通技术有关传感器与数据采集卡
普通技术S3C6410开发平台
普通技术S3C6410 移植Android 内核
普通技术S5PC110开发板
普通技术条形码识别软件
普通技术嵌入式系统硬件基础
普通技术各种认证,设计制造须知
普通技术Wiegand协议
普通技术使用PWM调光
普通技术TI DM6467 1080 高清编解码
普通技术电子设备产品机箱外壳设计
普通技术有源噪声消除 (ANC)
普通技术数字音频广播
普通技术汽车仪表板
普通技术汽车门禁系统
普通技术汽车车身控制器
普通技术车用信息娱乐
普通技术车用视觉控制
普通技术便携产品个性设计启示
普通技术投影仪、高清和低功耗 -- 多元化的手机设计
普通技术胎压计方案
普通技术G.723.1编解码算法的DSP实现
普通技术G.729A语音编码实时实现在TMS320VC5416 DSP上
普通技术GPRS数据传输终端
普通技术音频编解码标准汇总
普通技术语音识别技术简述
普通技术Iridix VEE
普通技术如何让便携式多媒体系统实现高质量音频
普通技术新AMR WB+音频/语音编解码器将在SoCIP2008展示
普通技术精心打造音视频领域的中国芯
普通技术PureSpeech蓝牙音频增强技术
普通技术语音识别应用中DSP
普通技术VoIP综合应用技术概述
普通技术VoIP中语音压缩编码技术的研究与性能分析
普通技术EVRC and G.729AB Transcoding
普通技术怎样选择嵌入式媒体处理器
普通技术TI达芬奇技术再战视频转码市场
普通技术土豆网紧跟Adobe步伐第一时间推出"清晰版"
普通技术VoIP电话发展简史
普通技术H.264简介
普通技术Internet语音通信中的回声消除技术