拿到一个uboot 后,我都想添加一个属于自己的board文件以及include/configs/*.h 文件。

如何添加这个些文件,今天来记录一下。



复制一份你所参考的板级文件,比如说board/vscom/baltos/ 复制为board/sbc7109 文件夹
修改board/sbc7109/Kconfig 里面的内容

    if TARGET_AM335X_SBC7109   // 这个是等下make menuconfig 指定的一个宏

    config SYS_BOARD            //指定你的board 文件
default "sbc7109" config SYS_SOC //指定你的 soc 文件
default "am33xx" config SYS_CONFIG_NAME //指定你的 include/configs/am335x_sbc7109.h 为配置头文件
default "am335x_sbc7109" config CONS_INDEX
int "UART used for console"
range 1 6
default 1
help
The AM335x SoC has a total of 6 UARTs (UART0 to UART5 as referenced
in documentation, etc) available to it. Depending on your specific
board you may want something other than UART0. endif



修改完这个文件之后,将board/sbc7109/Kconfig 添加到arch/arm/Kconfig
添加如下内容:

    source "board/sbc7109/Kconfig"

在最后面endmenu 之前添加。



在arch/arm/Kconfig 里面添加:

    377 config TARGET_AM335X_SBC7109        //这个宏就是上面那个 if TARGET_AM335X_SBC7109 的前置条件
378 bool "Support am335x_sbc7109"
379 select CPU_V7
380 select SUPPORT_SPL
381 select DM
382 select DM_SERIAL
383 select DM_GPIO



复制 include/configs/baltos.h 为include/configs/am335x_sbc7109.h

    修改include/configs/am335x_sbc7109.h 里面的一个宏定义:
#define CONFIG_SYS_LDSCRIPT "board/sbc7109/u-boot.lds"



修改board/sbc7109/u-boot.lds 里面的一个内容

     34     .text :
35 {
36 *(.__image_copy_start)
37 *(.vectors)
38 CPUDIR/start.o (.text*)
39 board/sbc7109/built-in.o (.text*)
40 *(.text*)
41 }



复制 configs/am335x_baltos_defconfig 为 configs/am335x_sbc7109_defconfig

    修改configs/am335x_sbc7109_defconfig 里面的内容,如下:
将 CONFIG_TARGET_AM335X_BALTOS=y 替换为:
CONFIG_TARGET_AM335X_SBC7109=y

修改对应board/sbc7109/MAINTAINERS 里面的内容

    BALTOS BOARD
M: Yegor Yefremov <yegorslists@googlemail.com>
S: Maintained
F: board/sbc7109/
F: include/configs/am335x_sbc7109.h
F: configs/am335x_sbc7109_defconfig



ok ,做完上面的动作,在u-boot 根目录进行 make am335x_sbc7109_defconfig


cat .config

     23 CONFIG_SYS_ARCH="arm"
24 CONFIG_SYS_CPU="armv7"
25 CONFIG_SYS_SOC="am33xx"
26 CONFIG_SYS_BOARD="sbc7109"
27 CONFIG_SYS_CONFIG_NAME="am335x_sbc7109"



再进行编译

    make -j2



完成

最新文章

  1. .net 事务处理的三种方法
  2. (十三) [终篇] 一起学 Unix 环境高级编程 (APUE) 之 网络 IPC:套接字
  3. linux 清理内存命令 查看内存命令
  4. java基础疑难点总结之成员变量的继承,方法重载与重写的区别,多态与动态绑定
  5. 支撑向量机(SVM)
  6. android开发 缩放到指定比例的尺寸
  7. mac下编译optool方法
  8. MAC OSX 下安装 CTAGS
  9. android4.0 的图库Gallery2代码分析(一)
  10. C语言的函数调用过程
  11. Python邮件发送脚本(Linux,Windows)通用
  12. Jedis与Lua脚本结合
  13. 从零开始写一个武侠冒险游戏-0-开发框架Codea简介
  14. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十四)Structured Streaming:Encoder
  15. mget命令, ftp命令详解
  16. Python 创建字典的多种方式
  17. linux安装rzsz(lrzsz)
  18. excel中,一系列单元格中包含某一个字段的单元格数量?
  19. PPI协议(西门子PLCS7-200)
  20. Oracle数据库01

热门文章

  1. TP3.2批量上传文件(图片),解决同名冲突问题
  2. smokeping with tcpping centos 7 环境
  3. hduoj---Tempter of the Bone
  4. 使用JavaStcript对数组元素去重的方法
  5. 【LeetCode】40. Combination Sum II (2 solutions)
  6. 马哥 Linux文本处理和文件查找 笔记
  7. MongoDB基本管理命令 [转]
  8. 在js或css后加?v= 版本号不让浏览器缓存
  9. Smarty中section的使用
  10. Linux标识进程