三星S3C6410(ARM1176)平台Android资源获取与编译

全面的ARM1176JZ-F技术参考与应用指南 ARM架构自1985年由英国公司ARM Holdings设计推出以来,经历了从简单的32位微处理器到如今多种应用场合所用的高性能处理器的演变。它以低功耗、高效率而著称,成为了嵌入式系统和移动设备领域的标准。虚拟内存管理是现代操作系统中的一项关键技术,它提供了一种将主内存和其他存储资源抽象为一个连续可寻址的存储空间的技术,以便应用程序能够在没有足够物理内存的情况下运行。MMU(内存管理单元)是实现虚拟内存管理的核心硬件组件,它通过与CPU协作,执行虚拟地址到物理地址的映射,从而有效地管理内存资源。 阅读详情

1. Android的一些有用的官方网站:
http://android.git.kernel.org   android源码网站
http://source.android.com      
http://code.google.com/android 
http://developer.android.com

2. 安装git源码管理工具

 # cd ~
 # mkdir bin
 # echo $PATH
 # curl http://android.git.kernel.org/repo > ~/bin/repo
 # chmod a+x ~/bin/repo
 
 git下载源码方法:
 下载一个tree(至当前路径):
 # git clone git://git路径  (git路径参看网站发布tree路径)
 下载整个platform至当前路径:
 # repo init -u git://git路径/platform/manifest.git
 # repo sync

3. 获得Android平台源码(具体可参看http://android.git.kernel.org):
 # mkdir myandroid
 # cd myandroid
 # repo init -u http://android.git.kernel.org/platform/manifest.git
 # repo sync
 
 按默认设置完成即可


4. 获得S3C6410平台Android底层Linux内核源码

参考网站:http://github.com/leemgs/samsung-s3c6410-android.1.0/tree/master
参考主页:http://code.google.com/p/android-group-korea/
中文社区参考:http://www.android.cc/dev/,    http://www.china-android.org
 # git clone git://github.com/leemgs/samsung-s3c6410-android.1.0.git

5. 获得并安装Android编译工具(Toolchain)
 # wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.12.tar.gz
 # ./configure --prefix=/usr/local
 # make
 # make install
 # vi /etc/ld.so.conf
  include ld.so.conf.d/*.conf
  /usr/local/lib
 # ldconfig

 # cd /opt
 # wget http://www.kandroid.org/devtools/kandroid-1.1.2.1-20080530.glibc.tgz
 # tar xvzf kandroid-arm-toolchain-20080530.tgz
 # cd ./kandroid-arm-toolchain-20080522/bin
 # ls
               arm-android-linux-gnueabi-addr2line  arm-android-linux-gnueabi-gprof
               arm-android-linux-gnueabi-ar         arm-android-linux-gnueabi-jcf-dump
               arm-android-linux-gnueabi-as         arm-android-linux-gnueabi-jv-scan
               arm-android-linux-gnueabi-c++        arm-android-linux-gnueabi-ld
               arm-android-linux-gnueabi-c++filt    arm-android-linux-gnueabi-nm
               arm-android-linux-gnueabi-cc         arm-android-linux-gnueabi-objcopy
               arm-android-linux-gnueabi-cpp        arm-android-linux-gnueabi-objdump
               arm-android-linux-gnueabi-g++        arm-android-linux-gnueabi-populate
               arm-android-linux-gnueabi-gcc        arm-android-linux-gnueabi-ranlib
               arm-android-linux-gnueabi-gcc-4.2.3  arm-android-linux-gnueabi-readelf
               arm-android-linux-gnueabi-gccbug     arm-android-linux-gnueabi-run
               arm-android-linux-gnueabi-gcj        arm-android-linux-gnueabi-size
               arm-android-linux-gnueabi-gcjh       arm-android-linux-gnueabi-sstrip
               arm-android-linux-gnueabi-gcov       arm-android-linux-gnueabi-strings
               arm-android-linux-gnueabi-gdb        arm-android-linux-gnueabi-strip
               arm-android-linux-gnueabi-gjnih

 #
 # ./arm-android-linux-gnueabi-gcc -v
---------------------------------------------------------------------------------------------------------------
Using built-in specs.
Target: arm-android-linux-gnueabi
Configured with: /opt/androidtoolchain110/bin/targets/src/gcc-4.2.3/configure --build=i686-pc-linux-gnu --target=arm-android-linux-gnueabi --host=i686-pc-linux-gnu --prefix=/root/x-tools/arm-android-linux-gnueabi --with-sysroot=/root/x-tools/arm-android-linux-gnueabi/arm-android-linux-gnueabi/sys-root --enable-languages=c,c++,java --with-arch=armv6j --with-cpu=arm1136jf-s --with-tune=arm1136jf-s --with-float=soft --enable-__cxa_atexit --disable-multilib --with-gmp=/root/x-tools/arm-android-linux-gnueabi --with-mpfr=/root/x-tools/arm-android-linux-gnueabi --with-local-prefix=/root/x-tools/arm-android-linux-gnueabi/arm-android-linux-gnueabi/sys-root --disable-nls --enable-threads=posix --enable-symvers=gnu --enable-c99 --enable-long-long --with-bugurl=http://www.kandroid.org --with-pkgversion=kandroid-invain-arm_v6_nfp_le-ver.1.1.2.1
Thread model: posix
gcc version 4.2.3
----------------------------------------------------------------------------------------------------------
 # vi autotoolpath.sh
#!/bin/bash
export PATH=/opt/kandroid-1.1.2.1-20080530.glibc/bin:$PATH

6. Android编译
 1) 至sun网站下载JDK1.5(jdk-1_5_0_21-linux-i586-rpm.bin)
   # ./jdk-1_5_0_21-linux-i586-rpm.bin
   解压成:jdk-1_5_0_21-linux-i586-rpm.rpm
 
 2) 安装JDK 1.5
   # rpm -ivh jdk-1_5_0_21-linux-i586-rpm.rpm
 
 3) 下载gperf-3.0.4.tar.gz, 然后安装
    ./configure
    make
    make install

 4) 在/etc/profile末尾添加
JAVA_HOME=/usr/java/jdk1.5.0_21
export ANDROID_JAVA_HOME=$JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CLASSPATH=.:$JAVA_HOEM/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH

 5) 编译Android
 在Android目录执行make.
 # make
 
 6) 编译Android SDK
 # ./build/envsetup.sh
 # ./make sdk
 如果出现JAVA链接问题,执行:
 # JAVA_HOME=/usr/java/jdk1.5.0_21
 # export ANDROID_JAVA_HOME=$JAVA_HOME

7. S3C6410 Linux内核编译
 # cd samsung-s3c6410-linux
 # cp ./arch/arm/configs/smdk6410mtd.android_defconfig .config
 # make menuconfig
 # make

自己升级导航的过程 自己升级导航的过程买车的时候就买了车载导航,是科骏达K6087,一直想着自己如何升级地图,开始的时候是凯立德地图,版本就是J07的(版本号的最后三个字母),去年5月份升级了一次,换成了道道通的地图花了150元。花钱升级地图总有些不甘心,上查了好多帖子,做足了功课后终于决定自己买个卡(买卡的目的是怕把原来的地图弄坏了),自己升级导航。 立即下载

相关推荐

mac mini a1176固件升级,1.1升级2.1固件版本,以支持4gb内存条

国内全网独家,禁止转载。升级mac mini1176支持固件1.1至2.1. 以升级4gb内存条

关于wince6.0 升级全年包的注意事项(作者:gooogleman)

作者:gooogleman            Email:gooogleman@foxmail.com         最近在S5pv210 wince6.0 系统定制上更新了几个包,发现了一些微软更新补丁包的问题,现在把问题放在博客上,希望大家看到留个心眼——微软的更新包不是真的就是改进的,有些还会带入bug 呢。         首先第一个就是微软的2010年全年包,这个全年包如果安装

gooogleman#foxmail.com 3万+

Arm1176jzfs (ARM11 芯片文档)

Arm1176jzfs (ARM11 芯片文档) 相关博客 : http://blog.youkuaiyun.com/shulianghan/article/details/42408137

处理器架构 (十四) arm1176 微架构下 各芯片的不同

arm1176 微架构 下 有 这些芯片 三星 S3C6410/S5L8900 MTK MT6573 高通 MSM7225/7227 博通 BCM2727

u011011827的博客 1646

mtk3353导航仪升级包-2015版本

mtk3353导航仪,2012版本升级为2015版本,此升级包主要 放在sd卡上运行主文件即可升级.比如别克凯越上加装的导航等等上用.

ARM1176JZF-S内核技术手册

ARM1176JZF-S内核技术手册即《ARM1176JZF-S Technical Reference Manual》

redhat编译android源码,[RedHat AS5]三星S3C6410(ARM1176)平台Android资源获取与编译

1.Android的一些有用的官方网站:http://android.git.kernel.org android源码网站http://source.android.comhttp://code.google.com/androidhttp://developer.android.com2.安装git源码管理工具# cd ~# mkdir bin# echo $PATH# curl http:...

weixin_31608241的博客 220

ARM 11技术手册(ARM1176JZF-S)

ARM11 76JZF-S内核技术文档 适合学习ARM 11内核的人

redhat编译android源码,三星S3C6410(ARM1176)平台Android资源获取与编译(RedHat AS5)

1. Android的一些有用的官方网站:http://android.git.kernel.org android源码网站http://source.android.comhttp://code.google.com/androidhttp://developer.android.com2. 安装git源码管理工具# cd ~# mkdir bin# echo $PATH# curl htt...

weixin_42317730的博客 223

android_kernel_samsung_exynos7870

android_kernel_samsung_exynos7870

别自己写CDC了!聊聊Xilinx AXI4-Stream Clock Converter IP里的寄存器管道模式到底有多省资源

本文探讨了Xilinx AXI4-Stream Clock Converter IP核的寄存器管道模式在FPGA设计中的高效资源利用。通过对比手工CDC实现,详细解析了IP核的精简化同步架构和时序收敛优势,并提供了实战案例和优化策略,帮助工程师快速实现时钟域转换,显著提升设计效率和性能。

weixin_33738555的博客 441

三星S3C6410(ARM1176)平台Android资源获取与编译(RedHat AS5)

1. Android的一些有用的官方网站:http://android.git.kernel.org   android源码网站http://source.android.com       http://code.google.com/android  http://developer.android.com2. 安装git源码管理工具 # cd ~ # mkdir bin # echo

不以己悲的博客 3106

OpenRA引擎实战:如何从零开始搭建一个经典RTS游戏模组(附资源包)

本文详细介绍了如何利用开源游戏引擎OpenRA从零开始搭建经典RTS游戏模组。内容涵盖开发环境配置、资源管线处理、YAML规则定义、地图编辑与Lua脚本编写等全流程实战指南,并提供了资源包,帮助开发者和爱好者快速创建属于自己的即时战略游戏世界。

silver的专栏 902

基于I2C的嵌入式多点触摸屏幕驱动设计

基于I2C的嵌入式多点触摸屏幕驱动设计      摘要:采用了三星公司的S3C6410X处理器,通过嵌入式Linux的驱动管理系统实现了对Cypress 7958、Snaptics TM1444等基于I2C总线协议的多点触摸屏幕的驱动设计。实践证明,在基于Linux核心的Qtopia平台以及Andriod嵌入式操作系统上运行流畅,识别度与准确度很高。   引言   随着嵌

xiyu_1986的专栏 865

从QEvent到系统响应:EC如何成为硬件事件的隐形信使

本文深入解析嵌入式控制器(EC)如何作为硬件事件的隐形信使,通过QEvent机制将按键、合盖等物理事件转换为SCI信号,并经由ACPI架构触发操作系统响应。EC与BIOS紧密协作,实现了从底层硬件到系统层面的高效事件传递,是嵌入式开发和系统优化的关键技术。

yellow的专栏 651

边云协同智能进化:大模型与小模型的动态训练与高效部署策略

本文深入探讨了边云协同架构下大模型与小模型的动态训练与高效部署策略。通过物流分拣、医疗影像等实战案例,展示了如何利用边云协作框架实现AI模型的智能进化,显著提升处理效率与准确性。重点解析了动态任务分配、增量学习和知识蒸馏等关键技术,为分布式训练场景提供优化方案。

work3的博客 190

基于STM32平衡小车设计

随着智能硬件的发展,基于STM32的两轮智能平衡车作为一种新型的智能移动工具,具备较高的应用价值。本文旨在设计并实现一款基于STM32微控制器的智能平衡车系统,提升其稳定性和操控性,探索如何通过传感器数据和控制算法实现精确平衡控制。 本设计基于STM32微控制器,选择了STM32F103系列作为核心控制器,具有足够的处理能力和丰富的外设接口。系统通过MPU6050传感器获取三轴加速度和三轴陀螺仪数据,实现实时姿态检测。电机驱动部分采用合适的驱动模块,能够控制两个直流电机,并支持PWM调速。设计中还包括OL

m0_74026776的博客 2730

嵌入式多点触摸屏幕驱动设计

摘要:采用了三星公司的S3C6410X处理器,通过嵌入式Linux的驱动管理系统实现了对Cypress 7958、Snaptics TM1444等基于I2C总线协议的多点触摸屏幕的驱动设计。实践证明,在基于Linux核心的Qtopia平台以及Andriod嵌入式操作系统上运行流畅,识别度与准确度很高。     引言   随着嵌入式设备的开发和推广,触摸屏作为新式输入设备已

wujingji8的专栏 837

使用微信小程序开发制作一个简单的在线问答应用

以上就是一个简单的在线问答小程序的开发过程。其中包括前端界面的布局和逻辑,后端接口的设计和实现,以及部署和测试的步骤。通过以上步骤,你可以自己尝试开发一个类似的在线问答应用。

2401_85258012的博客 791

12. Web安全—渗透测试用例—敏感信息泄漏

12. Web安全—渗透测试用例—敏感信息泄漏

weixin_43567873的博客 412

mini6410移植全攻略(2)--uboot移植之搭建项目框架

目前u-boot-2010.09对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有6410,所以我们就在这里建立自己的开发板项目。 本文章仅供技术交流请勿商用,转载请注明地址:http://blog.youkuaiyun.com/muge0913/article...

yuanjinxiu 200

【异常】SpringCloud Gateway报错503 SERVICE_UNAVAILABLE “Unable to find instance for xxx-gen“

网关服务报错,如下。

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

[S3C6410]Linux2.6.28到Linux2.6.32的内核移植

<br />Linux2.6.28到Linux2.6.32的内核移植<br /><br />今天从GIT上拖下最新的Android Linux2.6.32内核,对S3C6410的支持还是基本功能。<br />目前三星内核树上功能比较全的内核应该是28了,升级到32试试,本来以为只要换几个目录即可,没想到做下来发现还是要改很多东西。<br /><br />过程如下:<br /><br />1 替换目录<br />mach-s3c6400 mach-s3c6410 plat-s3c plat-s3c64XX p

激情成就梦想--关注移动互联网 2536

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

上一篇: Ubuntu下Android4.0源码的下载和编译
下一篇: Ubuntu 10.04环境下载&编译Android-2.1_r2源代码
wang-bob
博客等级 码龄20年 356粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值