添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

reg_addr 0x01f00100 =0x00000000

reg_addr 0x01f00104 =0x00000000

reg_addr 0x01f00108 =0x00000000

reg_addr 0x01f0010c =0x00000000

reg_addr 0x01f00110 =0x00000000

reg_addr 0x01f00114 =0x00000000

DRAM DRIVE INFO: V1.5

DRAM CLK =552 MHZ

DRAM simple test OK.

dram size =512

card boot number = 2

card no is 2

sdcard 2 line count 0

[mmc]: mmc driver ver 2014-07-07 16:54

[mmc]: ***Try SD card 2***

[mmc]: mmc 2 cmd 8 timeout, err 0x00000100

[mmc]: mmc 2 cmd 8 err 0x00000100

[mmc]: mmc 2 send if cond failed

[mmc]: mmc 2 cmd 55 timeout, err 0x00000100

[mmc]: mmc 2 cmd 55 err 0x00000100

[mmc]: mmc 2 send app cmd failed

[mmc]: ***Try MMC card 2***

[mmc]: MMC ver 4.5

[mmc]: SD/MMC Card: 4bit, capacity: 3776MB

[mmc]: vendor: Man 0x00450100 Snr 0x3a004a97

[mmc]: product: SEM04

[mmc]: revision: 4.7

[mmc]: ***SD/MMC 2 init OK!!!***

sdcard 2 init ok

The size of uboot is 0x000bc000.

sum=0x77d84f79

src_sum=0x77d84f79

set_mmc_para,sdly 50M 0

set_mmc_para,sdly 25M 0

Succeed in loading uboot from sdmmc flash.

Ready to disable icache.

Jump to secend Boot.

[ 0.337]

U-Boot 2011.09-rc1-00004-ga1ab41d (Jul 28 2014 - 16:21:09) Allwinner Technology

[ 0.346]version: 1.1.0

[ 0.431]pmbus: ready

[ 0.433]PMU: AXP221

[ 0.435]PMU: AXP22x found

[ 0.439]PMU: dcdc3 1200

[ 0.442]PMU: pll1 1008 Mhz,PLL6=600 Mhz

AXI=336 Mhz,AHB=200 Mhz, APB1=100 Mhz

set power on vol to default

dcdc1_vol = 3000

dcdc2_vol = 1100

dcdc3_vol = 1200

dcdc4_vol = 0

dcdc5_vol = 1500

aldo2_vol = 2500

aldo3_vol = 3000

find power_sply to end

no battery, limit to dc

fel key old mode

run key detect

no key found

dram_para_set start

dram_para_set end

[ 0.489]DRAM: 512 MiB

relocation Offset is: 15b11000

smcl's set manager is NULL

workmode = 0

MMC: 2

[ 0.687][mmc]: mmc driver ver 2014-07-15 17:16:00

[ 0.692][mmc]: get sdc_2xmode ok, val = 1

[ 0.696][mmc]: get sdc_f_max fail,use default sdc_f_max 50000000

[ 0.702][mmc]: get card_line ok, card_line = 4

[ 0.707][mmc]: get sdc_ex_dly_used fail,use default dly

[ 0.71]: SUNXI SD/MMC: 2

[ 0.717][mmc]: mmc 2 2xmode config clk

[ 0.729][mmc]: ************Try SD card 2************

[ 0.734][mmc]: mmc 2 cmd 8 timeout, err 100

[ 0.739][mmc]: smc 2 err, cmd 8, RTO

[ 0.744][mmc]: mmc 2 mmc cmd 8 err 0x00000100

[ 0.748][mmc]: mmc send if cond failed

[ 0.752][mmc]: mmc 2 cmd 55 timeout, err 100

[ 0.756][mmc]: smc 2 err, cmd 55, RTO

[ 0.762][mmc]: mmc 2 mmc cmd 55 err 0x00000100

[ 0.766][mmc]: send app cmd failed

[ 0.769][mmc]: ************Try MMC card 2************

[ 0.795][mmc]: mmc 2 2xmode config clk

[ 0.805][mmc]: mmc 2 2xmode config clk

[ 0.815][mmc]: mmc 2 2xmode config clk

[ 0.824][mmc]: MID 000045 PSN 004a979d

[ 0.827][mmc]: PNM SEM04G -- 0x53-45-4d-30-34-47

[ 0.832][mmc]: PRV 3.10

[ 0.835][mmc]: MDT m-10 y-2015

[ 0.838][mmc]: MMC ver 4.5

[ 0.841][mmc]: ---------------mmc->clock 50000000-----------

[ 0.846][mmc]: ---------------mmc->bus_width 4--------------

[ 0.852][mmc]: SD/MMC Card: 4bit, capacity: 3776MB

[ 0.857][mmc]: boot0 capacity: 2000KB,boot1 capacity: 2000KB

[ 0.863][mmc]: ************SD/MMC 2 init OK!!!************

[ 0.869]sunxi flash init ok

In: serial

Out: serial

Err: serial

--------fastboot partitions--------

-total partitions:6-

-name- -start- -size-

boot-res : 1000000 1000000

env : 2000000 1000000

boot : 3000000 1000000

rootfs : 4000000 40000000

data : 44000000 40000000

UDISK : 84000000 0

-----------------------------------

base bootcmd=run setargs_nand boot_normal

bootcmd set setargs_mmc

key 0

recovery key high 5, low 3

cant find fstbt value

no misc partition is found

misc_message->command = 0

to be run cmd=run setargs_mmc boot_normal

mount part name boot-res

cant open script.bin, maybe it is not exist

WORK_MODE_BOOT

board_status_probe

[ 0.952]pre sys mode

sunxi_bmp_logo_display

[ 0.977][mmc]: blkcnt should not be 0

screen_id =0, screen_width =800, screen_height =480

[ 0.987]Hit any key to stop autoboot: 4

read boot or recovery all

[ 1.604]sunxi flash read :offset 3000000, 13955823 bytes OK

no signature

[ 1.615]ready to boot

para err in disp_ioctl, cmd = 0xa,screen id = 1

[ 1.621][mmc]: mmc exit start

[ 1.625][mmc]: mmc 2 2xmode config clk

[ 1.633][mmc]: mmc 2 2xmode config clk

[ 1.645][mmc]: mmc 2 cmd 8 timeout, err 100

[ 1.650][mmc]: smc 2 err, cmd 8, RTO

[ 1.655][mmc]: mmc 2 mmc cmd 8 err 0x00000100

[ 1.659][mmc]: mmc send if cond failed

[ 1.663][mmc]: mmc 2 cmd 55 timeout, err 100

[ 1.667][mmc]: smc 2 err, cmd 55, RTO

[ 1.673][mmc]: mmc 2 mmc cmd 55 err 0x00000100

[ 1.677][mmc]: send app cmd failed

[ 1.688][mmc]: mmc 2 exit ok

[ 1.691]

Starting kernel ...

分析:根据开机打印的信息,A33在内核引导阶段实际上经历了三个过程:

1. boot0阶段,上电或复位后最先执行

(1)boot0代码存放位置:~/A33-Vstar/dragonboard/brandy/basic_loader/

主要涉及Boot0_C_part.c、Boot0.s两个文件。

(2)作用:主要是CPU相关的硬件初始化,初始化并自检RAM和FLASH,并从FLASH中加载uboot

boot0源码下bsp涉及的外设只有gpio、uart、nand、ram,不涉及别的外设。

bsp代码:basic_loader/bsp/bsp_for_a67/

(3)编译:在windows平台下使用armcc结合cygwin来编译,未测试。无法在linux下进行编译。

(4)串口:boot0阶段使用uart0输出信息。

2. second boot阶段,即u-boot阶段

(1)u-boot代码存放位置:~/A33-Vstar/dragonboard/brandy/u-boot-2011.09

3. starting kernel阶段

也就表明,A33 BootLoader阶段包含了boot0和uboot两个过程。

一、U - boot 第二 阶段 概述 上面有两篇文关于u - boot 第一 阶段 的介绍,这两篇文章是从网上找到的,由于分析的很详细,看完这后觉得对这两篇文章u - boot 第一 阶段 的介绍已经比较完美了,所以分享出来。从这篇文章开始分析u - boot 的第二 阶段 。 如果你只把u - boot 理解成引导kernel的一段代码的话,u - boot 完全没有必要设计成现在这样的一种软件框架,直接写几个文件就能完成kernel...
1 BOOT 0 阶段 ​ 机器从上电后先运行BROM中一段固定的代码,BROM会读取外部引脚来决定从何种介质来启动系统,BROM的作用是初始化储存启动系统的介质,如flash,emmc等。然后从启动介质中读取 boot 0 代码到芯片内部的SRAM中,然后跳到 boot 0 boot 0 _entry.S(sunxi_spl/ boot 0 /main/)。具体代码如下: #include <config.h> #include "asm/mode.h" .globl _start _start : b r
原文 : http : //blog.csdn.net/allen6268198/article/details/129 0 5425 从这里开始:http : // linux - sunxi.org/ Boot able_SD_card 代码仓库:https : //github.com/ linux - sunxi A1 0 /A2 0 Bootloader 加载过程分析 注:由于 全志 A1 0 A2 0 在加载
头部是一个大小 0 x2F8的结构体,然后是64字节的一个数组,后面才是真正的代码段 刚开始编译的时候,发现始终无法在编译好的镜像头部找到 BT_head boot 0 _hash_value ,后来发现是由于精简了代码,在代码中没有调用 BT 0 _head boot 0 _hash_value 所以这 两个 块没有被链接进去,虽然在链接脚本中已经指定了这 两个 变量的位置,竟然也没有被编译进去,不知道修改编译器关于优化相关的参数会不会强制把他们 两个 链接进去。 然后在代码中调用一下这 两个
全志 A 33 bootloader 启动程序,总共分为两段, boot 0 boot 1段,在实际使用过程中,不会涉及到 boot 0 段的设计,在开发 boot 1段前,了解相关的接口,对开发 uboot boot 1)是有益的 一、反向查找 boot 0 段位置思路 在 uboot 启动时,会在调试串口//终端,输出一条信息,因此可以根据输出信息,查找源码C文件位置,首先根据输出信息,查找文件位置 1、查找文件位置 dragonboard$ grep ' BOOT 0 is starting' * - r 查找 BOOT 0 is start
boot 0 启动 u - boot 通过PhoenixSuit烧录的镜像,将 boot 0 烧录到了flash中偏移地址为8K的地方,而u - boot 则被加了一个“头”: 然后1K对齐,重新打包生成的u - boot 文件叫做 boot _package.fex,被烧录到了 164 0 0 K 偏移位置处,而且作为备份还烧录了 两个 位置,另一个在 12288K 偏移处 boot 0 跳转到u - boot 之前会对 boot _package.fex前面的1K大小的结构头进行简单的校验 关于 boot _package.fex文件的生成 那就再猜测一下吧,所谓的自动填充,可能就是自动调用memset来填充的 然后我改了一下代码: char buf[1 0 ] = { 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 }; 手动填充后,编译成功