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
posted @ 2017-08-30 16:19  陈富林  阅读(820)  评论(0编辑  收藏  举报