如何为Raspberry Pi2构建

时间:2016-11-15 06:31:54

标签: cobalt

当我尝试为Raspberry Pi2构建时,选项为raspi-2,对吗?

$ gyp_cobalt raspi-2

$ ninja -C out/raspi-2_debug cobalt

2 个答案:

答案 0 :(得分:1)

目前还没有raspi-2配置,但raspi-1配置将在Raspberry Pi Zero,1,2和3上运行。它不会利用Raspberry上提供的Neon指令集Pi 2,但它会运行。 Broadcom 2835(RasPi 0,1)和2836(RasPi 2)都是32位ARM芯片,因此编译为指令集的公共子集的二进制文件应该在两个设备上运行。

创建raspi-2配置并不会太困难。

$ cd src/starboard/raspi
$ cp -R 1/ 2

修改src / starboard / rapi / 2 / gyp_configuration.gypi和src / starboard / rapi / 2 / gyp_configuration.py以引用' raspi-2'他们所指的是' raspi-1'。

然后有人可以修改gyp_configuration.gypi来为Raspberry Pi 2传递更合适的编译器标志。人们可能还想设置这些属性,以便在libwebp中启用Neon程序集优化:

'arm_version': 7,
'armv7': 1,
'arm_neon': 1,

答案 1 :(得分:0)

感谢。 我把它们放在一起。

    $ cd ~/
    $ git clone https://cobalt.googlesource.com/cobalt
    $ cd cobalt/src/startboard/raspi
    $ cp -R 1/ 2
    $ cd 2/
    $ vi gyp_configuration.gypi

修改第37-40行并在第167-180行将 rasp-1 更改为 rasp-2

    # RasPi 2 is ARMv7
    'arm_version': 7,
    'armv7': 1,
    'arm_neon': 1,

    ....

    'default_configuration': 'raspi-2_debug',
    'configurations': {
      'raspi-2_debug': {
        'inherit_from': ['debug_base'],
      },
      'raspi-2_devel': {
        'inherit_from': ['devel_base'],
      },
      'raspi-2_qa': {
        'inherit_from': ['qa_base'],
      },
      'raspi-2_gold': {
        'inherit_from': ['gold_base'],
      },

然后,

    $ vi gyp_configuration.py

修改第14行,并在第25行将 rasp-1 更改为 rasp-2

    """Starboard Raspberry Pi 2 platform configuration for gyp_cobalt."""

    ....

    return _PlatformConfig('raspi-2')

然后,设置$ RASPI_HOME,就像手册的描述一样。

    $ export RASPI_HOME=~/raspi-tools
    $ cd ~/cobalt/src/
    $ cobalt/build/gyp_cobalt raspi-2
    $ ls out/
    ./
    ../
    raspi-2_debug/
    raspi-2_devel/
    raspi-2_gold/
    raspi-2_qa/
    $ ninja -C out/raspi-2_debug cobalt

但是找不到clang ++命令。 并且以下路径中没有 llvm-build

    cobalt/src/third_party/

它在哪里?