天嵌 ARM开发社区

 找回密码
 注册
查看: 2988|回复: 4

TQ2440启动程序详解

[复制链接]
xuehui869 发表于 2009-9-19 19:44:41 | 显示全部楼层 |阅读模式
请教版主:TQ2440开发板的裸机程序TQ2440_Test 在2440init.s  中相比通用的启动程序加了下面的:
;===========================================================
       
        ldr        r0, =BWSCON
        ldr        r0, [r0]
        ands        r0, r0, #6                ;OM[1:0] != 0, NOR FLash boot
        bne        copy_proc_beg                ;do not read nand flash
        adr        r0, ResetEntry                ;OM[1:0] == 0, NAND FLash boot
        cmp        r0, #0                                ;if use Multi-ice,
        bne        copy_proc_beg                ;do not read nand flash for boot
        ;nop
;===========================================================
nand_boot_beg
        [ {TRUE}
                bl RdNF2SDRAM
        ]

        ldr        pc, =copy_proc_beg
;===========================================================
copy_proc_beg
        adr        r0, ResetEntry
        ldr        r2, BaseOfROM
        cmp        r0, r2
        ldreq        r0, TopOfROM
        beq        InitRam       
        ldr r3, TopOfROM
0       
        ldmia        r0!, {r4-r7}
        stmia        r2!, {r4-r7}
        cmp        r2, r3
        bcc        %B0
       
        sub        r2, r2, r3
        sub        r0, r0, r2                               
               
InitRam       
        ldr        r2, BaseOfBSS
        ldr        r3, BaseOfZero       
0
        cmp        r2, r3
        ldrcc        r1, [r0], #4
        strcc        r1, [r2], #4
        bcc        %B0       

        mov        r0,        #0
        ldr        r3,        EndOfBSS
1       
        cmp        r2,        r3
        strcc        r0, [r2], #4
        bcc        %B1
       
        ldr        pc, =%F2                ;goto compiler address
2
       
;        [ CLKDIV_VAL>1                 ; means Fclk:Hclk is not 1:1.
;        bl        MMU_SetAsyncBusMode                        
;        |
;        bl MMU_SetFastBusMode        ; default value.
;        ]
;----------------------------------------------------------------------------------------
版主问下,它的具体作用是什么?能不能详细讲解一下。。。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| xuehui869 发表于 2009-9-19 19:56:03 | 显示全部楼层
应该是这个作用吧
:从Nand Flash 启动时CPU 将Nand Flash 的前4K 拷贝到CPU 自带的SRAM
中,然后再跳到SRAM 中运行,而我们的程序大于了4K,那么我们需要在前4K 实现把整个镜像从Nand Flash
搬运到SDRAM 中,并跳到SDRAM 中运行

上面的代码能详细的讲一下吗
pzxsoso 发表于 2011-3-10 14:52:07 | 显示全部楼层
谢谢啊 正需要  学习一下
天嵌_support1 发表于 2011-3-10 15:09:56 | 显示全部楼层
:)
大吓 发表于 2011-9-6 22:39:20 | 显示全部楼层
谢谢,看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-13 01:02 , Processed in 1.046875 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表