NTシステムデザインの技術メモ

GumstixOveroメモ

最終更新:

ntaka206

- view
管理者のみ編集可

このwikiは下記のURLに移転しました。





Gumstix Overo CPUボード

Gumstix Overo COMs - Feature Overview <http://www.gumstix.net/Hardware/view/Hardware-Feature-Overview-Sheets/Gumstix-Overo-Feature-Overview/112.html>
CPU TI OMAP3503 600 MHz ARM Cortex A8
消費電力1W以下 カタログ値


プロセッサ Texas Instruments OMAP


開発環境

ビルドシステム

Gumstix用のビルドシステムは、Openembeddedを採用している。クロスコンパイル環境まで含んでいる。
一番最初のビルドは、必要なパッケージのダウンロードとコンパイルを行うのでかなり時間がかかる。
Openembedded <http://wiki.openembedded.net/index.php/Main_Page>

ディストリビューション

Angstrom distributionを採用している。
The Ångström Distribution | Embedded power <http://www.angstrom-distribution.org/>

Linux-OMAP

TI OMAPプロセッサ用のLinuxカーネル

Overo Earthの消費電力を抑える方法@gumstix users ML


USBシリアルをkermitで開くスクリプト

自動的にUSBシリアルを検索してkermitで開くことが出来るスクリプト。
SourceForge.net: gumstix-users <http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTikx2p9i2mpjt0h_Nd2LJEw6xqvaM_KcJYJGEjYb%40mail.gmail.com&forum_name=gumstix-users>

OMAP Power Management


bitbake perl-nativeでpthreadリンクエラー出る

日付 2011/06/01
ホスト環境 Ubuntu 11.04

OpenEmbedded環境
Build Configuration:
BB_VERSION = "1.10.2"
METADATA_BRANCH = "overo"
METADATA_REVISION = "5f79a98"
TARGET_ARCH = "arm"
TARGET_OS = "linux-gnueabi"
MACHINE = "overo"
DISTRO = "angstrom"
DISTRO_VERSION = "2010.7-test-20110531"
TARGET_FPU = "hard"

bitbake perl-nativeでpthreadやsin/cosなどのリンクエラーが出る問題。

| gcc -L/home/ntaka/dev/overo-oe/tmp/sysroots/i686-linux/usr/lib -Wl,-rpath-link,/home/ntaka/dev/overo-oe/tmp/sysroots/i686-linux/usr/lib -Wl,-rpath,/home/ntaka/dev/overo-oe/tmp/sysroots/i686-linux/usr/lib -Wl,-O1 -fstack-protector -L/usr/local/lib -o miniperl \
| gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o xsutils.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o \
| miniperlmain.o opmini.o perlmini.o
| util.o: In function `Perl_safesysmalloc':
| util.c:(.text+0x488): undefined reference to `pthread_getspecific'
| util.o: In function `Perl_safesysrealloc':
| util.c:(.text+0x4fe): undefined reference to `pthread_getspecific'
| util.o: In function `Perl_croak_nocontext':
       中略
| pp.o:(.rodata+0x164): undefined reference to `cos'
| pp.o:(.rodata+0x168): undefined reference to `sin'
| pp.o:(.rodata+0x16c): undefined reference to `sin'
| pp.o:(.rodata+0x170): undefined reference to `exp'
| pp.o:(.rodata+0x174): undefined reference to `log'
| pp.o:(.rodata+0x178): undefined reference to `sqrt'
       後略
解決するにはこのパッチでよいのだが
[oe] perl-native fails on Ubuntu 11.04 <http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-May/032371.html>

このパッチは、64bit版なら良いが、32bit版だと上手くいかない。
ネタ元 [oe] perl-native fails on Ubuntu 11.04 <http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-May/032765.html>

目的のライブラリ(libpthread)は /usr/lib/i386-linux-gnu にあるから。

uname -mだとi686になってしまうが、
uname -iならi386になる

パッチファイルを手作業で修正してから当てる
26行目を修正
修正前
++test -f /usr/lib/`uname -m`-linux-gnu/libc.so && glibpth="/usr/lib/`uname -m`-linux-gnu $glibpth"
修正後
++test -f /usr/lib/`uname -i`-linux-gnu/libc.so && glibpth="/usr/lib/`uname -i`-linux-gnu $glibpth"
パッチを overo-oe/org.openembedded.dev に置く。

$ cd overo-oe/org.openembedded.dev
$ patch -b -p1 < 0001-perl-native-multilib-patch-for-ubuntu-11.04.patch
$ bitbake -c clean perl-native
$ bitbake perl-native
人気記事ランキング
目安箱バナー