新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > TQ2440國嵌學院gboot-時鐘初始化

        TQ2440國嵌學院gboot-時鐘初始化

        作者: 時間:2016-11-26 來源:網絡 收藏

        通過選擇HDIVNPDIVN這2個參數可以選定FCLK:HCLK:PCLK的分頻系數,參考值是1:4:8,也就是HDIVN為2,PDIVN為1。找到HDIVN和PDIVN的定義:如下

        本文引用地址:http://www.104case.com/article/201611/321970.htm



        因此設定HDIVN=2,也就是01;設定PDIVN=1,也就是0。DIVN_UPLL不設定,組合起來也就是在CKDIVN寄存器里寫入0X5(0b000101),寄存器的地址是0x4c000014。

        如何設定CPU到異步模式呢?

        為什么要設定CPU到異步模式呢?看下面介紹:



        翻譯可知,當HDIVN不等于0的時候,要設定CPU到異步模式,HDIVN不等于0代表什么呢?首先看等于0,等于0代表FCLK=HCLK,也就是CPU核工作時鐘等于總線時鐘,當2者相同的時候是同步,不相等就是異步模式。因此要設定到異步模式。如何設置到異步模式?




        代碼上面也有給出,通過設定CP15的C1寄存器的nF和iA位都為1即可。

        最后來看設定FCLK的頻率:



        首先我們采用的CPU的工作頻率是405MHZ,也就是MDIV=0X7F,PDIV=10;SDIV=1

        全部代碼:

        #define CLKDIVN 0x4c000014
        #define MPLLCON 0x4c000004
        #define MPLL_405MHZ ((127<<12)|(2<<4)|(1<<0))

        init_clock:
        ldr r0, =CLKDIVN
        mov r1, #0x5
        str r1, [r0]

        mrc p15,0,r0,c1,c0,0
        orr r0,r0,#0xc0000000
        mcr p15,0,r0,c1,c0,0

        ldr r0, =MPLLCON
        ldr r1, =MPLL_405MHZ
        str r1, [r0]
        mov pc, lr


        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 教育| 东光县| 铁岭县| 信阳市| 诸暨市| 尖扎县| 承德市| 五台县| 伊川县| 义马市| 钟山县| 青海省| 祁门县| 沁阳市| 丽水市| 蒙城县| 会昌县| 崇州市| 武城县| 游戏| 麦盖提县| 昆明市| 商都县| 宜宾县| 如东县| 西畴县| 璧山县| 松溪县| 盐源县| 张家川| 长汀县| 彭州市| 镇安县| 宁安市| 无棣县| 老河口市| 类乌齐县| 米泉市| 英吉沙县| 商洛市| 聂荣县|