博客网 >

[转]Bootloader -- PXA255,Emulator
作者:分类:默认分类标签:
在仿真器上调试Bootloader用的初始化的汇编代码,与直接烧入Flash执行的代码略有不同。
芯片用的PXA255,要查看程序中的一些寄存器功能、地址与值,请查阅《Intel? PXA255 Processor Developer’s Manual》。
  GET LEVEL0_H.S
  GET register.s

  AREA INIT, CODE, READONLY

  ENTRY
    B Reset_All
  
Reset_All
    ;初始化中断控制器,给ICMR和ICLR赋值0
    LDR r12, =INTERRUPT_CONTROL_BASE
    LDR r0, =0x00000000
    STR r0, [ r12, #ICMR ]
    STR r0, [ r12, #ICLR ]
  
  
    ;初始化CKEN和OSCC
    LDR r12, =CLOCK_MANAGER_BASE
    LDR r0, =CKEN_VALUE
    STR r0, [ r12, #CKEN]
    LDR r0, =OSCC_VALUE
    STR r0, [ r12, #OSCC]
  
    ;设置CPU频率
    LDR r1, =CCCR_VALUE ;=0X0141:MEM 99M,CORE 200M
    STR r1, [ r12, #CCCR]
  
    ;设置FCS和TURBO位,改变CPU频率,进入TURBO模式
    MOV r1, #3
    MCR p14, 0, r1, c6, c0, 0

    ;把时钟记数器置0
    LDR  r0, =OSCR

    ;GPIO初始化  
    LDR r12, =GPIO_BASE

    LDR r0, =GAFR0L_VALUE
    STR r0, [r12, #GAFR0_L]
    LDR r0, =GAFR0U_VALUE
    STR r0, [r12, #GAFR0_U]
    
    LDR r0, =GAFR1L_VALUE
    STR r0, [r12, #GAFR1_L]
    LDR r0, =GAFR1U_VALUE
    STR r0, [r12, #GAFR1_U]
    
    LDR r0, =GAFR2L_VALUE
    STR r0, [r12, #GAFR2_L]
    LDR r0, =GAFR2U_VALUE
    STR r0, [r12, #GAFR2_U]

    LDR r0, =GPSR0_VALUE
    STR r0, [r12, #GPSR0]
    LDR r0, =GPSR1_VALUE
    STR r0, [r12, #GPSR1]
    LDR r0, =GPSR2_VALUE
    STR r0, [r12, #GPSR2]

    LDR r0, =GPCR0_VALUE
    STR r0, [r12, #GPCR0]
    LDR r0, =GPCR1_VALUE
    STR r0, [r12, #GPCR1]
    LDR r0, =GPCR2_VALUE
    STR r0, [r12, #GPCR2]

    LDR r0, =GPDR0_VALUE
    STR r0, [r12, #GPDR0]
    LDR r0, =GPDR1_VALUE
    STR r0, [r12, #GPDR1]
    LDR r0, =GPDR2_VALUE
    STR r0, [r12, #GPDR2]
    
    ;设置PSSR的RDH与PH位,初始化
    LDR r1, =PSSR
    LDR r2, =(PSSR_RDH | PSSR_PH)
    STR r2, [r1]
  
    ;初始化Memory Control Registers
    LDR r12, =MEM_CTL_BASE
    LDR r0, =MSC0_VALUE
    STR r0, [r12, #MSC0]
    LDR r0, =MSC1_VALUE
    STR r0, [r12, #MSC1]
    LDR r0, =MSC2_VALUE
    STR r0, [r12, #MSC2]

    ;设置栈指针
    LDR sp, =0xa07f0000
  
    ;导入c_main并跳转
    IMPORT c_main
    LDR pc,=c_main
  
  END
<< [转]GCC交叉编译器的制作 / [竞猜已截止]小宇的猜想?! >>

专题推荐

不平凡的水果世界

不平凡的水果世界

平凡的水果世界,平凡中的不平凡。 今朝看水果是水果 ,看水果还是水果 ,看水果已不是水果。这境界,谁人可比?在不平凡的水果世界里,仁者见仁,智者见智。

中国春节的那些习俗

中国春节的那些习俗

正月是农历新年的开始,人们往往将它看作是新的一年年运好坏的兆示期。所以,过年的时候“禁忌”特别多。当然,各个地方的风俗习惯不一样,过年的禁忌也是不一样的。

评论
0/200
表情 验证码:

Quby

  • 文章总数0
  • 画报总数0
  • 画报点击数0
  • 文章点击数0
个人排行
        博文分类
        日期归档