将Android移植到FS2410开发板上

优龙 FS2410开发板原理图 版本V6.0 优龙 FS2410开发板原理图 版本V6.0,主要为fs2410原理图,内容完整,适合参考学习。 立即下载

将Android移植到FS2410开发板上

                              转载请注明源自嵌入式学习网-王安

                         http://embstudy.org/home/space.php?uid=5&do=blog&id=46

一、目前进展

1.Android已经可以通过NFS在FS2410开发板上运行

二、目前缺陷

1.触摸屏没有校准

2.Android中时钟停止,结束zygote进程,系统重启,时钟更新,但再次停止不动

3.串口无法与GPRS模块通讯

三、移植步骤

一、移植Android内核到FS2410开发板上

1、从http://code.google.com/p/android/downloads/list上下载linux-2.6.25-android-1.0_r1.tar.gz

2、将内核解压到用户目录,如/home/wangan/kernel.git

3、进入kernel.git文件夹,如cd ~/kernel.git/

4、修改arch/arm/plat-s3c24xx/common-smdk.c文件中的nand flash分区设置,如gedit arch/arm/plat-s3c24xx/common-smdk.c

修改static struct mtd_partition smdk_default_nand_part[]结构体为:

static struct mtd_partition smdk_default_nand_part[] = {

       [0] = {

              .name      = "Boot Agent",

              .size = SZ_256K,

              .offset     = 0,

       },

       [1] = {

              .name      = "Linux Kernel",

              .offset = SZ_256K,

              .size = SZ_2M - SZ_256K,

       },

       [2] = {

              .name      = "File System",

              .offset = SZ_2M,

              .size = SZ_32M - SZ_2M,

       },

       [3] = {

              .name      = "Other",

              .offset     = SZ_32M,

              .size = SZ_32M,

       }

};

5、在http://www.codesourcery.com/gnu_toolchains/arm/portal/release644网站上下载IA32 GNU/Linux TAR。

6、将文件解压到用户目录,如/home/wangan/arm-2008q3

7、进入arm-2008q3/bin文件夹,如cd ~/arm-2008q3/bin/

8、添加当前路径进入环境变量,如export PATH=$PWD:$PATH,或修改~/.bashrc文件并重新登录

9、进入内核文件夹,如cd ~/kernel.git/

10、修改Makefile文件,如gedit Makefile

更改ARCH和CROSS_COMPILE

#ARCH          ?= $(SUBARCH)

ARCH            ?= arm

#CROSS_COMPILE      ?= arm-eabi-

CROSS_COMPILE       ?= arm-none-eabi-

11、从华清远见Linux-2.6.8.1内核压缩包中提取.config文件(注意:config前面有个“.”)放入kernel.git文件夹

12、运行make menuconfig

(1) 确保System Type  ---> ARM system type ()中的内容为Samsung S3C2410, S3C2412, S3C2413, S3C2440, S3C2442, S3C2443

(2) 确保System Type  ---> S3C2410 Machines  ---> [*] SMDK2410/A9M2410被勾选

(3) 取消选择与Goldfish相关的内容

Device Drivers  ---> Character devices  ---> < > Goldfish TTY Driver

Device Drivers  ---> Power supply class support  ---> < >   Goldfish battery driver (NEW)

Device Drivers  ---> Real Time Clock  ---> < >   GOLDFISH (NEW)

Device Drivers  ---> Graphics support  ---> Support for frame buffer devices  ---> < >   Goldfish Framebuffer

(4) 选择S3C2410 LCD相关的内容

Device Drivers  ---> Graphics support  ---> Support for frame buffer devices  ---> <*>   S3C2410 LCD framebuffer support

Device Drivers  ---> Graphics support  ---> [*] Bootup logo  ---> [*]   Standard black and white Linux logo

Device Drivers  ---> Graphics support  ---> [*] Bootup logo  ---> [*]   Standard 16-color Linux logo

Device Drivers  ---> Graphics support  ---> [*] Bootup logo  ---> [*]   Standard 224-color Linux logo

(5) 选中Android内核必须选项

Kernel Features  ---> [*] Use the ARM EABI to compile the kernel

General setup  ---> [*] Use full shmem filesystem

General setup  ---> [*] Enable Android's Shared Memory Subsystem

System Type  ---> [*] Support Thumb user binaries

Device Drivers  ---> Android  ---> [*] Android log driver

Device Drivers  ---> Android  ---> <*> Binder IPC Driver

(6) 尽量选中Android内核可选选项

Device Drivers  ---> Android  ---> [*] RAM buffer console

Device Drivers  ---> Android  ---> [*] Android timed gpio driver

Device Drivers  ---> Android  ---> [*] Only allow certain groups to create sockets

(7) 其余CONFIG选项,如系统支持请一并选择

CONFIG_ANDROID_POWER =y

CONFIG_ANDROID_POWER_STAT =y

CONFIG_ANDROID_POWER_ALARM =y

(可以在Kconfig文件中查找ANDROID_POWER等字段进行选择,或者直接修改.config文件)

13、退出并保存.config

 

二、移植LCD驱动到Linux-2.6.25内核

1、 进入kernel.git文件夹,如cd ~/kernel.git/

2、 修改arch/arm/mach-s3c2410/mach-smdk2410.c文件,如gedit arch/arm/mach-s3c2410/mach-smdk2410.c

(1) 增加头文件#include <asm/arch/fb.h>

(2) 增加两给结构体

static struct s3c2410fb_display smdk2410_lcd_cfg __initdata = {

.lcdcon5 = S3C2410_LCDCON5_FRM565 |

S3C2410_LCDCON5_INVVLINE |

S3C2410_LCDCON5_INVVFRAME |

S3C2410_LCDCON5_PWREN |

S3C2410_LCDCON5_HWSWP,

.type = S3C2410_LCDCON1_TFT,

.width = 320,

.height = 240,

.pixclock = 174757,

.xres = 320,

.yres = 240,

.bpp = 16,

.left_margin = 16,

.right_margin = 59,

.hsync_len = 9,

.upper_margin = 2,

.lower_margin = 6,

.vsync_len = 16,

};

 

static struct s3c2410fb_mach_info smdk2410_fb_info __initdata = {

.displays = &smdk2410_lcd_cfg,

.num_displays = 1,

.default_display = 0,

 

 

.gpccon = 0xaa955699,

.gpccon_mask = 0xffc003cc,

.gpcup = 0x0000ffff,

.gpcup_mask = 0xffffffff,

.gpdcon = 0xaa95aaa1,

.gpdcon_mask = 0xffc0fff0,

.gpdup = 0x0000faff,

.gpdup_mask = 0xffffffff,

 

.lpcsel = 0xf82,

};

(3) 在smdk2410_init()函数中增加s3c24xx_fb_set_platdata(&smdk2410_fb_info);

 

三、移植触摸屏驱动到Linux-2.6.25内核(参见《基于linux-2.26.5内核的FS2410开发板触摸屏驱动移植》)并制作zImage文件,如make

       这里提一下,确保已经勾选Device Drivers  ---> Input device support  ---> <*>   Event interface,本人曾经在这里徘徊,感谢游老师悉心教诲!

 

四、制作支持ARMv4的Android根文件系统

1、从http://www.rayfile.com/files/d4660882-de04-11dd-af0d-0014221b798a/下载Android的ARMv4版本根文件

2、在/dev下增加null和console两个设备节点

mknod -m 660 null c 1 3

mknod -m 660 console c 5 1

3、在U-boot中修改启动参数init为/init,完整的命令行如:root=nfs nfsroot=169.254.7.118:/source/rootfs ip=169.254.7.119 console=ttySAC0,115200 init=/init

4、修改/init.rc文件,去除除mount tmpfs tmpfs /sqlite_stmt_journals size=4m之外的所有mount命令

 

系统制作完成,现在应该可以看到漂亮的大表了。首次启动需要创建文件,大约17分钟。然后每次启动只需要2分钟。

基于ARM2440平台的Android操作系统的移植 想移植可以参考看看,主要是关于mini2440开发板的移植 立即下载

相关推荐

fs2410开发板原理图.rar

fs2410开发板的电路原理图(包括 OrCAD 格式和 PDF 格式),元器件的 PCB封装库

fs2410开发板搭建网站服务器,FS2410开发板使用步骤

FS2410开发板使用步骤FS2410开发板使用步骤FS2410套件包括:1.一块已测试好的FS2410开发板(包括FS2410核心板和设备板)2.LCD板一块,包含三星/sharp 3.5寸256K色 TFT 真彩屏加驱动电路3.一个SuperJtag调试头(带20芯排线),该调试头可用来烧写2410的boot程序4.一条并口线(一边是公头一边是母头,一对一)5.一条串口线(两边都是母头,直连串...

weixin_30068877的博客 850

RAG在医药行业为什么80%都翻车了?

这篇文章不是要劝你别做RAG,而是把坑说清楚。医药行业有它的特殊性——监管压力、专业术语密度、多语言混排、文档结构复杂——这些因素叠加在一起,让标准RAG教程里的那套方法论几乎直接失效

qq_31808385的博客 635

【鸿蒙】标准系统移植指南

本文以移植名为 MyProduct 的开发板为例讲解移植过程,假定 MyProduct 是 MyProductVendor 公司的开发板,使用 MySoCVendor 公司生产的 MySOC 芯片作为处理器。在 //vendor/MyProductVendor/{product_name} 名称的目录下创建一个 config.json 文件,该文件用于描述产品所使用的 SOC 以及所需的子系统。配置如下:},...​主要的配置内容。

2401_82772199的博客 2915

升降机SEW MOVIDRIVE变频器设置

选择PO1 第2,3,9,13 位,点击“SendPA”Start reference,编码器反馈值为0(PI2/3 Actual position=0)提示:传送参考位置前请断开变频器安全24V电源,否则会弹出禁止修改提示框;提示:做这一步时,如果出现电机不能转动,或产生报警不能通过编码器匹配。下载配置的参数,提示:下载参数需要断开变频器的安全24V电源。编码器匹配通过后点击下一步,进入下图画面传送参考位置。1电机不能转动:a可能是由于变频器的安全24V未给。点击2.SEW总线扩展定位,定位块设置。

xdpcxq的专栏 5394

WIN10环境下STK11.5(含Analyzer, EOIR, Scheduler插件)的安装与破解全攻略

本文提供了一份详细的WIN10环境下STK11.5软件及其核心插件(Analyzer, EOIR, Scheduler)的安装与破解全攻略。内容涵盖从安装包准备、系统环境检查,到基础版安装、插件部署、破解文件替换及许可证配置的完整步骤,并附有常见问题排错指南,旨在帮助用户免费搭建功能齐全的卫星仿真分析环境。

solidity8miner的博客 755

android移植到开发板,怎样将Android移植到FS2410开发板上

一、目前进展1.Android已经可以通过NFS在FS2410开发板上运行二、目前缺陷1.触摸屏没有校准2.Android中时钟停止,结束zygote进程,系统重启,时钟更新,但再次停止不动3.串口无法与GPRS模块通讯三、移植步骤一、移植Android内核到FS2410开发板上1、下载linux-2.6.25-android-1.0_r1。tar。gz2、将内核解压到用户目录,如/home/wa...

weixin_31408789的博客 644

手把手教你用STM32实现三相永磁同步电机FOC控制(附代码)

本文详细介绍了基于STM32的三相永磁同步电机(PMSM)FOC控制实现方法,涵盖硬件设计、软件架构、参数调试及完整代码解析。通过磁场定向控制(FOC)算法,实现高效精准的电机控制,适用于工业自动化、电动汽车等领域。文章还提供了硬件选型建议、电流采样方案对比及PID参数整定技巧,助力开发者快速掌握FOC控制技术。

weixin_29168675的博客 94

移植android 到定制开发板

From http://android.tgbus.com/Android/androidnews/200902/177292.shtml 移植Android的kernel到实际的硬件平台上,很多人很早就做过这件事了,不过相关的文档和经验总结不多,我就写一个吧,也为了自己记录一下大致的流程,以后好继续。  1   Android内核Porting相关背景知识  1.1   运行平台

ruixj的专栏 5993

香橙派5上跑DeepSeek-R1的避坑指南:从模型下载到NPU加速全流程解析

本文详细解析了在香橙派5(RK3588)上部署DeepSeek-R1蒸馏模型的完整流程与优化技巧。内容涵盖从系统配置、RKLLM工具链编译、模型转换到NPU加速调优的全过程,重点分享了如何利用RK3588的NPU算力实现高效推理,并提供了常见问题的解决方案,为边缘设备部署LLM提供了实用指南。

CAT789的专栏 717

【异常】OpenClaw调用火山引擎大模型提示词 Agent failed before reply: All models failed (6): volcengine/kimi-k2-5-26

摘要: 本文针对OpenClaw调用火山引擎大模型服务时触发的全量熔断报错(All models failed)提供全链路排查方案。报错核心为服务熔断(cooldown)和模型不可用(model_not_found),主要源于账号权限、API凭证失效或模型标识错误。解决方案按优先级分步实施:1)校验账号状态与AK/SK有效性;2)核对官方模型标识;3)重启服务解除熔断;4)修复配置文件;5)通过原生API测试定位网络或服务端问题。日志分析(openclaw logs)可快速识别HTTP状态码(如401/40

奶爸的编程之路,也就一周冷个三天 837

PART2 将Android移植到FS2410开发板 (转)

一、目前进展1.Android已经可以通过NFS在FS2410开发板上运行二、目前缺陷1.触摸屏没有校准2.Android中时钟停止,结束zygote进程,系统重启,时钟更新,但再次停止不动3.串口无法与GPRS模块通讯三、移植步骤一、移植Android内核到FS2410开发板上1、从http://code.google.com/p/android/download

timequark的专栏 560

【PCIe EP 设备入门学习专栏 -- 8 PCIe EP 架构详细介绍】

Synopsys PCIe 5.0 EP 架构由多个功能模块组成,整体遵循分层 + 模块化设计CXPL(事务层 + 链路层 + 物理层 MAC)XADM(仲裁/生成)、XAIM(应用接口)RADM(过滤/路由/Completion)CDM(配置空间)、PMC(电源管理)、LBC/DBI(寄存器访问)MSG_GEN(消息)、CXS(多芯片一致性)

CodingCos的博客 381

s3c2410/2440(armv4t) 移植android

http://blog.youkuaiyun.com/java211/archive/2009/02/02/3857586.aspx   【本教程版权以及image属于Androidin 转载和使用请注明出处并附带链接】 Androidin首发 Androidin Dev.Team 熊猫哥哥 ARMv4移植简单教程:     相信国内很多朋友手上都有s3c2410/2440的片子,基于armv4t...

seaofforest的专栏 153

芯片工程师-必须掌握的linux操作-第一讲

一个从材料专业,转行芯片验证初级工程师,自己也是从0基础开始学习入门,更知道0基础的人应该怎么去学习。 现在工作三个多月了,特地花时间给大家写这篇文章。希望能关注、支持下。 为什么芯片验证工程师必须要学习linux命令? 答: ① 芯片工程师主要的职责,就是与IC设计工程师和系统工程师密切合作,开发验证平台,能够根据项目要求产生测试计划,产生代码及功能覆盖率,撰写验证报告。 ②简单点说,主要工作内容,是编写代码去验证设计的对不对。 那么问题来了,编写代码,在什么环境呢,我现在告诉你,都是在linux系统中进

小白蒋-材料转行芯片验证 4839

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

2440 android,s3c2440 android 移植

ARMv4移植简单教程:相信国内很多朋友手上都有s3c2410/2440的片子,基于armv4t(arm920t)的指令架构。在之前,因为android的一些底层代码含有armv5t的指令,所以以前无法移植到这样的平台。在这里也放出移植教程和已经编译好的image。让更多的朋友可以在自己的开发板上亲身体验android。教程基于勤研qt2410以及扬创utu2440完成。注意,移植是到armv4而...

weixin_39703551的博客 288

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

s3c2410/2440(armv4t) 移植教程

Androidin首发Androidin Dev.Team 熊猫哥哥ARMv4移植简单教程:    相信国内很多朋友手上都有s3c2410/2440的片子,基于armv4t(arm920t)的指令架构。在之前,因为android的一些底层代码含有armv5t的指令, 所以以前无法移植到这样的平台。 在这里也放出移植教程和已经编译好的image。 让更多的朋友可以在自己的开发

opendroid的专栏 5110

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Android ril移植-6410开发板SIM300模块

原文地址::http://blog.youkuaiyun.com/mr_raptor/article/details/6598891 ++++++++++++++++++++++++++++++++++++++++++ 本文系本站原创,欢迎转载! 转载请注明出处: http://blog.youkuaiyun.com/mr_raptor/article/details/6598891

xqhrs232的专栏 853

基于linux-2.6.35的网络视频服务器移植

作者:曹忠明,华清远见嵌入式学院讲师。一、环境主机环境 :ubuntu 10.10        目标机 :FS2410(S3C2410)        主机工具链 :gcc-4.4.5        交叉工具链 :arm-none-linux-gnueabi-gcc-4.3.2        摄像头 :ZC301二、移植过程1、配置内核是内核支持芯片为ZC301的

farsightliuht的专栏 822
上一篇: s3c2410/2440(armv4t) 移植android
下一篇: 请不要做浮躁的嵌入式工程师!
Linux先生
博客等级 码龄20年 97粉丝 43原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值