新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > mini2440開發(fā)板 u-boot 移植

        mini2440開發(fā)板 u-boot 移植

        作者: 時(shí)間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
        本實(shí)驗(yàn)所用的u-boot源碼包,是國嵌提供的u-boot-2008.10

        1.解壓源碼包

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

        命令:tar jxvf u-boot-2008.10.tar.bz2

        2.在頂層的Makefile中找到

        smdk2410_config:unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 NULL s3c24x0

        參照此方法,添加:

        mini2440_config:unconfig
        @$(MKCONFIG) $(@:_config=) arm arm920t mini2440 NULL s3c24x0

        3.修改/cpu/arm920t/start.S

        (1)修改編譯條件使其支持s3c2440

        代碼第136行#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410)

        改為#if defined(CONFIG_S3C2400) || defined(CONFIG_S3C2410) || defined(CONFIG_S3C2440)

        (2)添加寄存器的定義

        在149行左右

        #define pWTCON0x53000000
        #define INTMSK0x4A000008
        #define INTSUBMSK0x4A00001C
        #define CLKDIVN0x4C000014
        # endif
        之后添加代碼

        #define CLK_CTL_BASE 0x4C000000
        #define MDIV_405 0x7f << 12
        #define PSDIV_405 0x21
        #define UPLL_MDIV_48 0x38 << 12
        #define UPLL_PSDIV_48 0x22
        #define MDIV_200 0xa1 << 12
        #define PSDIV_200 0x31

        (3)修改中斷禁止部分,添加s3c2440中斷禁止代碼

        在170行左右:

        # if defined(CONFIG_S3C2410)
        ldrr1, =0x3ff
        ldrr0, =INTSUBMSK
        strr1, [r0]
        # endif

        后面添加:


        #if defined(CONFIG_S3C2440)
        ldr r1,=0x7fff
        ldr r0,=INTSUBMSK
        str r1,[r0]
        #endif

        (4)修改時(shí)鐘設(shè)置(將s3c2440主頻設(shè)置為405MHZ)

        將180行左右關(guān)于時(shí)鐘設(shè)置的代碼注釋掉


        *
        *ldrr0, =CLKDIVN
        *movr1, #3
        *strr1, [r0]
        *#endif
        */

        添加:

        #if defined(CONFIG_S3C2440)

        ldr r0,=CLKDIVN
        move r1,#5
        str r1,[r0]

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


        mov r1,#CLK_CTL_BASE

        mov r2,#UPLL_MDIV_48
        add r2,r2,#UPLL_PSDIV_48
        str r2,[r1,#0x08]

        mov r2,#MDIV_405
        add r2,r2,#PSDIV_405
        str r2,[r1,#0x04]

        #else

        ldr r0,=CLKDIVN
        mov r1,#3
        str r1,[r0]

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


        mov r1,#CLK_CTL_BASE
        mov r2,#MDIV_200
        add r2,r2,#PSDIV_200
        str r2,[r1,#0x04]

        #endif

        #endif


        上一頁 1 2 下一頁

        關(guān)鍵詞: mini2440開發(fā)板u-boot移

        評(píng)論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 长春市| 乃东县| 乌审旗| 高雄市| 汉源县| 江阴市| 天津市| 扶绥县| 青河县| 红桥区| 保德县| 石首市| 郁南县| 关岭| 皋兰县| 财经| 南皮县| 梅河口市| 东山县| 兰溪市| 昌乐县| 岢岚县| 洛扎县| 辰溪县| 泗阳县| 中西区| 尚义县| 柳州市| 秦皇岛市| 个旧市| 阳西县| 太仆寺旗| 岳阳县| 营口市| 偃师市| 五指山市| 木兰县| 克什克腾旗| 简阳市| 乐都县| 新平|