2.1 linux中uboot移植
--
---------------------------------------------------------------------------------------
(一)友善之臂介绍:
README for FriendlyARM Tiny4412
说明:本u-boot源代码由三星原厂提供,并由友善之臂修改移植,以适用于Tiny4412开发板平台。
仅供嵌入式爱好者学习研究之用,友善之臂不对此提供任何技术支持和维护。
-----------------------------------------------------
1. Build uboot
a) 安装好toolchain (arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz)并设置好
环境变量PATH,保证可以正常使用。
b) 解压 uboot_tiny4412-20130729.tgz 并进入相应的目录
tar xzf uboot_tiny4412-20130729.tgz
c) 配置 uboot 并编译
cd uboot_tiny4412
make tiny4412_config
make
生成u-boot.bin
d) 编译 用于生成bl2 的工具
make -C sd_fuse
或者
cd sd_fuse; make
-----------------------------------------------------
2. 制作启动 Tiny4412 的SD卡
a) 先准备一张4G或以上的SDHC卡
注意:该卡的已有数据将会被破坏,因此请先对SD卡上的数据进行备份。
b) fusing SD card
假设SD卡已被PC Linux识别为/dev/sdb, 以root用户运行以下命令即可:
cd sd_fuse/tiny4412
./sd_fusing.sh /dev/sdb
-----------------------------------------------------
3. 使用SD卡启动 Tiny4412 并烧写Android
a) 将已经制作好的SD卡插到 Tiny4412 板上,拨动S2切换到SDBOOT,同时连接
串口线到PC且假设已经准备好。
b) 开发板加电,然后在串口控制台(如minicom),按任意键进入uboot 命令行模式
c) 对SD卡进行分区
输入以下uboot命令即可对SD卡进行分区:
fdisk -c 0 320 806 518
重新分区后,可重新格式化FAT分区
fatformat mmc 0:1
d) 进入fastboot模式以烧写Android
使用USB线连接Tiny4412的MICRO_USB口到PC,然后输入以下uboot命令:
fastboot
e) 烧写 Android 到SD卡
首先请准备好Android image,包括: zImage, ramdisk-u.img, system.img
在PC端输入以下命令进行烧写:
fastboot flash kernel zImage (烧写kernel)
fastboot -w (格式化userdata和cache)
fastboot flash ramdisk ramdisk-u.img (烧写ramdisk)
fastboot flash system system.img (烧写system)
f) 也可以在PC端通过fastboot烧写uboot到SD卡
先手动生成bl2.bin
cd sd_fuse/tiny4412
../mkbl2 ../../u-boot.bin bl2.bin 14336
然后输入以下命令:
fastboot flash fwbl1 E4412_N.bl1.bin
fastboot flash bl2 bl2.bin
fastboot flash bootloader ../../u-boot.bin
fastboot flash tzsw E4412_tzsw.bin
-----------------------------------------------------
4. 使用SD卡启动 Android
a) 如果是使用HD700,则烧写完成后直接重启Tiny4412 即可自动启动 Android
b) 如果是使用S700,则需要在uboot上设置kernel命令行参数:
setenv bootargs console=ttySAC0,115200n8 androidboot.console=ttySAC0 lcd=S700
saveenv
然后重启Tiny4412即可。
-----------------------------------------------------------------------------------------------------------
(二)编译结果
tiny4412中uboot编译成功
o lib/lzo/liblzo.o net/libnet.o post/libpost.o board/samsung/tiny4412/libtiny4412.o --end-group /opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412/arch/arm/lib/eabi_compat.o -L /opt/FriendlyARM/toolschain/4.5.1/lib/gcc/arm-none-linux-gnueabi/4.5.1 -lgcc -Map u-boot.map -o u-boot
arm-linux-ld: warning: creating a DT_TEXTREL in object.
arm-linux-objcopy -O srec u-boot u-boot.srec
arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin
root@phone-desktop:/opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412# make -C sd_fuse
make:进入目录'/opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412/sd_fuse'
gcc -o mkbl2 V310-EVT1-mkbl2.c
gcc -o sd_fdisk sd_fdisk.c
make:离开目录“/opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412/sd_fuse”
root@phone-desktop:/opt/FriendlyARM/tiny4412/uboot/uboot_tiny4412#
(三)目录分析
Directory Hierarchy:
====================
/arch Architecture specific files #拱结构的特定文件
/arm Files generic to ARM architecture #ARM文件通用的ARM架构
/cpu CPU specific files CPU特定文件
/arm720t Files specific to ARM 720 CPUs
/arm920t Files specific to ARM 920 CPUs
/at91rm9200 Files specific to Atmel AT91RM9200 CPU
/imx Files specific to Freescale MC9328 i.MX CPUs
/s3c24x0 Files specific to Samsung S3C24X0 CPUs
/arm925t Files specific to ARM 925 CPUs
/arm926ejs Files specific to ARM 926 CPUs
/arm1136 Files specific to ARM 1136 CPUs
/ixp Files specific to Intel XScale IXP CPUs
/pxa Files specific to Intel XScale PXA CPUs
/s3c44b0 Files specific to Samsung S3C44B0 CPUs
/sa1100 Files specific to Intel StrongARM SA1100 CPUs
/lib Architecture specific library files
/avr32 Files generic to AVR32 architecture
/cpu CPU specific files
/lib Architecture specific library files
/blackfin Files generic to Analog Devices Blackfin architecture
/cpu CPU specific files
/lib Architecture specific library files
/i386 Files generic to i386 architecture
/cpu CPU specific files
/lib Architecture specific library files
/m68k Files generic to m68k architecture
/cpu CPU specific files
/mcf52x2 Files specific to Freescale ColdFire MCF52x2 CPUs
/mcf5227x Files specific to Freescale ColdFire MCF5227x CPUs
/mcf532x Files specific to Freescale ColdFire MCF5329 CPUs
/mcf5445x Files specific to Freescale ColdFire MCF5445x CPUs
/mcf547x_8x Files specific to Freescale ColdFire MCF547x_8x CPUs
/lib Architecture specific library files
/microblaze Files generic to microblaze architecture
/cpu CPU specific files
/lib Architecture specific library files
/mips Files generic to MIPS architecture
/cpu CPU specific files
/lib Architecture specific library files
/nios2 Files generic to Altera NIOS2 architecture
/cpu CPU specific files
/lib Architecture specific library files
/powerpc Files generic to PowerPC architecture
/cpu CPU specific files
/74xx_7xx Files specific to Freescale MPC74xx and 7xx CPUs
/mpc5xx Files specific to Freescale MPC5xx CPUs
/mpc5xxx Files specific to Freescale MPC5xxx CPUs
/mpc8xx Files specific to Freescale MPC8xx CPUs
/mpc8220 Files specific to Freescale MPC8220 CPUs
/mpc824x Files specific to Freescale MPC824x CPUs
/mpc8260 Files specific to Freescale MPC8260 CPUs
/mpc85xx Files specific to Freescale MPC85xx CPUs
/ppc4xx Files specific to AMCC PowerPC 4xx CPUs
/lib Architecture specific library files
/sh Files generic to SH architecture
/cpu CPU specific files
/sh2 Files specific to sh2 CPUs
/sh3 Files specific to sh3 CPUs
/sh4 Files specific to sh4 CPUs
/lib Architecture specific library files
/sparc Files generic to SPARC architecture
/cpu CPU specific files
/leon2 Files specific to Gaisler LEON2 SPARC CPU
/leon3 Files specific to Gaisler LEON3 SPARC CPU
/lib Architecture specific library files
/api Machine/arch independent API for external apps
/board Board dependent files
/common Misc architecture independent functions
/disk Code for disk drive partition handling
/doc Documentation (don't expect too much)
/drivers Commonly used device drivers
/examples Example code for standalone applications, etc.
/fs Filesystem code (cramfs, ext2, jffs2, etc.)
/include Header Files
/lib Files generic to all architectures
/libfdt Library files to support flattened device trees
/lzma Library files to support LZMA decompression
/lzo Library files to support LZO decompression
/net Networking code
/post Power On Self Test
/rtc Real Time Clock drivers
/tools Tools to build S-Record or U-Boot images, etc.
----
翻译:
/拱结构的特定文件
/ ARM文件通用的ARM架构
/ CPU CPU特定文件
/ ARM720T特定的文件向ARM处理器720
/ ARM920T特定的文件向ARM处理器920
/ AT91RM9200文件的具体爱特梅尔AT91RM9200 CPU
/ IMX文件具体到飞思卡尔i.MX MC9328的CPU
/ s3c24x0文件具体到三星的CPU S3C24X0
/ arm925t特定的文件向ARM处理器925
/ ARM926EJS特定的文件向ARM处理器926
/ ARM1136特定的文件向ARM处理器1136
/ IXP文件具体到英特尔XScale处理器IXP
/ PXA文件适用于Intel XScale PXA系列处理器
/ S3C44B0文件具体到三星S3C44B0处理器
/ SA1100具体的文件对英特尔的StrongARM处理器SA1100
/ lib下的具体架构库文件
/ AVR32文件一般为AVR32架构
/ CPU CPU特定文件
/ lib下的具体架构库文件
/ Blackfin处理器通用的文件ADI公司Blackfin架构
/ CPU CPU特定文件
/ lib下的具体架构库文件
/ I386文件通用的i386架构
/ CPU CPU特定文件
/ lib下的具体架构库文件
/ m68k的文件通用的m68k的架构
/ CPU CPU特定文件
/ mcf52x2文件具体到飞思卡尔的ColdFire处理器MCF52x2
/ MCF5227X文件具体到飞思卡尔的ColdFire处理器MCF5227X
/ MCF532X文件具体到飞思卡尔的ColdFire处理器MCF5329
/ mcf5445x文件具体到飞思卡尔的ColdFire MCF5445x处理器
/ mcf547x_8x文件具体到飞思卡尔的ColdFire处理器MCF547x_8x
/ lib下的具体架构库文件
/文件的MicroBlaze通用的架构的MicroBlaze
/ CPU CPU特定文件
/ lib下的具体架构库文件
/ MIPS文件一般以MIPS架构
/ CPU CPU特定文件
/ lib下的具体架构库文件
/ NIOS2文件一般以Altera NIOS2架构
/ CPU CPU特定文件
/ lib下的具体架构库文件
/ PowerPC的文件通用的PowerPC架构
/ CPU CPU特定文件
/ 74xx_7xx文件具体到飞思卡尔MPC74xx和7xx的处理器
/ MPC5XX特定的文件飞思卡尔处理器MPC5XX
/ mpc5xxx特定的文件飞思卡尔MPC5xxx的CPU
/ mpc8xx特定的文件飞思卡尔MPC8xx处理器
/ mpc8220特定的文件飞思卡尔MPC8220处理器
/ MPC824X特定的文件飞思卡尔MPC824X的CPU
/ MPC8260特定的文件飞思卡尔MPC8260处理器
/ MPC85XX特定的文件飞思卡尔MPC85XX处理器
/ ppc4xx文件具体到AMCC的PowerPC处理器4XX
/ lib下的具体架构库文件
/ SH文件一般以SH架构
/ CPU CPU特定文件
/ SH2文件具体到SH2的CPU
/ SH3文件具体到SH3处理器
/ SH4文件具体到SH4的CPU
/ lib下的具体架构库文件
/ SPARC文件通用于SPARC架构
/ CPU CPU特定文件
/ LEON2文件具体到Gaisler LEON2 SPARC CPU
/ LEON3文件具体到Gaisler LEON3 SPARC CPU
/ lib下的具体架构库文件
外部应用程序/ API机/弓独立的API
/板板相关文件
/常见的其它架构的独立功能
磁盘驱动器分区处理/编码盘
/ DOC文档(不要期待太多)
/驱动器常用的设备驱动程序
对于独立的应用程序,等等。/例子示例代码
/ FS文件系统代码(CRAMFS,EXT2,JFFS2等)
/包含头文件
/ LIB文件通用于所有架构
/ libfdt库文件,以支持平板设备树的
/ LZMA库文件,以支持LZMA压缩
/ LZO库文件,以支持LZO压缩
/ NET网络代码
/ POST开机自检
/ RTC实时时钟驱动器
/工具工具来构建S-记录或U-Boot的图像等。
(五)常识
linux和uboot是两个独立的文件结构
uboot:
linux:
--
android系统的启动文件却在android系统中:
android系统:
linux-3.0.31是android系统的内核。这两个文件是android系统
内核:
应用:
启动项:
(四)文档介绍
---------
2.1 linux中uboot移植的更多相关文章
- s3c2440中U-boot移植时执行cp.b提示:Flash not Erased【转】
本文转载自:https://blog.csdn.net/baiyang139/article/details/79054415 版权声明:本文为博主原创文章,未经博主允许不得转载. https://b ...
- 为什么要有uboot?带你全面分析嵌入式linux系统启动过程中uboot的作用
1.为什么要有uboot 1.1.计算机系统的主要部件 (1)计算机系统就是以CPU为核心来运行的系统.典型的计算机系统有:PC机(台式机+笔记本).嵌入式设备(手机.平板电脑.游戏机).单片机(家用 ...
- 小白自制Linux开发板 二. u-boot移植
上一篇:小白自制Linux开发板 一. 瞎抄原理图与乱画PCB 中我们做了一个小型而没用的开发板,用的是Licheepi Nano的镜像,那从本篇开始我们开始自己构建它的灵魂吧. 我们都知道,PC在 ...
- Linux上USB移植错误解决笔记
在内核目录下先配置支持USB设备,无论你是什么设备,这一步都是必须的,USB驱动和其他的驱动不同,它分为USB设备驱动,另外还有USB-Host主机控制器的驱动,配置如下: Device Driver ...
- u-boot移植 II
下面是韦老师的uboot移植攻略: A. 开发板的相关拷贝与修改 1. 在board文件夹下面, 将原来的smdk2410复制为100ask24x0目录, 并将smdk2410.c改名为100ask2 ...
- 【转】uboot移植(一)BootLoader基本概念
原文网址:http://blog.chinaunix.net/uid-25445243-id-3869348.html 一.BootLoader简介1.1.嵌入式Linux软件结构与分布 在一般情况下 ...
- U-BOOT 移植到友善之臂mini2440
U-BOOT 移植到友善之臂mini2440 开发环境:ubuntu 10.10 编译器:友善之臂mini2440光盘自带arm-linux-gcc 4.4.3 一. 在denx官网下载源码,我所用版 ...
- Linux最小系统移植之早期打印CONFIG_EARLY_PRINTK
请先参考先前博文: Linux最小系统移植之早期打印CONFIG_DEBUG_LL , 因为eraly_printk其实就是对printch()封装的 一. 必要选项(在上面链接选中的前提下再新增 ...
- Tiny4412 U-BOOT移植(转)
http://blog.csdn.net/eshing/article/details/37520291(转) 一.移植前说明: 1. 特别声明:此文档是我的学习文档,里面肯定有错误地方,仅供参考! ...
随机推荐
- Delphi中的四舍五入函数
一.Delphi中的四舍五入法 四舍五入是一种应用非常广泛的近似计算方法,针对不同的应用需求,其有算术舍入法和银行家舍入法两种. 所谓算术舍入法,就是我们通常意义上的四舍五入法.其规则 ...
- (转)linux性能优化总结
感谢博客http://sillycat.iteye.com提供的资料 linux性能检查(一)介绍和CPU 通常监控的子系统有: CPU Memory IO Network 应用类型 IO相关,处理大 ...
- [Learn Android Studio 汉化教程]第二章:Android Studio概述(一)
[Learn Android Studio ]第二章:Android Studio概述(一) Android Studio是一个视窗化的开发环境.为了充分利用有限的屏幕空间,不让你束手束脚,Andro ...
- shell调用sqlplus批量执行sql文件
在最近的工作中,经常需要批量执行一些DML, DDL, PL/SQL语句或导入一些Function, Procedure.因为support的国家比较多,常常需要一个登陆到一个国家的数据库上执行完成后 ...
- MySQL日期和时间函数
WEEKDAY( date ) 返回date的星期索引( = 星期天 ) . mysql> select WEEKDAY( '1997-10-04 22:23:00' ) ; mysql> ...
- VS2010中无法嵌入互操作类型“......”,请改用适用的接口的解决方法
- Android中Google地图路径导航,使用mapfragment地图上画出线路(google map api v2)详解
在这篇里我们只聊怎么在android中google map api v2地图上画出路径导航,用mapfragment而不是mapview,至于怎么去申请key,manifest.xml中加入的权限,系 ...
- To get TaskID's Integer ID value from the GUID in SharePoint workflow
list.GetItemByUniqueId(guid).ID int itemID = spList.Items[new Guid("")].ID;
- linux源码分析2
linux源码分析 这里使用的linux版本是4.8,x86体系. 这篇是 http://home.ustc.edu.cn/~boj/courses/linux_kernel/1_boot.html ...
- 论文阅读(2014-1)----a new collaborative filtering-based recommender system for manufacturing appstore: which applications would be useful to your busines?
这篇论文讲的东西并不深,讲的是appstore上的app个性化推荐问题,简单做个笔记. 简单介绍: 推荐系统可以降低没有卖任何app就离开的用户的概率.当用户买了某个app后,可以推荐配套的app.增 ...