zoukankan      html  css  js  c++  java
  • kernel 3.2.0 上加入自己的板级文件

    • 第一步、复制自己的参考的板级文件

        cp   arch/arm/mach-omap2/board-am335xevm.c   arch/arm/mach-omap2/board-aplex_ECM_5412.c
    
    • 第二步、在对应的kconfig ,Makefile 里面增加对应的代码

        // vim arch/arm/mach-omap2/Makefile
        //  这是原来的
        257 obj-$(CONFIG_MACH_AM335XIAEVM)      += board-am335xevm.o
        258 obj-$(CONFIG_MACH_APLEX_ECM_5412)   += board-aplex_ECM_5412.o
        // 后面增加
    
        // 参考原来的
        // vim arch/arm/mach-omap2/Kconfig
        347 config MACH_APLEX_ECM_5412
        348     bool "Aplex ECM_5412"
        349     depends on SOC_OMAPAM33XX
        350     default  n
        351 
        352 config MACH_AM335XEVM
        353     bool "AM335X Evaluation Module"
        354     depends on SOC_OMAPAM33XX
        355     default n
    
    • 第三步、 修改并添加一些匹配代码

        // vim  arch/arm/mach-omap2/board-aplex_ECM_5412.c
        // 将原来的修改过来
        3707 MACHINE_START(APLEX_ECM_5412, "aplex_ECM_5412")
        3708     /* Maintainer: Texas Instruments */
        3709     .atag_offset    = 0x100,
        3710     .map_io     = am335x_evm_map_io,
        3711     .init_early = am33xx_init_early,
        3712     .init_irq   = ti81xx_init_irq,
        3713     .handle_irq     = omap3_intc_handle_irq,
        3714     .timer      = &omap3_am33xx_timer,
        3715     .init_machine   = am335x_evm_init,
        3716 MACHINE_END
    
        // 添加自己的配置
        // vim arch/arm/tools/mach-types
        1129 am335xevm       MACH_AM335XEVM      AM335XEVM       3589
        1130 am335xiaevm     MACH_AM335XIAEVM    AM335XIAEVM     3684
        1131 aplex_ECM_5412  MACH_APLEX_ECM_5412 APLEX_ECM_5412  3688
    
        vim arch/arm/plat-omap/include/plat/uncompress.h
        里面
        197         DEBUG_LL_AM33XX(1, aplex_ECM_5412); 
    
    • 最后, 在 make menuconfig 里面添加

        // make menuconfig 
            System Type  --->
                TI OMAP2/3/4 Specific Features  --->
                    [*] Aplex ECM_5412
    
    • 编译

        make -j4
    
    • 对应的 uboot 还要作修改。

        仅仅只是 kernel 的修改还是不够的,虽然刚才编译通过了,但是将这个镜像烧入,发现还是无法起来,这是为什么呢。
        查了一下原因,发现是 uboot 中还要作相对应的修改。
    
        板级文件的复制
        board/aplex/ECM_5410
    
        //  在uboot 中添加相对应的宏:
        //  arch/arm/include/asm/mach-types.h
         3315 #define MACH_TYPE_TIAM335EVM           3589
         3316 #define MACH_TYPE_TIAM335IAEVM         3684
         3317 #define MACH_APLEX_ECM_5412            3688
    
        // 在板级文件中修改相对应的参数。
        // vim board/aplex/ECM_5412/evm.c
        436     if (board_id == IA_BOARD)
        437         gd->bd->bi_arch_number = MACH_TYPE_TIAM335IAEVM;
        438     else
        439         gd->bd->bi_arch_number = MACH_APLEX_ECM_5412;
    
        cp include/configs/ok335x.h  include/configs/ECM_5412.h
    
        最后还要在 boards.cfg 里面加入对应规则
        ECM_5416                     arm         armv7       ECM_5416            aplex          ti81xx
    
        make ECM_5412   O=out -j4
    
  • 相关阅读:
    易语言常用源码
    ci的数据库地址
    格式化输出php数组
    mysql插入表情问题
    线程、进程与协程2
    线程、进程与协程
    if __name=='__main__"的作用
    动态导入模块
    面向对象补充之方法
    getpass模块
  • 原文地址:https://www.cnblogs.com/chenfulin5/p/7453703.html
Copyright © 2011-2022 走看看