= armadillo 9/2x0 シリーズ = 今回は、armadillo-240を使っています。 ATDE は 2.0 を使用しますので、製品に付属しているCD-ROMか、HPからダウンロードするかして、vmwareで起動します。[[br]] 今回の開発は、PCとの接続には'''デバッグ用シリアルポートにシリアルクロスケーブルで接続していることを前提としています'''のでご注意。[[br]] == ディスクイメージの作成 == ログイン後、armadilloで使用するディスクイメージを作成するためにatmark-distとlinuxカーネルソースをダウンロードして、展開します。 イメージの作り方は[http://armadillo.atmark-techno.com/files/downloads/dist/atmark-dist_developers_guide_ja-1.0.9.pdf Atmark Dist 開発ガイド]を読んで下さい。 {{{ 2012/6/8時点での最新なので、変わる場合があります。 [user>] wget http://armadillo.atmark-techno.com/files/downloads/dist/atmark-dist-20120222.tar.gz [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 [user>] tar zxvf atmark-dist-20120222.tar.gz [user>] tar zxvf linux-2.6.12.3-a9-18.tar.gz [user>] cd atmark-dist-20120222 [user>] ln -s ../linux-2.6.12.3-a9-18 linux-2.6.x [user>] make config config/mkconfig > config.in # # No defaults found # * * Vendor/Product Selection ** * Select the Vendor you wish to target * Vendor (3com, ADI, Akizuki, Apple, Arcturus, Arnewsh, AtmarkTechno, Atmel, Avnet, Cirrus, Cogent, Conexant, Cwlinux, CyberGuard, Cytek, Exys, Feith, Future, GDB, Hitachi, Imt, Insight, Intel, KendinMicrel, LEOX, Mecel, Midas, Motorola, NEC, NetSilicon, Netburner, Nintendo, OPENcores, Promise, SNEHA, SSV, SWARM, Samsung, SecureEdge, Signal, SnapGear, Soekris, Sony, StrawberryLinux, TI, TeleIP, Triscend, Via, Weiss, Xilinx, senTec) [SnapGear] (NEW) AtmarkTechno * * Select the Product you wish to target * AtmarkTechno Products (Armadillo, Armadillo-210.Base, Armadillo-210.Recover, Armadillo-220.Base, Armadillo-220.Recover, Armadillo-230.Base, Armadillo-230.Recover, Armadillo-240.Base, Armadillo-240.Recover, Armadillo-300, Armadillo-500, Armadillo-9, Armadillo-9.PCMCIA, Armadillo-J.Base, Armadillo-J.Jffs2, Armadillo-J.Recover, SUZAKU-V.SZ310, SUZAKU-V.SZ310-SIL, SUZAKU-V.SZ410, SUZAKU-V.SZ410-SIL) [Armadillo] (NEW) Armadillo-240.Recover * * Kernel/Library/Defaults Selection * * * Kernel is linux-2.6.x * Cross-dev (default, arm-vfp, arm, armnommu, common, h8300, host, i386, i960, m68knommu, microblaze, mips, powerpc, sh) [default] (NEW) Libc Version (None, glibc, uC-libc, uClibc) [uClibc] (NEW) None Default all settings (lose changes) (CONFIG_DEFAULTS_OVERRIDE) [N/y/?] (NEW) y Customize Kernel Settings (CONFIG_DEFAULTS_KERNEL) [N/y/?] n Customize Vendor/User Settings (CONFIG_DEFAULTS_VENDOR) [N/y/?] n Update Default Vendor Settings (CONFIG_DEFAULTS_VENDOR_UPDATE) [N/y/?] n [user>] make dep [user>] make all }}} これで、デフォルト状態のディスクイメージの作成が作成されました。 == EPICS のコンパイル == EPICSのコンパイルは普段通りで問題ありません。ここでは、baseのみコンパイルします。 {{{ [user>] mkdir ~/epics [user>] cd ~/epics [user>] wget http://www.aps.anl.gov/epics/download/base/baseR3.14.12.2.tar.gz [user>] tar zxvf base-R3.14.12.2.tar.gz [user>] cd base-3.14.12.2/configure [user>] vi CONFIG_SITE CROSS_COMPILER_TARGET_ARCHS=linux-arm CROSS_COMPILER_HOST_ARCHS=linux-x86 [user>] cd .. [user>] make }}} これでコンパイルは通るはずです。[[br]] 途中でライブラリがなくてエラーになるなら、パッケージをインストールして下さい。 == ディスクイメージへの追加 == 今回は Out of Tree 状態でのインストールの説明をします。[[br]] コンパイルしたEPICSをarmadillo-240上で動作させるために、作っておいたイメージにコピーします。 {{{ [user>] cd ~/epics/base-3.14.12.2 [user>] cp lib/*.so ~/atmark-dist-20120222/romfs/lib/ [user>] chmod u+w ~/atmark-dist-20120222/romfs/lib/ [user>] cp bin/* ~/atmark-dist-20120222/romfs/usr/bin/ [user>] chmod u+w ~/atmark-dist-20120222/romfs/usr/bin/ }}} ファイルのコピーをしたら、ディスクイメージを作り直します。 {{{ [user>] cd ~/atmark-dist-20120222 [user>] make romfs [user>] make image }}} ディスクイメージができたら、ファイルをarmadilloに転送します。[[br]] ここがちょっと面倒で時間がかかりますので、[http://armadillo.atmark-techno.com/files/downloads/armadillo-240/doc/armadillo-200_series_hardware_manual_ja-2.1.4.pdf Armadillo-200シリーズ ソフトウェアマニュアル]の'''6.フラッシュメモリの書き換え'''を読んで下さい。[[br]] 一応、手順としては、 * armadilloの電源を落とす。 * JP2をジャンパピンでショート。 * armadilloの電源をON * ATDEからhermitでフラッシュメモリを書き換え。 {{{ [root#] cd ~/atmark-dist-20120222/images [root#] hermit download --input-file linux.bin.gz --region kernel [root#] hermit download --input-file romfs.img.gz --region userland }}} となります。[[br]] 普通はuserlandだけを書き換えるのでromfsだけを転送します。 フラッシュメモリの書き換えが終わったら、armadilloを再起動します。 ATDEから、hermitをtarminalで起動します。 {{{ [root#] hermit terminal }}} 起動画面が表示されますので、ログインプロンプトが表示されたらrootでログインします。 あとは、適当にcaget等を実行して結果がかえってくればOK。