当我尝试构建时Raspberry Pi2
,选项是raspi-2
,对吗?
$ gyp_cobalt raspi-2
$ ninja -C out/raspi-2_debug cobalt
当我尝试构建时Raspberry Pi2
,选项是raspi-2
,对吗?
$ gyp_cobalt raspi-2
$ ninja -C out/raspi-2_debug cobalt
目前没有 raspi-2 配置,但 raspi-1 配置将在 Raspberry Pi Zero、1、2 和 3 上运行。它不会利用 Raspberry Pi 2 上可用的 Neon 指令集,但它会跑。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,
谢谢。我把它们放在一起。
$ 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/
它在哪里 ?