Changes between Initial Version and Version 1 of armadillo/crossenv


Ignore:
Timestamp:
06/08/12 15:25:35 (11 years ago)
Author:
michkawa
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