Changes between Initial Version and Version 1 of armadillo/crossenv


Ignore:
Timestamp:
06/08/12 15:25:35 (13 years ago)
Author:
Tetsuya Michikawa
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • armadillo/crossenv

    v1 v1  
     1= AtmarkTechno Armadillo シリーズのEPICS化 =
     2
     3[http://www.atmark-techno.com/ AtmarkTechno社]製の組込みプラットフォーム[http://armadillo.atmark-techno.com/ Armadillo]シリーズをEPICS対応させるための情報です。
     4
     5Yokogawa F3 よりも安くて消費電力も少なくて済むので色々なところで使えるのではないかと思いますが、使っている人がほとんど居ないようなので、開発に使えるようにするために奮闘していくつもりです。[[br]]CPUが arm なので、androidのこともチヨットだけ視野に入れてます。
     6
     7開発は基本的に開発元が提供している開発環境 ATDE 上で行います。ATDE は vmware 上の仮想環境でDebian系のlinuxです。クロスコンパイル環境が作れれば普通のLinux上でもできますが、今のところ成功していないので、、、
     8ATDEの設定等は[http://armadillo.atmark-techno.com/beginners 会社のホームページ]を参照して下さい。
     9
     10== armadillo 9/2x0 シリーズ ==
     11
     12今回は、armadillo-240を使っています。
     13ATDE は 2.0 を使用しますので、製品に付属しているCD-ROMか、HPからダウンロードするかして、vmwareで起動します。[[br]]
     14今回の開発は、PCとの接続には'''デバッグ用シリアルポートにシリアルクロスケーブルで接続していることを前提としています'''のでご注意。[[br]]
     15
     16=== ディスクイメージの作成 ===
     17
     18ログイン後、armadilloで使用するディスクイメージを作成するためにatmark-distとlinuxカーネルソースをダウンロードして、展開します。
     19イメージの作り方は[http://armadillo.atmark-techno.com/files/downloads/dist/atmark-dist_developers_guide_ja-1.0.9.pdf Atmark Dist 開発ガイド]を読んで下さい。
     20
     21{{{
     222012/6/8時点での最新なので、変わる場合があります。
     23[user>] wget http://armadillo.atmark-techno.com/files/downloads/dist/atmark-dist-20120222.tar.gz
     24[user>] wget http://armadillo.atmark-techno.com/files/downloads/kernel-source/linux-2.6.12.3-a9/linux-2.6.12.3-a9-18.tar.gz
     25
     26[user>] tar zxvf atmark-dist-20120222.tar.gz
     27[user>] tar zxvf linux-2.6.12.3-a9-18.tar.gz
     28[user>] cd atmark-dist-20120222
     29[user>] ln -s ../linux-2.6.12.3-a9-18 linux-2.6.x
     30[user>] make config
     31config/mkconfig > config.in
     32#
     33# No defaults found
     34#
     35*
     36* Vendor/Product Selection
     37**
     38* Select the Vendor you wish to target
     39*
     40Vendor (3com, ADI, Akizuki, Apple, Arcturus, Arnewsh, AtmarkTechno, Atmel, Avnet, Cirrus,
     41Cogent, Conexant, Cwlinux, CyberGuard, Cytek, Exys, Feith, Future, GDB, Hitachi, Imt,
     42Insight, Intel, KendinMicrel, LEOX, Mecel, Midas, Motorola, NEC, NetSilicon, Netburner,
     43Nintendo, OPENcores, Promise, SNEHA, SSV, SWARM, Samsung, SecureEdge, Signal, SnapGear,
     44Soekris, Sony, StrawberryLinux, TI, TeleIP, Triscend, Via, Weiss, Xilinx, senTec) [SnapGear]
     45(NEW) AtmarkTechno
     46
     47*
     48* Select the Product you wish to target
     49*
     50AtmarkTechno Products (Armadillo, Armadillo-210.Base, Armadillo-210.Recover,
     51Armadillo-220.Base, Armadillo-220.Recover, Armadillo-230.Base, Armadillo-230.Recover,
     52Armadillo-240.Base, Armadillo-240.Recover, Armadillo-300, Armadillo-500, Armadillo-9,
     53Armadillo-9.PCMCIA, Armadillo-J.Base, Armadillo-J.Jffs2, Armadillo-J.Recover,
     54SUZAKU-V.SZ310, SUZAKU-V.SZ310-SIL, SUZAKU-V.SZ410, SUZAKU-V.SZ410-SIL) [Armadillo]
     55(NEW) Armadillo-240.Recover
     56
     57*
     58* Kernel/Library/Defaults Selection
     59*
     60*
     61* Kernel is linux-2.6.x
     62*
     63Cross-dev (default, arm-vfp, arm, armnommu, common, h8300, host, i386, i960, m68knommu,
     64microblaze, mips, powerpc, sh) [default] (NEW)
     65
     66Libc Version (None, glibc, uC-libc, uClibc) [uClibc] (NEW) None
     67
     68Default all settings (lose changes) (CONFIG_DEFAULTS_OVERRIDE) [N/y/?] (NEW) y
     69Customize Kernel Settings (CONFIG_DEFAULTS_KERNEL) [N/y/?] n
     70Customize Vendor/User Settings (CONFIG_DEFAULTS_VENDOR) [N/y/?] n
     71Update Default Vendor Settings (CONFIG_DEFAULTS_VENDOR_UPDATE) [N/y/?] n
     72
     73[user>] make dep
     74[user>] make all
     75}}}
     76
     77これで、デフォルト状態のディスクイメージの作成が作成されました。
     78
     79=== EPICS のコンパイル ===
     80
     81EPICSのコンパイルは普段通りで問題ありません。ここでは、baseのみコンパイルします。
     82
     83{{{
     84[user>] mkdir ~/epics
     85[user>] cd ~/epics
     86[user>] wget http://www.aps.anl.gov/epics/download/base/baseR3.14.12.2.tar.gz
     87[user>] tar zxvf base-R3.14.12.2.tar.gz
     88
     89[user>] cd base-3.14.12.2/configure
     90[user>] vi CONFIG_SITE
     91CROSS_COMPILER_TARGET_ARCHS=linux-arm
     92CROSS_COMPILER_HOST_ARCHS=linux-x86
     93
     94[user>] cd ..
     95[user>] make
     96}}}
     97
     98これでコンパイルは通るはずです。[[br]]
     99途中でライブラリがなくてエラーになるなら、パッケージをインストールして下さい。
     100
     101=== ディスクイメージへの追加 ===
     102
     103今回は Out of Tree 状態でのインストールの説明をします。[[br]]
     104コンパイルしたEPICSをarmadillo-240上で動作させるために、作っておいたイメージにコピーします。
     105
     106{{{
     107[user>] cd ~/epics/base-3.14.12.2
     108[user>] cp lib/*.so ~/atmark-dist-20120222/romfs/lib/
     109[user>] chmod u+w ~/atmark-dist-20120222/romfs/lib/
     110[user>] cp bin/* ~/atmark-dist-20120222/romfs/usr/bin/
     111[user>] chmod u+w ~/atmark-dist-20120222/romfs/usr/bin/
     112}}}
     113
     114ファイルのコピーをしたら、ディスクイメージを作り直します。
     115
     116{{{
     117[user>] cd ~/atmark-dist-20120222
     118[user>] make romfs
     119[user>] make image
     120}}}
     121
     122ディスクイメージができたら、ファイルをarmadilloに転送します。[[br]]
     123ここがちょっと面倒で時間がかかりますので、[http://armadillo.atmark-techno.com/files/downloads/armadillo-240/doc/armadillo-200_series_hardware_manual_ja-2.1.4.pdf Armadillo-200シリーズ ソフトウェアマニュアル]の'''6.フラッシュメモリの書き換え'''を読んで下さい。[[br]]
     124
     125一応、手順としては、
     126
     127 * armadilloの電源を落とす。
     128 * JP2をジャンパピンでショート。
     129 * armadilloの電源をON
     130 * ATDEからhermitでフラッシュメモリを書き換え。
     131
     132{{{
     133[root#] cd ~/atmark-dist-20120222/images
     134[root#] hermit download --input-file linux.bin.gz --region kernel
     135[root#] hermit download --input-file romfs.img.gz --region userland
     136}}}
     137
     138となります。[[br]]
     139普通はuserlandだけを書き換えるのでromfsだけを転送します。
     140
     141フラッシュメモリの書き換えが終わったら、armadilloを再起動します。
     142
     143ATDEから、hermitをtarminalで起動します。
     144
     145{{{
     146[root#] hermit terminal
     147}}}
     148
     149起動画面が表示されますので、ログインプロンプトが表示されたらrootでログインします。
     150
     151あとは、適当にcaget等を実行して結果がかえってくればOK。
     152