0

我正在尝试在我的嵌入式设备中安装 GNU Radio(安装了 ubuntu 12.04 的 beagle bone)。

按照此Gnuradio 安装说明 页面的说明进行操作后,我被困在“MAKE”中。

由于我使用的是 ARM 处理器:

root@omap:/opt/gnuradio/build# cat /proc/cpuinfo
Processor   : ARMv7 Processor rev 2 (v7l)
BogoMIPS    : 274.24
Features    : swp half thumb fastmult vfp edsp thumbee neon vfpv3 tls 
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x3
CPU part    : 0xc08
CPU revision    : 2

Hardware    : am335xevm
Revision    : 0000
Serial      : 0000000000000000

我在做:

# cmake  -DCMAKE_CXX_FLAGS:STRING="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -g" \

-DCMAKE_C_FLAGS:STRING="-mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -g" \

 /opt/gnuradio

这就是我最后得到的:

-- ######################################################
-- # Gnuradio enabled components                         
-- ######################################################
--   * python-support
--   * testing-support
--   * volk
--   * doxygen
--   * gruel
--   * gnuradio-core
--   * gnuradio-companion
--   * gr-fft
--   * gr-filter
--   * gr-atsc
--   * gr-audio
--   * gr-digital
--   * gr-noaa
--   * gr-pager
--   * gr-qtgui
--   * gr-trellis
--   * gr-utils
--   * gr-video-sdl
--   * gr-vocoder
--   * gr-fcd
--   * gr-wavelet
--   * gr-wxgui
-- 
-- ######################################################
-- # Gnuradio disabled components                        
-- ######################################################
--   * sphinx
--   * gr-comedi
--   * gr-uhd
--   * gr-shd
-- 
-- Using install prefix: /usr/local
-- Building for version: 3.6.2git-117-gf8581fb4 / 3.6.2git
-- Configuring done
-- Generating done
-- Build files have been written to: /opt/gnuradio/build

之后当我做的时候,它卡住了..

root@omap:/opt/gnuradio/build# make -k
[  1%] Built target volk
[  1%] Built target test_all
[  2%] Built target volk_profile
[  2%] Built target doxygen_target
[  3%] Built target gruel
[  3%] Built target test_gruel
[  3%] Built target _pmt_swig_doc_tag
[  3%] Built target _pmt_swig_swig_tag
[  3%] Built target _pmt_swig
[  3%] Built target pygen_gruel_src_swig_6bac3
[  3%] Built target pygen_gruel_src_python_16cbc
[  4%] Built target pygen_gruel_src_python_319f9
[ 34%] Built target gnuradio-core
[ 34%] Built target gnuradio-config-info
[ 34%] Built target gr_core_rstest
[ 36%] Built target test-gnuradio-core
[ 36%] Built target benchmark_dotprod_ccc
[ 36%] Built target benchmark_dotprod_ccf
[ 36%] Built target benchmark_dotprod_fcc
[ 36%] Built target benchmark_dotprod_fff
[ 36%] Built target benchmark_dotprod_fsf
[ 36%] Built target benchmark_dotprod_scc
[ 36%] Built target benchmark_nco
[ 36%] Built target benchmark_vco
[ 36%] Built target gr_core_test_all
[ 36%] Built target test_filter
[ 36%] Built target test_general
[ 36%] Built target test_runtime
[ 36%] Built target test_vmcircbuf
[ 36%] Built target _filter_swig_doc_tag
[ 36%] Built target _general_swig_doc_tag
[ 36%] Built target _gengen_swig_doc_tag
[ 40%] Built target gengen_generated
[ 40%] Built target filter_generated
[ 40%] Built target _gnuradio_core_filter_swig_tag
[ 41%] Built target _runtime_swig_doc_tag
[ 42%] Built target _gnuradio_core_filter
[ 42%] Built target _gnuradio_core_general_swig_tag
[ 42%] Building CXX object gnuradio-core/src/lib/swig/CMakeFiles  
    /_gnuradio_core_general.dir/gnuradio_core_generalPYTHON_wrap.cxx.o

在这个地方,内存完全用完了(256 MB DDR2 RAM)。我什至不得不进行 256 MB 的 linux-swap 以避免“虚拟内存耗尽”错误。

谁能告诉我这里发生了什么以及如何解决这个问题。

ps:有没有人在beagle-bone 上安装了GNU radio?

提前致谢

萨纳坦

4

2 回答 2

0

这是一个众所周知的问题。您的嵌入式设备上没有足够的 RAM 来实际构建 GNURadio。GCC实际上正在耗尽内存空间,并且正在死亡。你的虚拟内存空间有帮助,但 Swig 是一头野兽。

你有几个选择:

  1. 在另一个系统上交叉编译 GNURadio 并将 ipkg / binary / 等移动到您的嵌入式设备。
  2. 使用预打包的二进制安装安装 GNURadio(这些可用于 Angstrom - 不确定 Ubuntu ARM)。
  3. 通过网络挂载您的嵌入式设备,并将其从另一台机器直接交叉编译到文件系统中

还有一些其他的,但这些是立即想到的选项。

于 2013-08-18T20:36:17.087 回答
0

你试过make没有这个-k选项吗?

于 2012-07-10T20:42:08.217 回答