新聞中心

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

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

        作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏

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

        4.修改/cpu/arm/s3c24x0/interrupts.c,加入對2440的支持

        (1)在第33行左右,修改

        #if defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined(CONFIG_S3C2440) || defined (CONFIG_TRAB)

        (2)在第40行左右,修改


        #elif defined(CONFIG_S3C2410)||defined(CONFIG_S3C2440)

        (3)在get_tbclk()函數(shù)中修改


        #elif defined(CONFIG_SBC2410X) ||
        defined(CONFIG_SMDK2410) ||
        defined(CONFIG_MINI2440) ||
        defined(CONFIG_VCMA9)
        tbclk = CFG_HZ;
        #else

        5.修改/cpu/arm/s3c24x0/speed.c

        (1)在33行左右修改:


        #if defined(CONFIG_S3C2400) || defined (CONFIG_S3C2410) || defined (CONFIG_S3C2440) || defined (CONFIG_TRAB)

        #if defined(CONFIG_S3C2400)
        #include


        #elif defined(CONFIG_S3C2410)||defined(CONFIG_S3C2440)

        (2)修改函數(shù)get_PLLCLK()

        因為S3C2440與S3C2410的MPLL、UPLL計算公式不同

        在代碼:

        m = ((r & 0xFF000) >> 12) + 8;
        p = ((r & 0x003F0) >> 4) + 2;
        s = r & 0x3

        的后面添加:


        #if defined(CONFIG_S3C2440)
        if (pllreg == MPLL)
        return((CONFIG_SYS_CLK_FREQ*m*2)/(p<else if(pllreg == UPLL)
        #endif

        return((CONFIG_SYS_CLK_FREQ * m) / (p << s));
        }

        (3)修改函數(shù)get_HCLK()

        ulong get_HCLK(void)
        {
        S3C24X0_CLOCK_POWER * const clk_power = S3C24X0_GetBase_CLOCK_POWER();


        #if defined(CONFIG_S3C2440)
        if(clk_power->CLKDIVN&0x6)
        {
        if((clk_power->CLKDIVN&0x06)==2)
        return(get_FCLK()/2);
        if((clk_power->CLKDIVN&0x06)==6)
        return(clk_power->CAMDIVN&0x100)?
        get_FCLK()/6:get_FCLK()/3;
        if((clk_power->CLKDIVN&0x06)==4)
        return(clk_power->CAMDIVN&0x200)?
        get_FCLK()/8:get_FCLK()/4;
        return(get_FCLK());

        }
        else return(get_FCLK());
        #else
        return((clk_power->CLKDIVN&0x02)?get_FCLK()/2:get_FCLK());
        #endif

        // return((clk_power->CLKDIVN & 0x2) ? get_FCLK()/2 : get_FCLK());
        }

        6.修改/include/asm-arm/mach-types.h

        添加mini2440機(jī)器ID,添加的ID內(nèi)核提供的ID保持一致

        #define MACH_TYPE_MINI24401999

        7.修改cpu/arm920t/s3c24x0/serial.c

        修改drivers/rtc/s3c24x0_rtc.c

        在有s3c2410宏定義開關(guān)里加入對s3c2440的支持


        上一頁 1 2 下一頁

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

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 城市| 静海县| 江孜县| 曲阜市| 常山县| 巴楚县| 安徽省| 平利县| 阿尔山市| 义乌市| 三穗县| 江安县| 竹北市| 越西县| 尉氏县| 邯郸市| 墨玉县| 西华县| 吉安市| 葵青区| 武清区| 盈江县| 江都市| 吴堡县| 蒙阴县| 城固县| 梅河口市| 白朗县| 长治市| 鲁甸县| 贺兰县| 山阴县| 应城市| 全州县| 新疆| 长沙市| 绵竹市| 汝城县| 甘肃省| 万盛区| 泸州市|