主题 : 使用uboot for tiny4412 这篇文章,烧写系统不成功。。求解 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 87849
精华: 0
发帖: 30
金钱: 150 两
威望: 30 点
贡献值: 0 点
综合积分: 60 分
注册时间: 2013-02-27
最后登录: 2019-05-06
楼主  发表于: 2014-02-25 10:53

 使用uboot for tiny4412 这篇文章,烧写系统不成功。。求解

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

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)

按照上面的烧写方法,做到最后一步时fastboot flash system system.img  出错了。。。。我的TF卡时8G的。
在串口终端打印信息是:
Received 17 bytes: download:11ec65f8
Starting download of 300705272 bytes
................................................................................
................................................................................
................................................................................
..............................................
downloading of 300705272 bytes finished
Received 12 bytes: flash:system
flashing 'system'
Compressed ext4 image
*** erase start block 0x21390 ***
*** erase block length 0x201140 ***
mmc erase user 0 136192 2101248
START: 136192 BLOCK: 2101248
high_capacity: 1
Capacity: 15433728

Erase
........................................
........................................
........................................
........................................
........................................
..........
1.0 GB erase Done
MMC erase Success.!!

MMC write: dev # 0, block # 136080, count 8 ... error: 00108001 cmd 25

count: 1
# Tx: Inverter delay / Rx: Inverter delay
CMD reset
DATA reset

count: 2
## Tx: Basic delay / Rx: Inverter delay
CMD reset
DATA reset

count: 3
## Tx: Inverter delay / Rx: Basic delay
CMD reset
DATA reset

count: 4
### Tx: Basic delay / Rx: Basic delay
CMD reset
DATA reset

count: 5
# Tx: Disable / Rx: Basic delay
CMD reset
DATA reset

count: 6
## Tx: Disable / Rx: Inverter delay
CMD reset
DATA reset

count: 7
### Tx: Basic delay / Rx: Disable
CMD reset
DATA reset

count: 8
### Tx: Inverter delay / Rx: Disable
CMD reset
DATA reset


mmc write failed ERROR: -19
data.dest: 0x48000028
data.blocks: 8
data.blocksize: 512
MMC_DATA_WRITE
-19 blocks written: ERROR

MMC write: dev # 0, block # 136088, count 8 ...
count: 1
# Tx: Inverter delay / Rx: Inverter delay
CMD reset
DATA reset

count: 2
## Tx: Basic delay / Rx: Inverter delay
CMD reset
DATA reset

count: 3
## Tx: Inverter delay / Rx: Basic delay
CMD reset
DATA reset

count: 4
### Tx: Basic delay / Rx: Basic delay
CMD reset
DATA reset

count: 5
# Tx: Disable / Rx: Basic delay
CMD reset
DATA reset

count: 6
## Tx: Disable / Rx: Inverter delay
CMD reset
DATA reset

count: 7
### Tx: Basic delay / Rx: Disable
CMD reset
DATA reset

count: 8
### Tx: Inverter delay / Rx: Disable
CMD reset
DATA reset


mmc write failed ERROR: -19
data.dest: 0x48001034
data.blocks: 8
data.blocksize: 512
MMC_DATA_WRITE
-19 blocks written: ERROR

MMC write: dev # 0, block # 136096, count 184 ...
count: 1
# Tx: Inverter delay / Rx: Inverter delay
CMD reset
DATA reset

count: 2
## Tx: Basic delay / Rx: Inverter delay
CMD reset
DATA reset

count: 3
## Tx: Inverter delay / Rx: Basic delay
CMD reset
DATA reset

count: 4
### Tx: Basic delay / Rx: Basic delay
CMD reset
DATA reset

count: 5
# Tx: Disable / Rx: Basic delay
CMD reset
DATA reset

count: 6
## Tx: Disable / Rx: Inverter delay

求解。
级别: 新手上路
UID: 103956
精华: 0
发帖: 16
金钱: 80 两
威望: 16 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2014-05-09
最后登录: 2015-10-29
1楼  发表于: 2014-08-18 17:08
同求解啊
^很多问题的背后都是简单的原因......
级别: 荣誉会员
UID: 34780
精华: 0
发帖: 1219
金钱: 6230 两
威望: 1246 点
贡献值: 0 点
综合积分: 2438 分
注册时间: 2010-12-21
最后登录: 2017-09-18
2楼  发表于: 2014-08-19 09:54
可能是uboot中的eMMC的配置存在问题,可以尝试修改uboot,调整一下eMMC的GPIO驱动能力、降低频率。
级别: 新手上路
UID: 126642
精华: 0
发帖: 5
金钱: 25 两
威望: 5 点
贡献值: 0 点
综合积分: 10 分
注册时间: 2016-07-14
最后登录: 2017-07-10
3楼  发表于: 2016-09-05 09:52
将脚本sd_fusing.sh中改一下tszw_position=1105就行了 ,但是后面往emmc中烧写的时候又出现emmc加载失败,不知道为何?
级别: 新手上路
UID: 135923
精华: 0
发帖: 9
金钱: 45 两
威望: 9 点
贡献值: 0 点
综合积分: 18 分
注册时间: 2017-12-05
最后登录: 2017-12-17
4楼  发表于: 2017-12-17 18:32
enen