1

我尝试了一些设置配置来为新板加载 u-boot。我的配置基于 Beagle Bone Black 的 U-boot。我还在https://github.com/PacktPublishing/Mastering-Embedded-Linux-Programming-Second-Edition/blob/master/Chapter03/0001-BSP-for-Nova.patch上对新板进行了一些更改。我克隆了一个新的 u-boot 并站在 master 分支上,为新板制作了配置文件后,我运行了 make。它有2个问题:

  1. 首先是关于 SYS_TEXT_BASE:

脚本/kconfig/conf --syncconfig Kconfig

.config:22:warning: 符号值 '' 对 SYS_TEXT_BASE 无效

* * 重启配置... * *

  • 启动映像 *

启用对 Android 启动映像 (ANDROID_BOOT_IMAGE) [Y/n/?] 的支持

支持扁平化图像树 (FIT) [N/y/?] n

启用对旧图像格式 (IMAGE_FORMAT_LEGACY) [Y/n/?] 的支持

在启动前在设备树中设置板特定的详细信息 (OF_BOARD_SETUP) [N/y/?] n

启动前在设备树中设置系统特定的详细信息 (OF_SYSTEM_SETUP) [N/y/?] n

从 U-Boot (OF_STDOUT_VIA_ALIAS) [N/y/?] n 更新设备树标准输出别名

额外选项(已弃用)(SYS_EXTRA_OPTIONS)[]

文本库 (SYS_TEXT_BASE) [](新)

然后我搜索 SYS_TEXT_BASE 并输入一个随机文本库:0xfff10000。但我认为它不适合 Beagle Bone。

  1. 错误LINUX_ARM_ARCH

在 ./arch/arm/include/asm/system.h:6:0 包含的文件中,

             from ./arch/arm/include/asm/cache.h:11,
             from include/net.h:15,
             from include/common.h:517,
             from lib/asm-offsets.c:14:

./arch/arm/include/asm/barriers.h:32:24: error: operator '>=' has no left operand #if LINUX_ARM_ARCH >= 7 ^~

./arch/arm/include/asm/barriers.h:36:26:错误:运算符“==”没有左操作数#elif LINUX_ARM_ARCH == 6 ^~ Kbuild:43:目标“lib/asm-offsets”的配方.s' 失败

make[1]: *** [lib/asm-offsets.s] 错误 1

Makefile:1575: 目标“prepare0”的配方失败

make: *** [prepare0] 错误 2

对于第二个问题,这是由于在 master 上重命名了一个 Kconfig 选项(CPU_V7 到 CPU_V7A)。我将 Kconfig CUP_V7A 更改为 CPU_V7,但仍然有同样的问题。请查收,谢谢。

4

1 回答 1

0

Beaglebone Black Board 的文本库是 CONFIG_SYS_TEXT_BASE=0x80100000。它在 configs/omap3_beagle_defconfig 中指定。

符号 __LINUX_ARM_ARCH__ 基于 .config 中定义的 CONFIG_SYS_ARM_ARCH 在 arch/arm/Makefile 中定义。所以你的 .config 文件一定有问题。

于 2019-03-04T19:03:44.290 回答