Yocto为基于Sabresd的自定义板编译的U-Boot无法启动

时间:2019-01-07 15:30:30

标签: cross-compiling yocto u-boot imx6

我有一个正在运行的yocto层,它是为raspberrypi做的,我想让这一层在一家小型德国制造商的电路板上运行。

他们声称拥有Yocto BSP,但遗憾的是没有,因为这些板基于SaberSD板,所以我试图基于SaberSD BSP编写自己的BSP层。

所有内容都可以编译,但是.sdcard图像不起作用(甚至屏幕背光都无法打开),因为它们使用了不同的dd命令:

sudo dd if=$UBOOT_FILE of=${SDCARD_DEV} bs=1k seek=1 skip=1 conv=fsync

所以最大的不同是skip=1,它跳过了uboot文件的第一个KB。知道为什么这样做是必要的/他们的u-boot映像有什么不同吗?

所以我用他们的dd命令编写了引导程序,然后我看到了引导徽标,但是什么也没发生。

接下来,我尝试使用不同的gcc版本手动交叉编译u-boot。

  1. 制造商gcc(arm-eabi-gcc(GCC)4.6.x-google 20120106(预发行版))
  2. Ubuntu提供的gcc(arm-linux-gnueabihf-gcc(Ubuntu / Linaro 7.3.0-27ubuntu1〜18.04)7.3.0)
  3. yocto创建了fslc sdk(arm-fslc-linux-gnueabi-gcc(GCC)6.4.0)

使用1和2,当我使用制造商提供的内核时,就可以启动该板(我的内核配方尚未完成)。 但是用yocto交叉编译的版本再次卡在启动徽标中。

由于我只看到bootlogo,所以我不知道是什么问题。我尝试寻找从引导加载程序中获取一些日志的方法,但是大多数方法都需要一个串行控制台(该板没有此控制台)。

因此,任何提示,无论如何将日志输出打开到屏幕上,或者为什么yocto版本都无法正常工作,以及我接下来可以尝试的操作,都将非常有用!

我还阅读了很多有关uboot控制台的信息,但无法将其放入其中(我认为是因为无法识别USB键盘)。有没有办法直接引导到uboot控制台?

我认为现在发布所有配置并不是真正有用,因为这基本上是不同工具链版本的问题,而且我也不了解如何从u-boot获取一些输出。但是,如果有人需要了解更多信息,我很乐意提供!

0 个答案:

没有答案