【发布时间】:2018-10-08 08:10:00
【问题描述】:
我正在开发定制硬件,并在我的 U-boot 复制品中添加了一个新的 myboard 板。 make 模式非常标准:
make myboard_defconfig
make
将 U-Boot 配置设置为 myboard 默认值,然后构建生成的 U-boot 映像。一切正常,但我需要更进一步。
硬件实际上有两种密切相关的风格,我需要为这两种风格构建略有不同的 U-Boot 映像。我不想定义两个完全不同的板,而是两次构建相同的板类型,但 CONFIG_MYBOARD_XXXX 符号具有不同的值。然后我的myboard.c 文件将有一个#if CONFIG_MYBOARD_XXXX == YYYY 测试来区分结果。
问题:我想在我的父级 Makefile 中设置 CONFIG_MYBOARD_XXXX 的值,而不是通过运行像 make menuconfig 这样的任何交互方式。
这样做的“正确”方法是什么?
【问题讨论】:
-
IMO 的“正确方法” 是彻底改变您的想法,为您的两块板提供一个通用版本的 U-Boot。拥有可以识别哪个板正在使用的代码。工程、生产和支持必须处理的程序变化越少越好。这种做法的一个极端例子是 Nvidia 的统一驱动程序:对于一个 Windows 操作系统版本,所有 Nvidia 图形适配器只有一个驱动程序。
-
点得很好,但我的“两种不同风格”实际上是不同启动配置的同一块板。因此,
make进程将构建这两种类型以创建灵活的启动映像。 (还有,谢谢。)
标签: configuration u-boot