ARM学习之S3C2440的bootloader代码分析(1)

发布时间:2023-09-25  

;===========================================

; NAME: OPTION.A

; DESC: Configuration options for .S files

; HISTORY:

; 02.28.2002: ver 0.0

; 03.11.2003: ver 0.0    attached for 2440.

; jan E, 2004: ver0.03  modified for 2440A01.

;===========================================

;这个Option.inc文件主要是为设置时钟服务的,选择好分频系数

;Start address of each stacks,

_STACK_BASEADDRESS    EQU 0x33ff8000

_MMUTT_STARTADDRESS    EQU 0x33ff8000

_ISR_STARTADDRESS    EQU 0x33ffff00


;定义一个全局的逻辑变量,变初始化为TRUE

        GBLL     PLL_ON_START    

PLL_ON_START    SETL     {TRUE}


;定义一个全局的逻辑变量,变初始化为FALSE

        GBLL    ENDIAN_CHANGE

ENDIAN_CHANGE    SETL    {FALSE}


;定义一个全局的数字变量,变初始化为16

        GBLA    ENTRY_BUS_WIDTH

ENTRY_BUS_WIDTH    SETA    16



;BUSWIDTH = 16,32

        GBLA    BUSWIDTH    ;max. bus width for the GPIO configuration

BUSWIDTH    SETA    32


        GBLA    UCLK

UCLK    SETA    96000000;48000000


        GBLA    XTAL_SEL

        GBLA    FCLK

        GBLA    CPU_SEL


;(1) Select CPU        

;CPU_SEL    SETA    32440000    ; 32440000:2440X.

CPU_SEL    SETA    32440001    ; 32440001:2440A


;(2) Select XTaL

XTAL_SEL    SETA    12000000    

;XTAL_SEL    SETA    16934400


;(3) Select FCLK

;FCLK        SETA    296352000

;FCLK        SETA    271500000

;FCLK        SETA    100000000    

FCLK        SETA    240000000    

FCLK        SETA    280000000    

FCLK        SETA    320000000    

FCLK        SETA    360000000    

FCLK        SETA    400000000    


;(4) Select Clock Division (Fclk:Hclk:Pclk)

;CLKDIV_VAL    EQU    5    ; 0=1:1:1, 1=1:1:2, 2=1:2:2, 3=1:2:4, 4=1:4:4, 5=1:4:8, 6=1:3:3, 7=1:3:6.

;定义时钟比例

;--------------------------------------------

;下面根据外部晶振是12MMhz(else是16.9344Mhz),再根据我们的主时钟是(271.5MHz或304.8MHz),决定分频系数M_MDIV、M_PDIV、M_SDIV

;根据我们的USB时钟(48MHz或者96MHz),决定分频系数U_MDIV、U_PDIV、U_SDIV

;--------------------------------------------

;[是IF伪操作的同义词,|是ELSE伪操作的同义词,]是ENDIF伪操作的同义词

 [ XTAL_SEL = 12000000

 

    [ FCLK = 271500000

CLKDIV_VAL    EQU    7        ;1:3:6

M_MDIV        EQU    173        ;Fin=12.0MHz Fout=271.5MHz

M_PDIV        EQU    2

        [ CPU_SEL = 32440001

M_SDIV        EQU    2        ; 2440A

           |

M_SDIV        EQU    1        ; 2440X

           ]

    ]

    

    [ FCLK = 100000000

CLKDIV_VAL    EQU    0        ;1:1:1

M_MDIV        EQU    42        ;Fin=12.0MHz Fout=100MHz

M_PDIV        EQU    4

        [ CPU_SEL = 32440001

M_SDIV        EQU    1        ; 2440A

        |

M_SDIV        EQU    0        ; 2440X

        ]

    ]


    [ FCLK = 240000000

CLKDIV_VAL    EQU    4        ;1:4:4

M_MDIV        EQU    112        ;Fin=12.0MHz Fout=240MHz

M_PDIV        EQU    4

        [ CPU_SEL = 32440001

M_SDIV        EQU    1        ; 2440A

        |

M_SDIV        EQU    0        ; 2440X

        ]

    ]

    

    [ FCLK = 280000000

CLKDIV_VAL    EQU    4        ;1:4:4

M_MDIV        EQU    132        ;Fin=12.0MHz Fout=280MHz

M_PDIV        EQU    4

        [ CPU_SEL = 32440001

M_SDIV        EQU    1        ; 2440A

        |

M_SDIV        EQU    0        ; 2440X

        ]

    ]

    

    [ FCLK = 320000000

CLKDIV_VAL    EQU    5        ;1:4:8

M_MDIV        EQU    72        ;Fin=12.0MHz Fout=320MHz

M_PDIV        EQU    1

        [ CPU_SEL = 32440001

M_SDIV        EQU    1        ; 2440A

        |

M_SDIV        EQU    0        ; 2440X

        ]

    ]

    

    [ FCLK = 360000000

CLKDIV_VAL    EQU    5        ;1:4:8

M_MDIV        EQU    82        ;Fin=12.0MHz Fout=360MHz

M_PDIV        EQU    1

        [ CPU_SEL = 32440001

M_SDIV        EQU    1        ; 2440A

        |

M_SDIV        EQU    0        ; 2440X

        ]

    ]


    [ FCLK = 400000000

CLKDIV_VAL    EQU    5        ;1:4:8

M_MDIV        EQU    127        ;127

M_PDIV        EQU    2        ;2

        [ CPU_SEL = 32440001

M_SDIV        EQU    1        ; 2440A

        |

M_SDIV        EQU    0        ; 2440X

        ]

    ]

    

    [ UCLK = 48000000

U_MDIV        EQU    56        ;Fin=12.0MHz Fout=48MHz

U_PDIV        EQU    2

        [ CPU_SEL = 32440001

U_SDIV        EQU    2        ; 2440A

           |

U_SDIV        EQU    1        ; 2440X

           ]

    ]

    [ UCLK = 96000000

U_MDIV        EQU    56        ;Fin=12.0MHz Fout=96MHz

U_PDIV        EQU    2

        [ CPU_SEL = 32440001

U_SDIV        EQU    1        ; 2440A

           |

U_SDIV        EQU    0        ; 2440X

           ]


    ]


  |    ; else if XTAL_SEL = 16.9344Mhz


    [ FCLK = 266716800

M_MDIV        EQU    118    ;Fin=16.9344MHz

M_PDIV        EQU    2

        [ CPU_SEL = 32440001

M_SDIV        EQU    2        ; 2440A

        |

M_SDIV        EQU    1        ; 2440X

        ]

    ]

    

    [ FCLK = 296352000

M_MDIV        EQU    97    ;Fin=16.9344MHz

M_PDIV        EQU    1

        [ CPU_SEL = 32440001

M_SDIV        EQU    2        ; 2440A

        |

M_SDIV        EQU    1        ; 2440X

        ]

    ]

    [ FCLK = 541900800

M_MDIV        EQU    120    ;Fin=16.9344MHz

M_PDIV        EQU    2

        [ CPU_SEL = 32440001

M_SDIV        EQU    1        ; 2440A

        |

M_SDIV        EQU    0        ; 2440X

        ]

    ]

    

    [ UCLK = 48000000

U_MDIV        EQU    60    ;Fin=16.9344MHz Fout=48MHz

U_PDIV        EQU    4

        [ CPU_SEL = 32440001

U_SDIV        EQU    2        ; 2440A

           |

U_SDIV        EQU    1        ; 2440X

           ]

       ]

    [ UCLK = 96000000

U_MDIV        EQU    60    ;Fin=16.9344MHz Fout=96MHz

U_PDIV        EQU    4

        [ CPU_SEL = 32440001

文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>