行きましょう
ここからはタクシーを使いましょう
タクシーとの待ち合わせは
八十二銀行大門支店の前あたりがわかり易いでしょう
有名な藤屋旅館の前もわかり易いですよ
(ちなみにここのティールームの雰囲気は最高です)
お薦めのお蕎麦屋さんはこちらです。※タクシー料金は当社の運賃表によります。道路の運雑状況によって料金は変わります。
定休日 / 月曜日、火曜日の夜
(お昼の忙しい時間に電話するのはご遠慮願います)
※お休みの場合は他にお薦めのお蕎麦屋さんにご案内します。美味しいお蕎麦屋さんは長野市には沢山ございますのでドライバーにどのようなお蕎麦がお好みか話して下さい。
ここのお蕎麦は典型的な戸隠そば
おでんは一本100円で帰る時に清算です。
(おでんも食べたい方は大盛りを注文しないことをお薦めします)
お腹がいっぱいになったら温泉へ行きましょう
お薦めの温泉はうるおい館さんです。料金は一般の方は650円 ここは完全な天然温泉です。土日祝日は地元の方で大変混み合っていますのでご了承願います。
(そのぐらい大人気なんです)
韓国式サウナ、よもぎサウナ等も大好評のようです。※タクシー料金は当社の運賃表によります。道路の運雑状況によって料金は変わります。
超特選観光コースについて
料金はすべて消費税込みです。大人1名〜4名の料金になっております。もちろん、モデルコース以外のご希望コースを回ることもさせて頂きます。※入館料・有料道路料金・お食事代などは実費をご負担いただきます。まずはお気軽に電話でご相談下さい。貸切運行料金(30分あたり) 2,960円でお好きなコースをご案内することも承ります。アットマークタクシー 車両ご紹介 | @(アットマーク)・3399と言えば長野県のアットマークタクシーです。
トップページ > 車両ご紹介
ダブルで完璧に
お肌を守ります。UVカットガラス+赤外線・紫外線カット+飛散防止フィルムを使用しており、紫外線からお肌を守ります。
室内空気清浄機を完備
※禁煙車となっております。ご了承下さい。
ほのかに香る、柑橘系アロマタクシー
ほのかなオレンジの香りで、心も体もリフレッシュ、リラックスしていただけます。
アットマークタクシーのナンバーは
トップページ > 車両ご紹介
アットマークタクシー 運賃 | @(アットマーク)・3399と言えば長野県のアットマークタクシーです。アットマークタクシーは値上げしていません。
長野市内のタクシー運賃の値上げが話題となっておりますが、アットマークタクシーは運賃を値上げしません。
その理由は、タクシーを必要としてくださる皆様に安心して身近にご利用いただきたい・・
そんな気持ちからです。比べて選べば断然違う。ご参考にご覧下さい。
拡大版はこちら→
高性能で豊富な周辺機能を持つ超小型ARM11 CPUモジュール
● はじめるには
0 R3 を簡単に試す方法を紹介します。動作させる手順は以下のようになります。ブートローダーを書き換える。動作させる手順は下記のようになります。カーネルを書き換える。0になってから、仮想マシンの設定がGUIで簡単に変更できるようになりました。ATDE3では多くの環境で利用されることを前提としているため、それほど多くのメモリを割り当てていません。ここでは、4GBのメモリを持った Windows PC を前提に、仮想マシンに割り当てるメモリの変更方法を説明します。
Howto : クロス開発用ライブラリをインストールする方法
Atmark Distに含まれていないライブラリを使いたいときに役に立つ方法です。Atmark Distにもいろいろなライブラリが入っていますが、オープンソースのライブラリ全てを入れるわけにはいきません。使いたいライブラリがAtmark Distに含まれていなくても、この方法さえ知っていれば、使えるライブラリがグンと増えます。Armadilloにログインユーザを追加する手順を説明します。追加したユーザは、ユーザランドのフラッシュイメージ内に組み込みます。debパッケージは、alienコマンドを利用してRedHat系のディストリビューションで利用できるrpmパッケージに変換できます。基本的には、arm 用のパッケージに含まれているバイナリと、関連するライブラリをコピーすれば、動作します。本 Howto では、ターゲットボードで動作する Linux カーネルモジュールを作成する方法と、作成したカーネルモジュールをターゲットボードで動作させる方法を説明します。カーネルモジュールとは、必要なときに動的にカーネルにロードまたはアンロードし、カーネルの機能を拡張することができるプログラムです。通常、デバイスドライバなどに使用されます。基本的に、関連ファイルを一旦ホストPCにコピーしてから新しいATDEにコピーすることでバージョンアップできます。Atmark Distの中でビルドされていたLinuxカーネルを新しいバージョンの物に置き換える方法について説明します。tmpfsは、一時的にデータを格納するために使えるファイルシステムです。データはHDDやUSBメモリなど物理的なストレージに格納されません。
Armadilloがネットワークに接続されているなら、同じネットワークに接続された他のPCからftpによりログインしてファイルを送受信してみましょう
ユーザーランドRAMディスクイメージを変更してみましょう
ルートファイルシステムをNFSでマウントできたら、開発効率があがりますよね
そこでNFSでマウントする手順について説明します。このHowtoは、Armadilloシリーズのソフトウェアを開発する際の参考資料としてお役立てください。お使いのソフトウェアおよびフラッシュイメージのバージョン(最新版を含む)によっては手順が異なったり正常に動作しない可能性があります。
ATDEに割り当てるメモリを変更する方法
開発情報とツール
Armadillo-9はアットマークテクノの販売代理店やオンラインショップでご購入いただけます。
ドキュメントのアップデート
仕様比較と仕様変更履歴
ドキュメントのアップデート
動作確認済み対向機器
サポートについて
以下のサポート窓口があります。用途にあわせてご利用してください。
Armadilloシリーズ以外のプラットフォームへのドライバ移植やSPIインターフェース用のドライバ、またはソフトウェアのカスタマイズ等
開発情報とツール
Armadillo-WLANはアットマークテクノの販売代理店やオンラインショップでご購入いただけます。11b/gに準拠した小型・省スペース、各種暗号化プロトコルに対応した無線LANモジュールです。※外部RFSWを制御するための制御信号を持っています。一覧 ダイアルアップルータにしてみる。
リレー回路編 その2
Armadillo-Jでリレーをコントロール出来れば応用範囲がさらに広がります。
ただの回路説明だけでは面白くありません、せっかくですからソフトもいじってみましょう(次回以降)
最終目標は「webブラウザでリレーをコントロール
リレー回路の仕様は以下の様にしました。
回路図はこちら
I/Oポートからのリレー駆動を今回はトランジスタを介して行います。I/Oポートでトランジスタを駆動する場合は、ポートの最大出力電流2mA以下でトランジスタを駆動しなければいけません。今回は駆動電流を約1mAとし、抵抗値は2kオームにしました。Armadillo-Jの電源投入時には、リレーをオフの状態からはじめられるよう論理を以下の様に決めました。ACアダプタからの電源はCON1に出ているので、そちらからから配線します。回路を試してみる。手順を簡単に説明します。汎用I/O設定ダイアログを開き、ポート1を以下の様に設定します。設定ボタンを押して下さい。
リレーが作動しましたか
作動しない場合は、回路をもう一度確認してみてください。
無事作動したら、状態をLOWに変更して、リレーがオフになるか確認してみましょう
次回は、webブラウザからリレーをコントロールする方法等を紹介します。一覧 ダイアルアップルータにしてみる。
リレー回路編 その2
NFSルートファイルシステムに挑戦
カーネルとユーザランド領域の書込許可
c を編集して、カーネル領域パーティションの
カーネル領域のmtd用デバイスノードを追加
イメージファイルを作成し、Flashに書き込む。コンパイルを行い、作成されたイメージファイルを通常の手順でFlashに書く。次に、実際にネットワーク経由で Flash を書換えてみます。書き換えるイメージをWebサーバに置く。書き換えたいイメージファイルを web サーバのアクセス可能な場所に置く。以上のように、より簡単に Flash の書換えが可能です。また、netflash には、チェックサムによるファイルの整合性チェック等、安心してUpdateするための機能も盛り込まれています。
NFSルートファイルシステムに挑戦
遅押しボタンシステム
まずは簡単なところから・・・
その名も「ネットワーク玄関ブザー(仮題)」
ボタンが押された時と、戻された時に発生するトラップを契機に次のシェルスクリプトが起動されるようにします。
# トラップの内容をチェック(エラーなら終了)
# 全ブザーの状態をボタンの状態に連動させる。簡単に玄関ブザーが実現しました。意外と会社とかで使えるかもしれません。(すべての支社でブザーが鳴る。
遅押しボタンシステム
本章では,実際の組み込み開発に必要となる準備を行います。ここからは,実際に組み込み機器を使用してマイガジェットを作成しながら,開発のポイントについて解説していきます。今回作成するのは,最近CDショップでよく目にするようになったCD試聴システムです。これを組み込み機器で自作してみます。
概要としては,CDのバーコードを読み取ってサーバにCDの情報を要求し,受信したジャケット画像の表示と,音楽再生を行うものです(図1,2)
2章で開発環境など,開発に必要な準備に関して説明した後,3章でディスプレイへの画像表示と入力イベントの処理部分を作成し,4章ではバーコードによるCDの選択と音楽のストリーミング再生部分を作成します。そして5 章で,3 章と4 章で作成した機能を統合して,CD試聴システムを完成させます。
開発前の準備
この章では,今回利用する機器と,その開発環境などに関して説明します。機器の構成は表1のようにしました。接続すると図3のようになります。
●表1 実現したい機能と使用する機器
CDのバーコード選択
ジャケット画像の表示
音楽プレイヤーの操作
音データの取得
図3 機器の接続図
●写真2 ケースに入ったところ
標準OSとしてLinuxが動作し,GNU開発環境を利用できるので,組み込み向けとはいっても手軽に開発を始めることができます。おもな仕様を表2に示します。
2ポート(1ポートはコネクタ非実装)
開発環境の構築
シリアルポートが必要なので,シリアルポートを持たないPC の場合は,USB ⇔シリアル変換ケーブルなどを用意する必要があります。
(2)開発用PC 上でコンソールソフトウェアを起動
ソフトウェアを起動し,シリアルの通信設定を表3のように設定します。
(3)ログインの実行
Armadillo-9ジャンパ2をオープン(ジャンパが外れている状態)であることを確認し,電源を入れるとコンソール上にLinuxの起動ログが表示されます。ログインプロンプトが表示されたら,ユーザ名とパスワードを入力します。デフォルトのユーザ名とパスワードは表4のようになっています。
クロス開発環境の構築
PCと比較して一般的にプロセッサ性能の低い組み込み用コンピュータでは,セルフコンパイル(実行環境上でのコンパイル)を行うとかなりの時間がかかり,あまり現実的ではありません。より開発効率を高めるため,通常はクロスコンパイルが利用されます。ログインするとシェルが起動し,一般的なコマンドが使えます。また必要に応じて実行パスを設定してください。ちなみに,Armaidllo-9ではコンパクトフラッシュなどの外部ストレージを使用し,gccをインストールすることでセルフコンパイルも可能ですが,コンパイルの速度を考えるとやはりクロスコンパイルが妥当です。Atmark Distでビルドを行うと,Linuxカーネルのイメージバイナリとユーザランドのイメージバイナリが作成されます。これらのファイルをそれぞれArmadillo-9内蔵のフラッシュメモリに書き込むことで,システムの動作を更新できます。ビルドするためには,binutils, GCC, makeなどといった通常の開発ツールの他にも,表6に記載されているパッケージが開発用PCにインストールされている必要がるので確認してください。以降の章でサンプルプログラムを作成するために,一度実際にビルドを行う必要があります。ここでは,デフォルトの設定ままイメージファイルを作成してみます。作業は必ず一般ユーザ権限で行います。特権ユーザ(root)で行うと,作業ミスで開発用PCの環境を壊す可能性があります。
(1)ソースコードの取得
(2)ソースアーカイブの展開
ダウンロードしたソースコードアーカイブを,任意のディレクトリに展開します。展開に500Mバイト,ビルド後には1Gバイト近くの容量が必要になるので,ハードドライブの空き容量には注意してください。
xという名前で,カーネルのディレクトリへシンボリックリンクを作成します(図4)
●図4 ソースアーカイブの展開
●図5 使用するボードのベンダ名を入力
●図6 ボード名の入力
次は,使用するCライブラリを指定します(図7)
実際には開発用PCにインストールした,ARM用のライブラリが使用されます。
●図7 使用するC ライブラリの指定
次にデフォルトの設定にするかどうか質問されるのでYesを選択します(図8)
●図8 デフォルトの設定にするかどうか
最後の3つの質問はNoと答えます(図9)
設定が終わるとプロンプトが表示されます。ビルドを実行します。ビルドの途中でいくつか質問されますが,すべて[Enter]を入力します。ビルドが終了すると,images ディレクトリにユーザランドイメージファイルとカーネルのイメージファイル,そしてそれぞれのzip圧縮ファイルが作成されます。pdfに記載されています。
フラッシュメモリに関して
組み込み向けのCPUボードでは,記憶装置としてハードディスクドライブを使用しないのが一般的です。代わりに使用される代表的なデバイスがフラッシュメモリです。最近では価格の低下に伴い,割とサイズの大きなフラッシュメモリを搭載できるようになりました。ハードディスクドライブを搭載しない組み込みシステムで用いられるおもなファイルシステムを表7に記載します。
●表7 組み込みLinux で利用されるおもなファイルシステム
保存が可能なファイルシステム
最低5ブロックの領域を 必要とするため,小さいサイズのフラッシュメモリでは 利用が難しい。
読み出し専用のファイルシステム
シンプルな構成になっている。
RAM上のファイルシステム
通常ROM上に圧縮したイメージを置き,起動時に RAM 上に伸長してマウントするので
RAMのサイズが大きく, ROMのサイズが小さい場合に有効
メモリをパーティションに分割することができるので,パーティションごとに異なるディレクトリにマウントすることが可能です。
●表8 フラッシュメモリのマップ
フラッシュROMの書き換え方法
Armadillo-9 の内蔵フラッシュメモリの書き換え方法には,シリアル経由とネットワーク経由の2種類あります。通信速度はネットワークのほうが高速です。
Linuxのアプリケーションでネットワーク経由の書き換えができるので,通常はこちらが良いでしょう
ただし,間違ったイメージファイルなどを書き込んでLinuxがブートしなくなった場合,この方法は使用できません。この場合は,シリアル経由で書き込むしか方法を使用します。ここでは,netflashと呼ばれるネットワーク経由のファームウェアのアップデートツールを使って,フラッシュROM を書き換える方法を説明します。netflash では,HTTP,FTP などのプロトコルを使用してネットワーク上にあるファイルを取得し,内蔵のフラッシュROMを書き換えることができるのが特長です。組み込み機器においてソフトウェアに不具合が発見された場合,ファームウェアの書き換えが必要となるため,販売店やメーカに依頼する必要があって手間がかかります。
ネットワークに接続可能なききであれば,netflashのようにネットワーク経由でファームウェアを更新できる機能を盛り込むべきでしょう
フラッシュROMを書き換える。それでは実際に,先ほど作成したカーネルイメージファイルとユーザランドイメージファイルでフラッシュROMを書き換えてみます。gzをコピーしてください。(1)ネットワークに接続する。DHCP が利用できる環境ならとくに問題ないですが,利用できない場合は固定のIPアドレスを設定する必要があります。オプション-rはリージョン指定です。ここにデバイスファイル名を入力することで,フラッシュROM上の書き込むパーティションを指定できます。Armadillo-9 をインターネットに接続できる環境にすれば,netflashを使って今回作成するプログラムのイメージファイルをダウンロードサイトから直接フラッシュROM に書き込むことも可能です。まず,動作を試してみたい人にはお勧めです。次章では,いよいよ開発手順の解説を行います。次に紹介するのは,ディスプレイへの画像表示とタッチパネルからのイベント入力に関する部分の開発手順です。この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。
日本語で書くと「アルマジロ」で,動物の名前なのですが,本特集で紹介するArmadillo は動物ではなく,ARM CPUをベースとした組み込み用の小型ボードコンピュータのシリーズ名称です(写真1)
もともとは開発コードネームだったものが,そのまま製品シリーズの名称として使われています。図1がArmadillo シリーズのキャラクタで,アルマジロの上にペンギンが乗っています。ペンギンはもちろんLinuxを,アルマジロはハードウェアを意味し,Armadillo ハードウェアの上にLinux ソフトウェアが乗っていることを表します。
組み込み機器とは
最近「組み込み機器」という言葉が多く聞かれるようになりました。古くからある言葉ではないと思っているのですが,少なくともこれはコンピュータが組み込まれた機器のことを指しています。
では,パソコンやサーバとは何が違うのでしょうか
あまり明確な定義がされていないようなのですが,筆者の解釈では,パソコンやサーバのように汎用的で多目的に使われるものではなく,特定の目的を実現するために作られたコンピュータ機器が組み込み機器となります。世の中のコンピュータ機器の多くは組み込み機器であり,組み込み機器よりもパソコンのほうを多く持つ方は,おそらくほとんどいないのではないかと思います。筆者の目の前にも,固定電話,携帯電話,TV,リモコン,エアコン,HDDレコーダ,インターホンなどなど多くの組み込み機器が存在しています。一般的に販売されているパソコンのマザーボードとは別に,産業用マザーボード(ボードコンピュータと呼ばれることが多い)というものが売られています。パソコンのマザーボードと何ら変わるものではなく,WindowsやLinuxのインストールもできてしまえば,WordもExcelも動いてしまい,これはパソコンそのものです。しかし,産業用機械の中に組み込まれて,その産業機械の目的を実現するためのソフトウェアがインストールされると,組み込み機器という扱いになるのです。携帯電話の普及とともにARMの説明が容易になってきました。「携帯電話の中にもCPUが入っていて,ARMは市場の多くの携帯電話に採用されています」と言えば説明できてしまうのです。
」という問いにはどのように説明するのが良いでしょうか
「Intel はパソコン向けで,ARMは携帯電話向け」という簡単な説明ではなかなか理解してもらえないかもしれませんが,簡単に言えば2 つのCPU はその目的や育ち方が違うのです。処理能力を最大限に優先してきたのか,消費電力やコスト(シリコンの面積)を最大限に優先してきたかの違いです。IntelのCPUはおもにPCやサーバ用途で使われ,OSやソフトウェアの進化とともに非常に多くの処理を行うために開発が進められたCPUです。
コンピュータシステムの主要機能を1 つのチップに集積したLSI のことを言い,システムLSI と呼ばれることもあります(図A)
主要機能とは,CPU の他タイマやシリアルポートなどの周辺回路,メモリなどを指しています。実装に必要な基板面積を縮小することができ,消費電力も同等の機能を持つ複数チップによるシステムと比べて格段に抑えることができます。しかしながら,この2 つのCPU の進化の方向性は完全に異なっているわけではなく,Intel は低価格,低消費電力を実現するような方向にも進化しており,ARMは高い処理能力を持てるような方向にも進化しています。将来的にはこの2 つのCPUが同じ市場で競合するようなことも,あるのかもしれません。なお,ARMとは会社の名称であり,CPUの名称でもあります。最近の携帯電話には多くの機能が盛り込まれています。今ではゲーム,音楽再生,カメラ,オサイフ,ワンセグ放送受信まででき,これだけ多くの機能を実現した携帯電話が,世界で年間10億台以上も作られているのです。10億台の市場に1,000種類の携帯電話があるとすると,1 機種あたり100 万台もの台数が流れます。もし1台あたりの製造原価を100円下げることができれば,その機種は1億円の利益を出すことができるのです。
ではどうすれば原価を下げることができるでしょう
各メーカはさまざまなコストダウンを行っていますが,中でも重要な役割を果たしているのが,携帯電話向けの専用SoCを作ることです。SoC化することで,1つの半導体に多くの機能を集積できます。最近の半導体の設計は規模も大きく初期費用がかさむ傾向にあるのですが,携帯電話のような数量規模の大きい市場ならば十分に回収できます。半導体そのものの単価は面積に影響されるので,必要な機能をできる限り小さい面積で実現することが重要です。今の携帯電話の機能を実現するためには,高い処理能力と低い消費電力,そして小さい面積の3つが重要で,この3つをバランス良く持っているのがARM CPUなのです。CPUコアの消費電力を表す単位としてmW/MHz(1MHzあたりの消費電力)というものが使われるのですが,この数値が小さいほど,効率良く動作するCPU ということになります。まさにARMCPU がこの数値に優れており,かつ小さな面積を実現しているということが,携帯電話で多く採用されている理由です。
その際の最大動作クロックは236MHzで,消費電力は0
さて,ARM CPUとはどのように生まれてきたのでしょう
そのような中で米Apple社が興味を持ち,ARM コアの共同開発に取り組みました。ARM CPUはこの時代にはすでに,コスト(シリコンの面積)を抑え,低消費電力を実現するためのCPUコアとしての道を歩んでいました。ARM社自身は工場を持たないファブレス企業で,ARMコアが単体で販売されることはほとんどありません。少ないシリコン面積ながら低消費電力で高い性能を出すことが大きく評価され,ARM7 の世代で多くの携帯電話のCPU として採用されました。その結果,世界中の多くの半導体メーカが自社のSoC向けのCPUコアとしてライセンスを受け,携帯電話以外でもさまざまなSoCのCPUとして組み込まれるようになりました。ARM7の世代以降,ARM CPUを採用して設計/製造されたSoC は数多いのですが,一般の半導体市場で流通することはほとんどありません。特定の目的を実現するために作られたSoC は,外販されることは多くないのです。また,特定の目的向けに作られているSoCであるがため,ARM CPUが組み込まれていることすら気付かれずに流通しているものもたくさんあります。たとえば無線LANやBluetoothコントローラLSIは一見すると専用LSI のようにも見えますが,ARMCPU が内蔵されていて,多くのことがソフトウェアで処理されている場合も多いのです。しかもDebianまでもがそれなりの速度で動いていたことは,当時の筆者にとって衝撃的だったのです。だったと思いますが,思い出が美化されているだけかもしれません。表1にARMコアを採用した製品の例を挙げます。
代表的な機器とメーカ
32ビット以上のCPU 市場に限ると,ARM 社のようにCPU コアのライセンスだけを販売しているような会社は他にもあり,その代表的な会社はMIPS です。それぞれのCPU は組み込み機器の中でも得意な市場があります。MIPS はRISC プロセッサの代表的なもので,高クロック化しやすくMPEG 再生などをさせるような負荷の高い処理能力を必要とするDVD プレーヤやセットトップボックスなどで採用事例が多いです。ルネサステクノロジ社が提供する国産CPUのSuperH は,制御器や計測器で採用事例が多く,セガ「Dreamcast」にも搭載されたSH-4 は,その画像処理能力の高さからカーナビ市場で高いシェアを持つようになりました。コンシューマ製品の市場と違い,最初の製品販売から5年以上経過しているのですが,今でも初代Armadilloを生産/販売しています。Armadilloシリーズがどのようなコンセプトで生まれ,組み込み機器開発のプラットフォームとして発展してきたのか説明します。
代表的な製品
国内の数社のLSIベンダに販売や開発を依頼しましたが,当時の筆者の会社は小さすぎて相手にしてもらえるはずもありません。その当時,救世主として現れたのが米Altera 社というFPGA(書き換え可能な半導体)のベンダです。ARM9を搭載したFPGAを販売するという発表があり,これがまさに理想的なLSIでした。当時では最新コアのARM9を採用しており,しかもFPGA部分に自由に回路を拡張することができます。つまりオリジナルSoC を自在に作って販売できることになるわけです。しかし,残念ながら当時のFPGA はまだまだ価格が高くArmadilloに採用するには至りませんでした。汎用ボードコンピュータとして使うためには,ある程度の拡張の自由度を持つ必要があります。そして地元の電子部品 商社「梅澤無線電機」がPC/104というボード規格に準拠した拡張用PC/104 ボードを多数揃えており,この拡張ボードのホストとなるCPUボードとして「Armadillo」が共同開発で進められました。当時ではまだ「ARM+Linux」は異色の組み合わせであり,来場した多くの方から賛否両論のコメント(「賛」よりは「否」が多い)をいただきました。
組み込み機器でLinuxを動かして意味があるの
リアルタイムOSでなくて良いの
多くのメモリやCPU パワーが必要だからコストが高くなる。
それは楽しいねぇ
初代Armadilloがそれなりに話題になって,さまざまな要望が寄せられるようになりました。Linuxを動かすのだからもっとCPUパワーやメモリが欲しい。USBを使って簡単に拡張をしたい。画面出力が欲しい。
おもにインターフェースの話が多かったのですが,では当時のArmadiloユーザは何のインターフェースを使っていたのでしょうか
多く利用されていたインターフェースはLANとシリアルポートと汎用入出力(GPIO)でした。そのような状況の中,2003 年に衝撃的な製品が現れました。Armadillo-9 を出荷して「これだけの機能があれば,どのような機器開発にも柔軟に対応できる。」と思いたいところだったのですが,ビジネスはそう簡単ではありません。今度は「こんなに多くの機能はいらないから,もっと安くしてほしい」という要望が絶えません。組み込み機器に求められる要素は処理能力,機能,価格,大きさ,消費電力,信頼性,長期供給性などさまざまです。必要なときに,必要なモノを,必要な数だけ作ることができれば一番良いのですが,その都度,求められる仕様に合わせてモノを作っていたのでは,時間も費用もかかりすぎます。コンセプトは次のとおりです。
機能を絞る代わりに複数の低価格な製品を提供
可能な限り小さく作り,機器への組み込みを容易にする。
いくつかのインターフェースの有無が異なる以外はまったく同じ機能持つSoC として使用可能で,高い互換性を維持できます(表4,写真4)
LAN が2 つ,シリアルでネットワークアプライアンスに機能を絞る。PCの世界ではあたりまえの機能ですし,市販の無線ルータやアクセスポイントも多数存在するのですが,いざ自社の製品に組み込むことになったら大変なものです。PCやコンシューマ製品であれば,短期的に製品供給していれば良いのかもしれませんが,産業用のボードコンピュータは長期供給を要求されてしまいます。しかも現時点において無線LANを搭載するためには,PCIバスを経由することが一番接続しやすいのですが,過去のArmadillo シリーズはPCI バスを持っていなかったので,無線LAN を搭載することは容易ではありませんでした。MXシリーズの最上位です。もともと,携帯端末に使う前提で設計されているので,低消費電力ながらも豊富な周辺回路が搭載されており,携帯用途でない分野でも幅広く使うことができます。そして,そのバリエーションの中から要求仕様に近い製品を選んでいただくコンセプトです。しかしそれでは,要求仕様に近いものがないことも多々あり,結局開発コストをかけてゼロから作り直すというオチも多々あります。
必ず組み込む部分(CPU,メモリ)をモジュール化し,再利用性を高くすること
拡張ボードの設計ルールを容易にし,低コスト/短期間で開発できるようにすること
高い処理能力と低い消費電力を両立することにより,適用範囲を広げること
MX31L の部品パッケージは携帯機器向けということもあり,かなり高度で高密度な基板を設計しなくてはいけません。
モジュール化というアプローチをとることによって,この高度で高密度な基板の部分を最小に抑えることができ
モジュール以外の拡張基板は比較的容易なルールで設計することができます。その結果,拡張基板の設計は容易になり,ゼロからすべての開発をするよりも開発期間を短くできます。また工数だけでなく単価の面でもコスト削減でき,設計リスクのある高度なモジュール部分は再利用するので,安定した品質を得ることができます。組み込み機器は,ユーザの要求仕様に合うモノを作るために,ハードをゼロから仕様に合わせて作ることが必要です。しかしゼロから開発をしていては,これからの多品種少量生産が求められる「モノ作り」の社会には合いません。Armadillo-500は,機能のモジュール化を進めることによって,必要なモノを短期間に作ることを目的とした組み込み機器のプラットフォームなのです。
開発セットで使用されている開発用ベースボードも,拡張ボードの1つで,まさに開発者が使用することを前提としており,i
MX31Lの持つ機能のうち,可能な限り多くの機能を使用できるように作られています。では,このArmadillo-500を利用して,どのような組み込み機器を実現できるのか,いくつか例を挙げてみます。Armaidlloの採用実績としては計測器や制御器が多いのですが,ここではもっと身近なコンシューマ機器を紹介します。e-POP端末(図4)とは一般的に使われている言葉ではないようなのですが,最近コンビニやスーパーなどで見かける店頭プロモーション用の表示端末です。SDメモリやコンパクトフラッシュなどのストレージに,プロモーション用の静止画や動画を入れておき,CPUでデコードをしてLCDに出力します。圧縮された動画であれば,W-SIM などの通信インフラを利用することにより,LAN がない環境でもデータを更新できます。
自動車事故が起こった際に,衝撃や急ブレーキなどを関知して,自動的にその事故の前後を録画/記録する装置です(図5)
CPUモジュールに,CMOSカメラを接続し,取り込んだ画像をSDメモリに保存します。衝撃や急ブレーキを検出するために3軸センサを接続して,常時監視をするようなソフトウェアを作成します。
●図5 ドライブレコーダのハード構成図
MX31LにはMPEG4のエンコーダの機能が搭載されており,カメラからの入力をリアルタイムエンコードできます。システム全体が低消費電力で構成できるため,事故で電源供給されない状況でも,バッテリ駆動させることが容易です。最近,携帯型オーディオプレーヤだけでなく,据え置き型のオーディオにもハードディスクが搭載されているものが増えてきました。CPUモジュールにはオーディオインターフェースが用意されており,オーディオ用のA/D,D/A コンバータを接続することができます。ATA のインターフェースにハードディスクやCDドライブを接続し,CDからのリッピング,データ交換用や携帯機器との連動のためにUSBを出しておくと便利かもしれません。4MHz,8MB のRAM を搭載しており,フタを開けるとキーボードが飛び出してくる斬新なスタイルが特徴的でした。ここからは,実際に組み込みボードを使用して,組み込み機器を作成していきます。このボードを使用して「アンケートツール」(後述)を作成していきます。本特集で,組み込みシステム開発の雰囲気を感じとっていただければ幸いです。必要に応じてダウンロードしてください。
Armadillo-500開発ボードは,CPUやメモリといったコンピュータに必要な最低限のデバイスを実装したCPU モジュールと,各種コントローラおよびコネクタを実装しCPUモジュールの機能を最大限に活用することが可能なベースボードを組み合わせた組み込みボードです(写真1,2)
CPUモジュールとベースボードのハードウェア仕様を表1,2に示します。
搭載(バックアップ機能付き)
ARMアーキテクチャの最大の利点は,低消費電力であるということです。消費電力を低く抑えることで,バッテリによる長時間駆動が可能になりますから,携帯電話やオーディオプレーヤにARMプロセッサが採用されている事例は少なくありません。
このセットでは,ソフトウェアを開発するうえで必要となる開発環境やLinuxのソースコードといったものがすべて提供されています(写真3)
0と同じバージョンのものが使用されています。また,ARM クロス開発用のGNU 開発環境パッケージが用意されており,Debian 系Linux ディストリビューションであれば簡単にインストール可能です。
本特集で作成するシステムについて
アンケートツールとは
今回作成するアンケートツールとは,アンケートハガキやアンケート用紙をビデオ出力に,記入するためのペンをマウスやタッチパネルに置き換えた組み込みシステムです(図1)
大勢の人が集まるところ(たとえば展示会など)に設置して,市場調査などのデータ収集に使用することを目的に開発を行います。
●図1 アンケートツールの画面例
近年よく見かけるインターネットによるアンケートでは,CGI を利用して同じようなことを実現しています。ですが,ネットワークの有無や通信速度など設置場所に制限がかかること,ネットワークの設定などに悩まされます。今回作成するアンケートツールであれば,これらの煩わしい事象を回避し,電源を入れるだけで動作するのが最大のメリットとなります。
システムを構築する前に,どの機能を何で実現するか考えてみます(表3,図2)
●表3 実現したい機能と使用するデバイス(※は今回は実装しません)
使用する機器
ボタンの選択
データの保存
名刺のスキャン
今回は,データの集計方法や手軽さといった観点からUSBメモリを使用することにします。
また「ボタンの選択」については,組み込みらしく各ボタンを汎用入出力などを使用して作成することもできますが,こちらも手軽さの観点からUSB マウスを使用することにします(図3,写真4)
●写真4 すべてを接続した様子
実際に組み込みシステムにする場合は,質問文と回答選択肢,また各回答選択肢用のチェックボタンや制御ボタンなどをビデオに出力させ,各ボタンは,マウスやタッチパネルで選択/入力できるようにします。回答データはUSBメモリに保存し,PCなどで閲覧/集計できるようにします。
次章以降のための下準備
ソースコードの下準備
次章からは,実際にソースコードを変更していきます。Atmark Distは,組み込みボード向けのイメージを生成できるディストリビューションです。本稿執筆時点での最新ソースコードは表4に示すとおりです。
●図4 ソースコードの準備
ワークディレクトリを作成
ワークディレクトリに移動
ソースコードをダウンロード
ソースコードを展開
以降の章について
本章でアンケートツールのシステム概要は理解できたと思います。以降の章では,このシステムを構築する手順を解説していきます。第4 章では,システムのベースとなるDirectFBを利用するために必要となるAPI の使い方などについて,第5 章では,USB 名刺スキャナを扱うアプリケーションの構築とタッチパネルドライバについて,第6章では画面のフレームワークやデータ保存などシステムのメインアプリケーションの作成について,そして第7章では,システムを運用するための全体の設定を説明していきます。GUI フレームワークは,ハードウェアインターフェースを抽象化する「バックエンド」,ボタンやメニュー,テキストボックスなどのコントロールを作成/表示する「ウィジェットツール」,アプリケーションのウィンドウ管理やそれらを制御する「ウィンドウマネージャ」から構成されます。これらの各コンポーネントについて,組み込み用途で使われるものをピックアップして紹介します。ビデオやマウス,キーボードなどのハードウェアインターフェースを抽象化することで,上位のコンポーネントに同様のソフトウェアインターフェースを提供します。フレームバッファは,グラフィックカードなどのハードウェアインターフェースを抽象化したインターフェースとして見せることができます。これを使うソフトウェアからアクセスする場合には,規定された手順を用いて制御することが可能となります。しかし,各ハードウェアが持つグラフィックアクセラレーション機能を使用できないため,専用のドライバと比較した場合には性能がずいぶん劣ってしまいます。また,複数のアプリケーションから安全にアクセスするための排他制御ができないことが弱点です。org/)は,フレームバッファ上で動作する高度なグラフィックAPIです。グラフィック処理の高速化や入力デバイスのサポート,ウィンドウ管理などを提供します。
DirectFBは,小さいにもかかわらず強力な機能をサポートしているので,組み込みLinux に向いているでしょう
GUI アプリケーションを作成するうえで,各コントロール(ボタンやメニュー,テキストボックスなど)を簡単に作成/表示するためのAPI です。これらに対応したアプリケーションは多く,組み込みLinux システムにおいても使用される機会は少なくありません。フレームバッファやDirectFB 上などでも動作するように設定することができます。ウィンドウマネージャは,一般的なデスクトップ環境を実現するためのソフトウェアで,アプリケーションのウィンドウ管理や装飾したウィンドウなどを提供します。限られたリソースで動作するように設計されたウィンドウマネージャです。PDA などのディスプレイが小さな組み込み機器に使われています。ウィンドウを1 つしか表示できないところが特徴です。本章では,ここまでに作成してきたアプリケーションやデータを1 つのイメージファイルにまとめ,スタンドアロンシステムとして運用できるようにシステムを完成させます。
ここまでのおさらい
前章までは,アンケートツールというシステムを構築するための準備を行ってきました。具体的には,それぞれの機能を実現するためのソフトウェアの構築と,それらを使用してシステム全体をまとめるアプリケーション(CST)を作成しました。
そのイメージをArmadillo-500のフラッシュメモリに書き込み,コンソールでいくつかのコマンドを実行すればCST が起動しますが,毎回起動させるためにコンソールで操作しなければならないのでは,組み込みシステムとは呼べないでしょう
そこで本章では,システムを起動させたときに自動でCSTが起動するように設定して,1つのプロダクトとなるように仕上げていきます。ベンダとして「AtmarkTechno」が用意されているので,今回はこの中にアンケートツール用のディレクトリを作成することとします。
このディレクトリをまるごと「CST
このようにするだけで,コンフィギュレーション時に「CST
●図1 プロダクトをコピー
CST が他のプラットフォームでも同じように動作するのであれば,atmark-dist/userに組み込むのですが,今回作成したソースコードでは他のプラットフォームで動作させるにはまだまだ不十分です。次に,コンフィギュレーションでCST を選択可能にします。
ここで修正するファイルは,CST
カーネルは,初期化が終わるとinitを実行します。これにより,プロセスの起動やログインプロンプトの表示などを行うのです。d/S*の各スクリプトが実行されることがわかります。このスクリプトには,各プロセスの起動や設定などが記述されています。
d/S*が作成されているので,同じようにCST が起動されるように登録していきます(リスト4,5)
そこで,udevdの起動スクリプトの中でインプットデバイスのデバイスノードが作成されるようにします(リスト6)
これでCST を動作させるためのソースコードの 作成と修正は終了しました。
システム全体のコン フィギュレーションを行い,ビルドしてみましょ う(図3)
●図3 コンフィギュレーションで変更する個所
できたイメージファイルをArmadillo-500のフラッシュメモリに書き込み再起動してみると,エラーが発生してしまいます(図4)
エラー内容を見るとRAMDISKの容量が足りないようです。カーネルで設定されているRAMDISKの最大サイズが16,384K バイトなのに対し,ユーザーランドイメージのサイズが26,971Mバイトとなっているからです。このエラーの対策としては,カーネルのコンフィギュレーションでRAMDISK の最大サイズを大きく設定するか,カーネル起動オプションでRAMDISKの最大サイズを変更する方法が考えられます。ここでは,後者の方法で対策してみます。
boot コマンドの引数に起動オプションを設定します(図5)
●図5 起動オプションを設定してカーネルを起動
これで無事にシステムを起動させることができました。
デフォルト設定の登録
現在のコンフィギュレーション内容をCST
カーネルのデフォルト設定を変更するには,CST
confの設定を変更する必要があります(リスト8)
●図6 カーネルのデフォルト設定の追加
●図7 ユーザランドのデフォルト設定の追加
フラッシュメモリから起動する場合,RAMDISKの最大容量を変更しなくてはなりませんでした。ただ,RAMDISKの容量が増えると,カーネルおよびユーザランドの他のアプリケーションが使用できるメモリが減ってしまいます。そこで,RAMDISKを使用しないようにコンパクトフラッシュシステムへ移行させてみます。
コンパクトフラッシュシステムに移行すればフラッシュメモリが開放されるので,フラッシュメモリにはArmadillo-500のデフォルトイメージを書き込み,実際のシステムに問題が発生したりシステムを変更したりする場合などは,フラッシュメモリから起動してメンテナンスを行えるようにしましょう
まずは,フラッシュメモリにArmadillo-500のデフォルトイメージを書き込み,コンパクトフラッシュの初期化とルートファイルシステムの構築を行います。
ディスクの初期化
コンパクトフラッシュディスクにルートファイルシステムを構築するには,一度コンパクトフラッシュのデータを初期化する必要があります。
初期化は,fdisk コマンドを使用してパーティションの設定を行います(図8)
●図8 コンパクトフラッシュの初期化
初期化後,それぞれのパーティションにファイルシステム作成していきます。本章では,表1に示すように初期化を行います。
ファイルシステムの作成
パーティション1は,ブートローダがカーネルイメージを見つけることができるように「-O none」オプションを指定します。
パーティション2は,ext3ジャーナリング機能を持つように「-j」オプションを指定します(図9)
●図9 ファイルシステムの作成
ルートファイルシステムの構築
各パーティションにファイルシステムが作成できたので,パーティション2をマウントしてルートファイルシステムを作成します。ルートファイルシステムのベースには,フラッシュメモリ用のユーザランドイメージを使用します。また,作業はパーティション2上で行います。
イメージファイルのサイズが大きく,RAMを大量に消費してしまうからです(図10)
●図10 ルートファイルシステムの構築
カーネルイメージの配置
次に,カーネルイメージを配置します。
gzファイルは,フラッシュメモリ用のカーネルイメージと同じものです(図11)
●図11 カーネルイメージの配置
一度再起動して,システム設定を行います。コンパクトフラッシュシステムで起動するためには,ブートローダでLinux起動オプションを設定しなければなりません。
Armadillo-500のブートローダは,フラッシュメモリのカーネルイメージをRAMに展開するのと同じように,コンパクトフラッシュに構築されたext2ファイルシステム中の/bootディレクトリにあるカーネルイメージ(Image
このコマンドにより,どのデバイスのカーネルイメージをRAMへ展開するかを設定できます。gz イメージをRAMに展開することを指定しています。この設定はフラッシュメモリに保存され,次回起動時にも反映されます。カーネルを起動するときの起動オプションを設定します。この設定はフラッシュメモリに保存され,次回の起動時にも反映されます。JP1をオープンにして再起動すると,コンパクトフラッシュから起動します。図13のようにWarning が出るのは,ルートファイルシステムのチェックを行おうとしたときに,/etc/fstabに記述されている情報と実際の状況が違うためです。
読込み専用に設定
コンパクトフラッシュシステムで稼働している場合,システムを終了せずに電源を切断するとファイルシステムが破壊される可能性があります。これを防ぐために,ルートファイルシステムを読込み専用でマウントさせておくようにします。
読込み専用にするためには,各起動スクリプトの修正を行います(リスト10,11)
また,不必要な起動スクリプトを外しておきます(図14)
●図14 不必要な起動スクリプトを外す。これで,すべての作業が終了しました。
すべてのデバイスを接続して,再起動して動作を確認してみましょう
本特集では,アンケートツールの構築を順を追って説明してきました。今回はArmadillo-500開発ボードをプラットフォームとして選択しましたが,インターフェースが揃っている他のボードでも実現できます。組み込み開発は,何をどのインターフェースで実現するかを検討するところから始まります。
拡張のことも考慮して組み込みボードを選択することも,組み込み開発の楽しみの1つでしょう
今回作成したアンケートツールは,まだまだ完全なものとは言えません。組み込みシステムとしてより良いものにするためには,
起動の高速化
トラブル発生時の自動復旧
などを実現させると良いでしょう
本特集の内容を参考に,読者の皆さんの思い描いているシステムを構築してみてはいかがでしょうか
この章で解説した作業を簡単に行うには,図A のようにします。なお,図A はフラッシュメモリ用のイメージを作成するところまでです。
●図A 本章の作業手順まとめ
動作状態: 一部問題あり
Armadilloでシリアル接続のFOMA通信モジュールを使用する方法について説明します。おおまかな手順は下記のようになります。ppp関連の設定を行なう。
イメージの書き込み
ご利用の環境に合わせて適宜読みかえてください。EMOBILE のデータ通信モジュールを使用して、インターネットに接続する方法を紹介します。これらは Linux からは、マスストレージ、シリアルモデム、シリアル端末の三種類のデバイスに見えます。それらのうち、シリアルモデムを使いプロバイダのサーバと ppp 接続をおこないます。auのWINデータカードを使用して、インターネットに接続する方法を紹介します。WINデータカードカードは、CFカードインターフェースタイプのW05Kを使用します。W05Kは、二つのシリアルポートを使用して通信速度を上げるマルチポートをサポートしていますが、本Howtoでは一つのポートのみ使用して通信する方法を紹介します。おおまかな手順は下記のようになります。
ppp機能及びシリアルドライバを有効にする 2
動作状態: 一部問題あり
Armadillo-Jと開発用PCをシリアルケーブルで接続し、シリアルコンソールソフトを起動します。次のように通信設定を行って下さい。出荷時のArmadilloはCOM1をシリアルコンソールとして使用するように設定されています。Armadilloのシリアルポート名については電源を入れる前にをご覧下さい。シリアルポートは主に以下の3つに使用されています。ここでは、シリアルコンソールをCOM2に移動する方法とシリアルコンソールを使用しない方法の2つを紹介します。出荷時のArmadilloは、シリアルインターフェース1をシリアルコンソールとして使用するように設定されています。Armadilloのシリアルポート名については電源を入れる前にをご覧下さい。シリアルポートは主に以下の3つに使用されています。
FAQ : aj: シリアルのモデムピンは割り込みに対応していますか
Armadilloでシリアル接続のFOMA通信モジュールを使用する方法について説明します。おおまかな手順は下記のようになります。ppp関連の設定を行なう。
イメージの書き込み
ご利用の環境に合わせて適宜読みかえてください。
FAQ : シリアル通信をおこなうプログラムを作成するには
Armadilloシリーズなら、USBやシリアルインターフェースがあるので、計測・制御機器を遠隔で操作できます。
例:携帯電話による農業管理
Armadilloシリーズは、ネットワークやUSB、シリアルのインターフェースがあるので、透過的にプロトコルを変換してネットワークで通信できます。EMOBILE のデータ通信モジュールを使用して、インターネットに接続する方法を紹介します。これらは Linux からは、マスストレージ、シリアルモデム、シリアル端末の三種類のデバイスに見えます。それらのうち、シリアルモデムを使いプロバイダのサーバと ppp 接続をおこないます。auのWINデータカードを使用して、インターネットに接続する方法を紹介します。WINデータカードカードは、CFカードインターフェースタイプのW05Kを使用します。W05Kは、二つのシリアルポートを使用して通信速度を上げるマルチポートをサポートしていますが、本Howtoでは一つのポートのみ使用して通信する方法を紹介します。おおまかな手順は下記のようになります。
ppp機能及びシリアルドライバを有効にする 2
26ベータリリース版を更新しました。
カーネルのバージョンはバージョン2
フラッシュメモリのカーネルリージョンサイズが圧迫されていたため、IPv6サポートを外しています。必要な場合は、カーネルのコンフィギュレーションでIPv6を有効にしてください。上記以外のボードはサポートされません。本リリースは正式バージョン公開前のベータリリースです。動作不具合等を引き起こす可能性がありますので、ご了承、ご注意の上ご利用下さい。動作不具合を発見した場合は、メーリングリストに投稿をお願いいたします。ソースアーカイブおよびイメージファイルは以下からダウンロードすることができます。いくつかのドライバが未実装または動作未検証となっています。詳しくはこちらをごらんください。デフォルトで無効になっています。以下の3つのドライバが実装されています。GPIOクラス対応GPIOドライバに対応するカーネルのコンフィギュレーションは以下を参照してください。デフォルトで有効になっています。以下はGPIOを制御するコマンド例です。
ハードウェアマニュアルのGPIO名
詳しくはこちらをごらんください。デフォルトで無効になっています。詳しくはこちらをごらんください。デフォルトで有効になっています。詳しくはこちらをごらんください。デフォルトでは無効になっています。以下の2つのドライバが実装されています。詳しくはこちらをごらんください。デフォルトでは有効になっています。詳しくはこちらをごらんください。デフォルトでは有効になっています。インプットレイヤ対応タクトスイッチドライバが有効になっている場合、atmark-distに含まれるledctrlを使用できるようになります。以下の2つのドライバが実装されています。詳しくはこちらをごらんください。デフォルトでは有効になっています。インプットレイヤ対応タクトスイッチドライバが有効になっている場合、atmark-distに含まれるswmgrを使用できるようになります。詳しくはこちらをごらんください。デフォルトでは無効になっています。
ダウンローダのインストール
開発用PCにダウンローダをインストールします。開発キット付属CD、またはこちらからダウンロードしてください。Hermitはいくつかのパッケージを用意しています。詳しいパッケージのインストール方法はお使いのOS/Distributionのマニュアルをご覧ください。zipをダウンロードして解凍してください。
ACアダプタは何を使えば良いですか
以下の表を参考にし、適切なAC-DCアダプタを使用してください。※ ボードに接続するプリフェラル(USBやコンパクトフラッシュなど)によって、ACアダプタに必要な出力電流が異なります。それぞれのメモリマップは以下のようになっています。Armadillo-Jのシリアル番号の上位6桁と型番を下記表と照らし合わせ、該当するタイプを調べてください。
タイプによる制限について
提供しているイメージは、タイプにより適合しない場合があります。以下の対応表で確認してください。
メモリマップの変更に対応
タイプによる制限の回避について
xディレクトリを最新のカーネルソースに置換えることで可能です。xに変更します。ユーザーランドの設定時に、いくつかのアプリケーションを選択解除し、イメージのサイズを小さくする必要があります。フラッシュメモリに、必要なデータを書き込んでください。MX31)の信号を正しく設定しないと、故障や破壊の原因になります。マルチプレックスの設定は、ブートローダやLinuxカーネルの初期化手順の一部として行われます。単体出荷される Armadillo-500 CPUモジュールは、どのベースボードに接続されるか分らないため、最低限の機能を持つブートローダーがフラッシュ・メモリに書き込まれています。以下、このブートローダを単に「zero」と呼びます。zeroが持つ最低限の機能とは、「シリアルインターフェースを使ってフラッシュメモリを書き換える」ことだけです。zeroは、たとえカーネルやユーザーランドのデータがフラッシュメモリに書き込まれていたとしても、Linuxを起動しません。間違ったマルチプレックス設定によってボードが壊れないように、システムを起動できないようにしてあるのです。そのため、単体出荷された Armadillo-500 CPUモジュールを使う場合は、最初に利用するベースボード用データをフラッシュメモリに書き込む必要があります。多くの場合、以下の3つのイメージを書き換える必要があります。以下では、Windows をつかってイメージを書き換える例を紹介します。
フラッシュ・イメージ書き換えツールのインストール
フラッシュ・イメージ書き換えツールは開発セットの付属CDまたは以下のリンクから取得できます。取得したZIPファイルを任意のフォルダに展開します。
フラッシュ・イメージの取得
フラッシュ・イメージは開発セットの付属CDまたは以下のリンクから取得できます。
フラッシュ・イメージ書き換え前の準備
開発ボードの起動モードを保守モードに変更します。JP1 をショートして再起動してください。開発ボードのCON6と作業用PCのシリアルポートを接続してください。シリアルポートが他のアプリケーションで使用されていないことを確認します。使用されている場合は、該当アプリケーションを終了するなどしてシリアルポートを開放してください。
フラッシュ・イメージの書き換え
ブートローダ・イメージの書き換え
Imageには取得したブートローダ・イメージを指定してください。実行ボタンをクリックしてイメージの書き換えを開始してください。イメージ書き換えの設定と進捗状況のダイアログが表示されます。イメージ書き換えが完了すると自動的にクローズされます。
カーネル・イメージの書き換え
Imageには取得したカーネル・イメージを指定してください。実行ボタンをクリックしてイメージの書き換えを開始してください。
ユーザランド・イメージの書き換え
Imageには取得したユーザランド・イメージを指定してください。実行ボタンをクリックしてイメージの書き換えを開始してください。
フラッシュ・イメージ書き換えの確認
JP1 をオープンにして再起動してください。フラッシュ・イメージの書き換えが正しく行われた場合、起動ログそしてログインプロンプトが表示されます。Armadillo-500 FXにタッチパネルディスプレイとキーパッドを接続する方法、そしてそのソフトウェアの対応方法を紹介します。簡単な文字列を表示できれば、様々な場面で活躍が期待されます。
バーコードリーダなどの入力装置からのデータを表示
ネットワークのトラフィック情報の表示
等、挙げると限りがありません。このHowtoは、Armadilloシリーズのソフトウェアを開発する際の参考資料としてお役立てください。お使いのソフトウェアおよびフラッシュイメージのバージョン(最新版を含む)によっては手順が異なったり正常に動作しない可能性があります。
ATDEに割り当てるメモリを変更する方法
netflashを使用すると、ネットワークからイメージをダウンロードしてFlashを書換えることができます。
画面の起動後
をチェックして保存・終了します。
次に起動した画面で、を選択して保存・終了します。「イメージの書き換え手順」を参照して、作成したイメージでFlashを書換えて下さい。最初に書換えるイメージをwebサーバ上のアクセス可能な場所に置きます。img においた場合を例にして説明します。このHowtoは、Armadilloシリーズのソフトウェアを開発する際の参考資料としてお役立てください。お使いのソフトウェアおよびフラッシュイメージのバージョン(最新版を含む)によっては手順が異なったり正常に動作しない可能性があります。
ATDEに割り当てるメモリを変更する方法
簡単な文字列を表示できれば、様々な場面で活躍が期待されます。
バーコードリーダなどの入力装置からのデータを表示
ネットワークのトラフィック情報の表示
等、挙げると限りがありません。LCDの他にボタンを取り付けることで、メニュー表示なども行なえると思います。ハードを作る。データバスが8本となっていますが、SC1602BSはデータバスを4本で動かすことができるモードがあります。今回はその機能を使用したいと思います。サンプルの回路図です。実際に作成した基板です。※ ソフト屋さんが作成したのであまりキレイではありません。ドライバを作る。
今回は、Baseイメージでそのまま動作させることができるように、デバイスノードはGPIOと同じにしておきます。特に注意する箇所は無いと思います。カーネルイメージを作成する。ユーザーランドは、ベースイメージそのものを使うので、ここではカーネルイメージのみを作成することとします。まずは、コンフィグレーションです。※デフォルト設定からの差分だけ以下に記載します。」と表示されると思います。されない場合は、回路または、カーネルコンフィグレーションを再度見直してみてください。表示メッセージの入力は、デバイスノードにWriteするだけです。
●メッセージの表示
●メッセージのクリア
ドライバの仕様
今回使用したドライバについて簡単に説明します。ボタンの入力(通常/長押し)を検出します。割込みは使用せず、100ms間隔でポーリングしています。カーソルがOFF状態のときは選択ボタンの通常押しは無視されます。カーソルがONのときは選択ボタンの通常押しでカーソルが移動します。LCDに文字を出力します。また、制御コマンドを送ることもできます。ボタンの入力を待ち、その状態を返します。
選択ボタンが長押しされた場合は”S”が
決定ボタンが長押しされた場合は”E”が
決定ボタンが通常押しされた場合は、カーソル行の行番号が返ります。ドライバの仕様で大体使い方が理解できると思います。色々な機能を使ったスクリプトを作ってみました。
時刻表示(スタンドアロンでも動作可能です)
バックグラウンドで実行している子プロセスを停止させる処理が、スクリプトでは望んだようにうまくいっていません(停止させるまでに時間がかかる)バックグラウンドプロセスの起動/停止をする場合は、C言語とかで作成してみてください。IPアドレスを表示したり、時刻を表示したりした後、Enterボタンを押したらメインメニューに戻るようにしています。このHowtoは、Armadilloシリーズのソフトウェアを開発する際の参考資料としてお役立てください。お使いのソフトウェアおよびフラッシュイメージのバージョン(最新版を含む)によっては手順が異なったり正常に動作しない可能性があります。
ATDEに割り当てるメモリを変更する方法
ここでは例として、CompactFlashに保存されたデジタルカメラの画像データを読み込み、それをftpでダウンロードしてみましょう
この名称は製品により異なります。-t オプションは、ファイルシステムタイプをあらわします。Linuxのファイルシステムをマウントするときは、ext2などになります。
マウントされたら、マウントポイントに移ってみましょう
所定の位置に画像ファイルが保存されていることがわかります。ftpで画像をダウンロードしてみる。
この画像ファイルをftpでダウンロードしてみましょう
ここでは、webブラウザを使ってみます。
webブラウザのアドレスバーに、あとは、画像ファイルをPCにコピーすれば、ダウンロードすることができます。アンマウントは、カレントディレクトリをマウントポイントから移したあと、このHowtoは、Armadilloシリーズのソフトウェアを開発する際の参考資料としてお役立てください。お使いのソフトウェアおよびフラッシュイメージのバージョン(最新版を含む)によっては手順が異なったり正常に動作しない可能性があります。
ATDEに割り当てるメモリを変更する方法
イメージの書き換え手順
(※) 書き換えに失敗した場合Armadillo-Jが正常に起動しなくなる場合がありますので、次の点に注意して下さい。間違ったファイルを書き込まない。ダウンローダ(hermit)を使ったFlashメモリの書き換え手順は次のようになっています。
ジャンパーピンの設定
書き換えイメージの転送
開発用PCで次のコマンドを入力します。img : ファイル名の指定、ダウンロードするファイルを指定します。書き込み状況が表示され、プロンプトが表示された時点で書き換えは終了です。このHowtoは、Armadilloシリーズのソフトウェアを開発する際の参考資料としてお役立てください。お使いのソフトウェアおよびフラッシュイメージのバージョン(最新版を含む)によっては手順が異なったり正常に動作しない可能性があります。
ATDEに割り当てるメモリを変更する方法
カーネルモジュールの作成
本 Howto では、ターゲットボードで動作する Linux カーネルモジュールを作成する方法と、作成したカーネルモジュールをターゲットボードで動作させる方法を説明します。カーネルモジュールとは、必要なときに動的にカーネルにロードまたはアンロードし、カーネルの機能を拡張することができるプログラムです。通常、デバイスドライバなどに使用されます。本 Howto では、ロード時とアンロード時にメッセージを表示するだけの、簡単なカーネルモジュールを作成します。6系を想定しています。おおまかな手順は下記のようになります。カーネルモジュールをビルドする。カーネルイメージにモジュールを組み込む。カーネルにモジュールをロード/アンロードする。ターゲットボードで動作しているカーネルのバージョンと、ビルドに使用するカーネルのバージョンは一致している必要があります。カーネルモジュールをビルドする。作成するカーネルモジュールのモジュール名は、hello とします。cは下記のものを使用します。準備ができたら、カーネルモジュールをビルドします。
ビルドが完了するとモジュールファイル hello
ko がディレクトリ内に生成されます。カーネルイメージにモジュールを組み込む。ko を、そのままターゲットボードへコピーしても動作させることもできますが、今回はカーネルイメージにモジュールを組み込む方法を紹介します。ko モジュールを含んだターゲットボード用のイメージファイルがimage ディレクトリに生成されます。カーネルにモジュールをロード/アンロードする。ターゲットボードに、作成したカーネル及びユーザーランドのイメージを書き込みます。カーネルモジュールのロードは、insmodでおこないます。アンロードはrmmodでおこなうことができます。本 Howto で使用したソースコードは、下記から取得することができます。
[1] 最終的に作成されるカーネルモジュールは、<モジュール名>
o という名前です。3-a9-13」の部分は、カーネルのバージョンによって変わりますので、適宜読みかえてください。このHowtoは、Armadilloシリーズのソフトウェアを開発する際の参考資料としてお役立てください。お使いのソフトウェアおよびフラッシュイメージのバージョン(最新版を含む)によっては手順が異なったり正常に動作しない可能性があります。
ATDEに割り当てるメモリを変更する方法
解像度と色深度の変更(カーネル2
4系のカーネルで出力解像度を変更する方法について説明しいます。6系のカーネルをご利用の方はこちらをご参照ください。出力解像度の変更方法はカーネルのバージョンによって異なります。27-a9-4以降のカーネルでビデオ出力解像度を変更する場合、カーネルパラメータに希望解像度を指定します。setenvコマンドについての詳細や注意事項については、 ソフトウェアマニュアルを参照してください。27-a9-3以前のカーネルでVGA出力の画面モードや色の深度を変えるためには、カーネルを再コンパイルする必要があります。
コンパイルの準備
と選択します。(より高い解像度や、高い色の深度を選択すると高負荷になり動作が遅くなります。設定を変更後、Exitを選択してください。
コンパイルとカーネルの書き換え
コンパイルを行い、作成されたカーネルイメージをArmadillo-9に書き込みます。を実行して、解像度と色の深度を再設定してください。このHowtoは、Armadilloシリーズのソフトウェアを開発する際の参考資料としてお役立てください。お使いのソフトウェアおよびフラッシュイメージのバージョン(最新版を含む)によっては手順が異なったり正常に動作しない可能性があります。
ATDEに割り当てるメモリを変更する方法
Armadilloシリーズ各製品のソフトウェアとマニュアルのアップデートを行いました。以下の製品が対象になります。ダウンロードサイトのデータはすでに更新済みです。動作に関わる変更はありません。18相当のものにバックポートしました。無線LANのadhocモードで接続できない問題を修正しました。sound ドライバを効率化及びシンプル化しました。10にアップデートしました。Baseイメージでデフォルトでddを選択するように変更しました。devイメージでデフォルトでiwlistを選択するように変更しました。誤記を修正しました。ハードウェアマニュアル:PASに関する注意事項を追記しました。ハードウェアマニュアル: SVG形式の図表に差し替えました。スタートアップガイド: コンフィグ領域の情報を追記しました。ハードウェアマニュアル: NANDモジュールの情報を追記しました。ソフトウェアマニュアル: NANDモジュールの情報を追記しました。スタートアップガイド: コンフィグ領域の情報を追記しました。ハードウェアマニュアル: SVG形式の図表に差し替えました。ケースモデルガイド: SVG形式の図表に差し替えました。スタートアップガイド: コンフィグ領域の情報を追記しました。無線LAN を設定する」に各種設定方法を追記しました。開発ボード ハードウェアマニュアル: SVG形式の図表に差し替えました。スタートアップガイド: コンフィグ領域の情報を追記しました。スタートアップガイド: Audioの情報を追記しました。FXボード ハードウェアマニュアル: JTAG変換ケーブルに関して追記しました。FXインターフェースボード ハードウェアマニュアル: データ形式にDocbookを採用しました。スタートアップガイド: コンフィグ領域の情報を追記しました。スタートアップガイド: Audioの情報を追記しました。
製品別の更新履歴
詳細な変更内容につきましては、各製品の更新履歴をご覧下さい。
ソフトウェアのアップデート
全てのニュース
ソフトウェアのアップデート
ユーザの皆様にご迷惑をお掛け致しましたことを、お詫び申し上げます。ATDEを使用している場合は、以下のコマンド例を参考にして、shoehornパッケージのアップデートを行なってください。
全てのニュース
ソフトウェアのアップデート
この現象が発生した場合は、致命的な問題を引き起す可能性があります。この問題が発生する可能性のあるLinuxカーネルは以下のバージョンです。ユーザの皆様にご迷惑をお掛け致しましたことを、お詫び申し上げます。エラッタ対策を行ったLinuxカーネルおよびイメージファイルは以下からダウンロードすることができます。
全てのニュース
ソフトウェアのアップデート
この現象が発生した場合は、致命的な問題を引き起す可能性があります。この不具合は、不具合対応済みのLinuxカーネルを使用するとこで解決できます。この不具合が発生するLinuxカーネルは以下のバージョンです。サーバメンテナンスのため、以下の日程でサービスを一時的に停止いたします。※期間中、断続的に5~10分程度サービスが停止される可能性がございます。この不具合は、不具合対応済みのLinuxカーネルを使用するとこで解決できます。以下の製品が対象になります。なお、テストリリースのため、一部PDF版と記載が異なる場合があります。あらかじめご了承ください。HTML版のマニュアルは、製品マニュアルのページからアクセスできます。
ATDEのファイル共有機能に不備
ATDEの特定バージョンで、ホストOSとのファイル共有ができない不具合が見つかりました。ご利用いただいている各ユーザ様方へ大変ご迷惑をおかけしましたことを、深くお詫び申し上げます。Armadilloシリーズ各製品のソフトウェアとマニュアルのアップデートを行いました。以下の製品が対象になります。お客様にはご迷惑をおかけしたことを、深くお詫び申し上げます。下記ページ内「フラッシュメモリの書き換え例 (Windows編)」の手順に従い、イメージの書き換えを行ってください。ダウンロードサイトのデータはすでに更新済みです。
全てのニュース
ソフトウェアのアップデート
これは、付属CD-ROMに本来必要なパッケージが収録されていないことによるものです。対象CD-ROM及び、解決方法につきましては下記を参照してください。ユーザーの皆様には、大変ご迷惑をお掛け致しますが、 何卒よろしくお願い申し上げます。arm-linux-gccのシンボリックリンクが作成できていないために、以下のエラーが発生します。deb」をダウンロードしてインストールしてください。ここで紹介する方法は、基板の改造を必要とします。改造が原因で故障した場合、保証適用外となりますのでご了承ください。詳しくは、製品保証規定をご確認ください。最大許容出力電流は、3Aです。基板パターンの改造と、5Vを取り出すためのピンヘッダについて説明します。
基板パターンの改造
基板のB面にある該当位置をショートします。
製品および基板のリビジョンにより、ショートさせる位置が異なります(図1参照)
2 mmのものをご用意ください。他のパターンとショートしないよう注意して作業してください。DC5Vヘッダピンを取り付けます。取り付けるヘッダピンの仕様は、表1を参照してください。なお、ヘッダピン取り付けずに、ご利用いただいても結構です。netflashを使用すると、ネットワークからイメージをダウンロードしてFlashを書換えることができます。Armadilloシリーズ各製品のソフトウェアとマニュアルのアップデートを行ないました。以下の製品が対象になります。ダウンロードサイトのデータはすでに更新済みです。本章では,ここまでに作成してきたアプリケーションやデータを1 つのイメージファイルにまとめ,スタンドアロンシステムとして運用できるようにシステムを完成させます。ここまで解説してきた内容を踏まえて,アンケートツールのメインとなるアプリケーションを作成していきます。本章では,アンケートツールで使用する名刺スキャナを動かす部分とタッチパネルについて説明します。ぜひご覧下さい。基本的に、関連ファイルを一旦ホストPCにコピーしてから新しいATDEにコピーすることでバージョンアップできます。Armadilloシリーズ各製品のソフトウェアとマニュアルのアップデートを行ないました。以下の製品が対象になります。ダウンロードサイトのデータはすでに更新済みです。本章では,ここまでに作成してきたアプリケーションやデータを1 つのイメージファイルにまとめ,スタンドアロンシステムとして運用できるようにシステムを完成させます。ここまで解説してきた内容を踏まえて,アンケートツールのメインとなるアプリケーションを作成していきます。本章では,アンケートツールで使用する名刺スキャナを動かす部分とタッチパネルについて説明します。ぜひご覧下さい。基本的に、関連ファイルを一旦ホストPCにコピーしてから新しいATDEにコピーすることでバージョンアップできます。
動作デバイスのカテゴリ:USB
正しく動作しません。本章では,実際の組み込み開発に必要となる準備を行います。ここからは,実際に組み込み機器を使用してマイガジェットを作成しながら,開発のポイントについて解説していきます。今回作成するのは,最近CDショップでよく目にするようになったCD試聴システムです。これを組み込み機器で自作してみます。
概要としては,CDのバーコードを読み取ってサーバにCDの情報を要求し,受信したジャケット画像の表示と,音楽再生を行うものです(図1,2)
2章で開発環境など,開発に必要な準備に関して説明した後,3章でディスプレイへの画像表示と入力イベントの処理部分を作成し,4章ではバーコードによるCDの選択と音楽のストリーミング再生部分を作成します。そして5 章で,3 章と4 章で作成した機能を統合して,CD試聴システムを完成させます。
開発前の準備
この章では,今回利用する機器と,その開発環境などに関して説明します。機器の構成は表1のようにしました。接続すると図3のようになります。
●表1 実現したい機能と使用する機器
CDのバーコード選択
ジャケット画像の表示
音楽プレイヤーの操作
音データの取得
図3 機器の接続図
●写真2 ケースに入ったところ
標準OSとしてLinuxが動作し,GNU開発環境を利用できるので,組み込み向けとはいっても手軽に開発を始めることができます。おもな仕様を表2に示します。
2ポート(1ポートはコネクタ非実装)
開発環境の構築
シリアルポートが必要なので,シリアルポートを持たないPC の場合は,USB ⇔シリアル変換ケーブルなどを用意する必要があります。
(2)開発用PC 上でコンソールソフトウェアを起動
ソフトウェアを起動し,シリアルの通信設定を表3のように設定します。
(3)ログインの実行
Armadillo-9ジャンパ2をオープン(ジャンパが外れている状態)であることを確認し,電源を入れるとコンソール上にLinuxの起動ログが表示されます。ログインプロンプトが表示されたら,ユーザ名とパスワードを入力します。デフォルトのユーザ名とパスワードは表4のようになっています。
クロス開発環境の構築
PCと比較して一般的にプロセッサ性能の低い組み込み用コンピュータでは,セルフコンパイル(実行環境上でのコンパイル)を行うとかなりの時間がかかり,あまり現実的ではありません。より開発効率を高めるため,通常はクロスコンパイルが利用されます。ログインするとシェルが起動し,一般的なコマンドが使えます。また必要に応じて実行パスを設定してください。ちなみに,Armaidllo-9ではコンパクトフラッシュなどの外部ストレージを使用し,gccをインストールすることでセルフコンパイルも可能ですが,コンパイルの速度を考えるとやはりクロスコンパイルが妥当です。Atmark Distでビルドを行うと,Linuxカーネルのイメージバイナリとユーザランドのイメージバイナリが作成されます。これらのファイルをそれぞれArmadillo-9内蔵のフラッシュメモリに書き込むことで,システムの動作を更新できます。ビルドするためには,binutils, GCC, makeなどといった通常の開発ツールの他にも,表6に記載されているパッケージが開発用PCにインストールされている必要がるので確認してください。以降の章でサンプルプログラムを作成するために,一度実際にビルドを行う必要があります。ここでは,デフォルトの設定ままイメージファイルを作成してみます。作業は必ず一般ユーザ権限で行います。特権ユーザ(root)で行うと,作業ミスで開発用PCの環境を壊す可能性があります。
(1)ソースコードの取得
(2)ソースアーカイブの展開
ダウンロードしたソースコードアーカイブを,任意のディレクトリに展開します。展開に500Mバイト,ビルド後には1Gバイト近くの容量が必要になるので,ハードドライブの空き容量には注意してください。
xという名前で,カーネルのディレクトリへシンボリックリンクを作成します(図4)
●図4 ソースアーカイブの展開
●図5 使用するボードのベンダ名を入力
●図6 ボード名の入力
次は,使用するCライブラリを指定します(図7)
実際には開発用PCにインストールした,ARM用のライブラリが使用されます。
●図7 使用するC ライブラリの指定
次にデフォルトの設定にするかどうか質問されるのでYesを選択します(図8)
●図8 デフォルトの設定にするかどうか
最後の3つの質問はNoと答えます(図9)
設定が終わるとプロンプトが表示されます。ビルドを実行します。ビルドの途中でいくつか質問されますが,すべて[Enter]を入力します。ビルドが終了すると,images ディレクトリにユーザランドイメージファイルとカーネルのイメージファイル,そしてそれぞれのzip圧縮ファイルが作成されます。pdfに記載されています。
フラッシュメモリに関して
組み込み向けのCPUボードでは,記憶装置としてハードディスクドライブを使用しないのが一般的です。代わりに使用される代表的なデバイスがフラッシュメモリです。最近では価格の低下に伴い,割とサイズの大きなフラッシュメモリを搭載できるようになりました。ハードディスクドライブを搭載しない組み込みシステムで用いられるおもなファイルシステムを表7に記載します。
●表7 組み込みLinux で利用されるおもなファイルシステム
保存が可能なファイルシステム
最低5ブロックの領域を 必要とするため,小さいサイズのフラッシュメモリでは 利用が難しい。
読み出し専用のファイルシステム
シンプルな構成になっている。
RAM上のファイルシステム
通常ROM上に圧縮したイメージを置き,起動時に RAM 上に伸長してマウントするので
RAMのサイズが大きく, ROMのサイズが小さい場合に有効
メモリをパーティションに分割することができるので,パーティションごとに異なるディレクトリにマウントすることが可能です。
●表8 フラッシュメモリのマップ
フラッシュROMの書き換え方法
Armadillo-9 の内蔵フラッシュメモリの書き換え方法には,シリアル経由とネットワーク経由の2種類あります。通信速度はネットワークのほうが高速です。
Linuxのアプリケーションでネットワーク経由の書き換えができるので,通常はこちらが良いでしょう
ただし,間違ったイメージファイルなどを書き込んでLinuxがブートしなくなった場合,この方法は使用できません。この場合は,シリアル経由で書き込むしか方法を使用します。ここでは,netflashと呼ばれるネットワーク経由のファームウェアのアップデートツールを使って,フラッシュROM を書き換える方法を説明します。netflash では,HTTP,FTP などのプロトコルを使用してネットワーク上にあるファイルを取得し,内蔵のフラッシュROMを書き換えることができるのが特長です。組み込み機器においてソフトウェアに不具合が発見された場合,ファームウェアの書き換えが必要となるため,販売店やメーカに依頼する必要があって手間がかかります。
ネットワークに接続可能なききであれば,netflashのようにネットワーク経由でファームウェアを更新できる機能を盛り込むべきでしょう
フラッシュROMを書き換える。それでは実際に,先ほど作成したカーネルイメージファイルとユーザランドイメージファイルでフラッシュROMを書き換えてみます。gzをコピーしてください。(1)ネットワークに接続する。DHCP が利用できる環境ならとくに問題ないですが,利用できない場合は固定のIPアドレスを設定する必要があります。オプション-rはリージョン指定です。ここにデバイスファイル名を入力することで,フラッシュROM上の書き込むパーティションを指定できます。Armadillo-9 をインターネットに接続できる環境にすれば,netflashを使って今回作成するプログラムのイメージファイルをダウンロードサイトから直接フラッシュROM に書き込むことも可能です。まず,動作を試してみたい人にはお勧めです。次章では,いよいよ開発手順の解説を行います。次に紹介するのは,ディスプレイへの画像表示とタッチパネルからのイベント入力に関する部分の開発手順です。この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。本章では,シリアル通信を利用して,バーコードリーダが認識した情報からCD1 枚分の情報を受け取り,それを元に音楽を再生する部分を作成してみます。
バーコードリーダと音楽ストリーム再生
作成するシステムについて
この章ではバーコードリーダで読みとった情報を元に音楽を鳴らすプログラムを作成します(図1)
プログラムの仕様ですが,バーコードリーダが認識した情報からCDアルバム1枚分の情報を受けとり,1曲目から最後まで再生し終了する簡単なものにします。バーコードとアルバムとの紐付けはサーバ側に一任し,端末側はシンプルな作りにします。今回この部分は簡単なCGI スクリプトで行いますが,大規模システムではPHP とRDBMS の組み合わせを使うほうが,後々メンテナンスが楽かもしれません。本特集では,組み込み機器側に焦点を当てるため,CGI の部分はごく簡単に説明するだけに留めたいと思います。
使用する機器
今回使用するバーコードリーダは,エス・アールが販売している「SD-720」を使います(写真1)
このバーコードリーダはRS232Cでシリアル通信ができ,とても扱いやすいものになっています。まず最初にシリアル通信のおさらいから始めます。
外付けモデムが主流だったころまでは,PCのシリアルポートを設定する人も多かったのではないでしょうか
最近の新しいPCでは,シリアルポートが付いていない物のほうが多くなってきて,USB シリアルが手放せなくなってきました。組み込み機器の開発,それもカーネルの移植などを行っている人にとって,シリアルポートはコンパイラの次くらいに重要なものだと思っています。シリアル通信とは,ひとかたまりのデータを1ビットずつ順番に転送していく方法です。
PCが採用しているシリアル通信方法は調歩同期方式と呼ばれるもので,スタートビットと呼ばれる信号とストップビットと呼ばれる信号の間に固定数のビットを順番に送り出していきます(図2)
●図2 調歩同期の波形
UART自体は波形を作るためのハードウェアであって,実際にケーブル上に乗る電気信号を規定しているものではありません。PCで使われているシリアルポートの電気的な部分など,ケーブルとのインターフェースを決めている規格はRS-232C(注1)という規格です。もともとは大型コンピュータなどに継ぐためのテレタイプとモデムを継ぐために規格化されれたものでした。オリジナルの規格のときには25ピンだったのですが,PCには9ピンのコネクタがよく用いられています。COM1 は前章までシリアルコンソールとして使用してきました。それでは「今回はCOM2 にバーコードリーダを接続」と行きたいところですが,あいにく出荷状態のCOM2 には一般的なシリアルのコネクタとして使われているD-SUB9ピンコネクタや,COM1にあるような10ピンのコネクタが実装されていません。もちろん,半田ごてを片手にピンヘッダを実装しても良いのですが,今回は前章までシリアルコンソールとして使っていた COM1に接続することにします。
シリアルポートの準備
COM1 をシリアルコンソールとして使っていると,プログラムとバーコードリーダがシリアル通信を行っているときにカーネルからのメッセージが割り込んできたり,loginを待っているプログラムが必要なデータを奪ってしまいます。そこで,COM1 をシリアルコンソールから解放します。シリアルコンソールが使えなくなっしましますので,かならずtelnetでログインできることを確認してから作業を行ってください。出荷時の状態では多くのプログラムがCOM1 を使用しています。これらを順番に止めていきます。このプロセスはinitプロセスによって起動され,起動時にどこのポートを監視するか伝えられます。作業をシリアルコンソールで行っている場合,一度logout してしまうとなにも反応がなくなっしまうのがわかると思います。もちろんデーモンなどは動いていますので,telnetでログインするができます。前章で説明したとおり,書き換えただけではフラッシュメモリに反映されません。このファイルを直接変更したイメージファイルを作成し,フラッシュメモリに書き込むことで,再起動時にログインプロンプトが表示されなくなります。
準備が終わったので,さっそくバーコードリーダをつないでみましょう
シリアル通信を行う機器をつなぐ場合,以下の点に気を付ける必要があります。今回使用するバーコードリーダのデフォルト設定では表1となっています。今回は練習もかねて,COM1 の設定を変更することにします。多くのLinuxディストリビューションではstty というツールを使ってシリアルポートの設定を変更することができます。幸い出荷時の 状態でstty が使えますので,まずは現状の設定を確認してみます。図3のように入力してください。出力された文字列の意味は表3のようになっています。詳しい情報についてはstty のman ページを参考にしてください。ブレイクによるシグナルを発生させない。スタート/ストップ文字を送る。オーバーフロー時にベルを鳴らさない。これでバーコードリーダを接続する準備が整いました。PCのシリアルポートにつながっていたケーブルを抜いて,バーコードリーダをつなぎます。図6のように表示されたら成功です。
●図6 バーコード読み込みテスト
何度かバーコードを読み込んでみるとわかりますが,データの間に空行が入ります。
この空行が何なのか調べてみましょう
図7 のようにod というコマンドを使ってみます。つまり,このバーコードリーダの初期設定時には,データとデータの間にLINE FEED文字を2つ挿入するようです。マイコンなど比較的シンプルなCPU でシリアル通信プログラムを作成したことがある人ならば,設定を行ったあとは「FIFOからデータを読みだすだけ」なので,シリアル通信なんて簡単じゃないか(図8)と言われると思いますが,TTYのしくみを持つOSでは少し話が異なります。もちろんLinuxでも,UARTのレジスタと通信しているデバイスドライバ層では,マイコンで制御していることと同じようにコントロールレジスタやステータスレジスタ,tx/rx fifoにread/writeを行っているだけです。オーバフローやハードウェアの不具合がない限り,送られてきたデータをそのまま読み込むことができます。しかし,Linuxのシリアルサブシステムはデバイスドライバ層で受け取ったデータをttyレイヤとttyline deciplineレイヤに通してから初めて,ユーザランド側にデータを渡すしくみになっています。)のようなダム端末と呼ばれるターミナルハードウェアを何台もつないで,複数人で1台のホストコンピュータを使っていたときの名残です。今でも,consoleやX上で動かしているターミナルソフトウェアは,これらのハードウェアをエミュレートしています。これらの機能はすべてtty の層が処理をしています。ttyレイヤは言い換えると,「渡されるデータを逐次監視し,決められたデータが通るときに適切な処理を行っている」層なのです。しかし,実際に単純な通信を行う場合は,送ってきたデータをそのまま読み取る必要があります。そこで,入力されたデータにまったく手をつけずに生のまま渡す設定にもできるようになっています。これをraw(生)モードと呼びます。
sttyでもrawというオプションを与えることでシリアルポートをraw モードに変更することができます(図9)
新しく表4の4つが表示されました。
●表4 raw モードに変更した後のシリアル通信設定
出力の後工程を行わない。シグナルを発生させない。
この状態でもう一度バーコードリーダを使って図5を読み込んでみましょう(図10)
これはCARRIAGE RETURN 文字をLINEFEED文字に変更するという処理が,rawモードにすることによって無効になったため,実際にバーコードリーダが送っているデータが直接読めるようになったからです。UNIX 系OS でのシリアル通信のプログラミングは基本的に同じです。
データを生のまま渡すか,手を入れて料理するか
これらはstty を使って設定することも可能です。入力された文字に対して行う処理を決める。出力する文字に対して行う処理を決める。
シリアル通信の制御全般の設定
通信先に影響のない設定
特別な意味を持つ文字の定義
hの内容はリスト3 のとおりです(注2)
POSIXではボーレートの値はtermiosに含まれるとしていますが,どこにどのような名前で含まれるのかまでは規定していません。h などをインクルードしてください。リスト4のサンプルコードは,バーコード情報を/dev/ttyAM0 から読み出し,標準出力に出力するソースコードです。まず最初にシグナルハンドラの設定を行います。このサンプルではSIGHUP,SIGINT,ISGILL の3つのシグナルだけにしかハンドラを設定していませんが,環境によっては他のシグナルにもハンドラを指定する必要が出てくると思います。このサンプルコードでは,全体をシンプルにするためにエラーが発生した場合にはメッセージと共にすぐ終了するようにしました。実際に組み込み機器の開発を行っている場合は,エラーが発生した場合でもいろいろな方法を使ってエラーを通知したり復旧したりするように作り込みます。コンピュータの業界では20対80の法則というのがありますが,組み込みの20対80の法則は,正常系のコード対エラー処理系のコードかもしれません。シグナルハンドラからも呼ばれる必要があるため,オリジナルのtermiosを保持する変数はグローバル変数としています。
ただし,オリジナルのtermios情報を取得する前にもdie( )が呼ばれてしまうと,すべての変数が0で初期化されているオリジナル変数を使うことになってしまい,逆に設定を変更してしまうことになります(注3)
注3)初期化されていないグローバル変数は BSS セクションに領域が取られるために, main( )が始まった時点では0 で初期化されています。new はまったく別の設定を行うため,自分で1から値を代入しても問題ありませんが,必要な場所だけ変更するようにした場合はこの方法が簡単です。rawモードと言ってもすべての設定を変更するわけではありません。このため,元々の設定によってはcfmakeraw()した後のnewであっても設定値が異なることがありますので注意してください。これでこのサンプル的にはすべての設定ができましたので,tcsetattr( )を使って設定を変更することができます。tcsetattr( )には,設定をするシリアルデバイスのファイルディスクリプタとオプショナルアクションを指定するフラグ,そして設定値を持っているtermios構造体へのポインタを渡します。第2 引数であるフラグには表6 の3 種類があり,設定を行うときのふるまいを指定することが可能です。状況に合せて使いわける必要があります。設定を即座に変更する。指定されているシリアルポートに書きこまれたデータがすべて転送され終った後に設定の更新 を行う。指定されたシリアルポートに書き込まれてデータがすべて転送され,かつ,受け取ったデータ のうちユーザランド側でread されていないデータが捨てられた後に設定の更新を行う。
設定が終わったところで,シリアルデバイスファイルを読み込みましょう
rawモードではバーコードリーダが転送してくるデータフォーマットが\r\nとなることを思いだしながらコードを読んでください。
readシステムコールは基本的にデータが読めるようになるまでブロックします(注5)
read が戻ってきたらまずはエラーチェックから始めます。ブロック中にシグナルが発生してしまうと,-1を戻しつつerrnoにEINTRを設定して関数が戻ってきてしまいます。
今回のサ ンプルコードでは,シグナルが入ってきた場合にはdie( )を呼んでいるだけなので,あまり気にしなくても良いのですが,シグナルを多用している場合には注意が必要です(注6)
EOF時にはエラーとして終了させています。エラーチェックが終わり,read が正常だった場合は読み込んだデータcの処理を始めます。このサンプルでは‘\r’または‘\n’以外は正常な値として処理することにします。cの値が正常値であり,かつバッファにまだ余裕がある場合にのみ,cの値をバッファに書き込みます。cの値が‘\n’だった場合には,1つ前の文字が‘\r’だったと予測できます。もしprevの値が‘\r’の場合にはデータの終わりを表わすので,正常処理としてバッファに溜まっているデータを標準出力に出力します。画面上見やすくするために‘\n’を別途出力しています。cの値が‘\n’にもかかわらず,prevの値が‘\r’ではなかった場合は,正常なシークエンスではないのでエラーとします。注4)システムコールのオーバヘッドが気になる方は,ぜひまとめ読みをするコードを書いてみてください。注6)実際には,使用するバーコードリーダが出力する文字以外はすべてエラーとすべきです。
次は音楽再生のほうを作ってみましょう
仕様としては,再生側に音楽データを保持する容量を持たせないためにも,音楽データを外部サーバからストリームとして受け付け,逐次再生できるようにしたいと思います。サーバは複数台の機器へ別々のデータをストリーム配信するわけですから,ストリームデータは圧縮する必要があります。端末側は圧縮されたデータをデコードしつつ再生する機能が必要になります。
使用する機器
アナログ機器はとてもデリケートなうえに,用途によって選ぶ幅があまりにも広いため,Armadillo-9 では使用する方に選んでいただく形にしています。最近ではUSBオーディオアダプタが安価に入手できるようになったので,手軽に使ってみたい場合などとても便利です。
使用するソフトウェア
音楽再生用のアプリケーションを自分で作るのもとても楽しいと思いますが,せっかくオープンソースな環境で開発をしているわけですから,今回はalsaplayerという音楽再生プログラムを使ってみたいと思います。alsaplayerはデスクトップでも使われているアプリケーションですが,モジュール化がとても進んでいるため,無用の機能を外すことで,組み込み用途としても十分使えるようになっています。
本稿執筆時点での最新版は0
このバージョンでは表7の機能がモジュール化されています。
76 でモジュール化された機能
しかし,テスト時にはなんらかの出力があると便利なので一応text インターフェースも有効にしましょう
一応テスト用にfileも作っておきましょう
scopeはビジュアルエフェクト用ですので,今回は必要ありません。表8のモジュールを選択すれば,仕様を満たすことができそうです。
●表8 今回選択したモジュール
Toremor はフットプリントが小さく組み込み用に開発されたVorbis互換のライブラリで,ARM用にチューンされていることも特徴の1つです。
カーネル設定の変更
また,ALSAを使用するためにカーネルの設定を変更する必要があります。デフォルトのカーネルでは互換性を維持するためにOSS が有効になっていますが,OSSが有効な場合ALSAが有効にならない場合あるので注意してください。図12 の内容をカーネルのメニューから選択し,逆に図13を外してください。
●図12 カーネルメニューから選択する内容
●図13 カーネルメニューから外す内容
ALSAデバイスドライバをユーザランド側で使うときには,OSS のように直接デバイスを扱うのではなく,libasoundと呼ばれるライブラリを使用するのが一般的なようです。こちらも用意します。あいにく,現在のAtmark Dist にはこれらのライブラリやアプリケーションが入っていないため,メニューを選択するだけで使えるようにはなりません。Atmark Dist に外部のライブラリやプログラムを組み込むのはとても簡単です。Atmark Dist 自体がmakeベースにしたビルドシステムを使っているので,Makefile を追加してあげるだけで簡単にターゲットボードに合った形でコンパイル,インストールを行ってくれます。パッチを当てた後(注7),ビルドしてイメージファイルを作ります。イメージファイルの作成方法やフラッシュメモリへの書き込み方法は前章を参考にしてください。最初はoggファイルをダウンロードしてから再生してみます。
ダウンロードするにはwgetを使うと便利です(図14)
これで音楽の再生ができることが確認できました。
●図14 ファイルをダウンロードして再生
次にサーバ側に複数の音楽データを置いて,それらのリストを書いたプレイリストを用意します。
alsaplayerはプレイリストが与えられるとその中の音楽データを逐次再生していきます(図15)
●図15 プレイリストを使って音楽データを再生
さて,バーコードデータの取得と音楽の再生ができたところで,概要図内でできあがっていない部分の作成に取りかかります。バーコード情報から音楽の情報へ変換は,サーバサイドで行います。組み込み機器を使ったシステム全体を設計する場合,できるだけサーバ側で処理を行うように設計し,組み込み機器端末はシンプルにしておいたほうが,あとあと楽ができることが多いと思います。
今回はサーバーサイドプログラミングの特集ではないので,CGIはshのcase文を使った単純なものにしました(リスト6)
●リスト6 バーコード情報から音楽情報への変換スクリプト(b2p
サーバに対してバーコードを投げるだけで,プレイリストの内容がaudio/x-scpls として戻るだけの単純なスクリプトです。
c の変更内容
図16のようにして音楽が再生されれば成功です。
●図16 変換したプレイリストを使って音楽を再生
全部つないでみる。図1の概要図で表わした3つのコンポネントが揃ったので,すべてをつないで動かしてみます。cとして,リスト9の関数を追加します。
c に追加する関数
この変更で,バーコードリーダの読み込みから再生まで可能になります。
c の内容を変更
この作品は、クリエイティブ・コモンズ・ライセンスの下でライセンスされています。御世話様です。川田工業の原と申します。
> ところで、本当にcygwin環境で開発可能なのでしょうか
gzを解凍すると
c の二つのファイルが出来ます。
> もちろんWindows環境では大文字小文字の区別がありませんので
> これらのファイルはどちらかが上書きされているようです。
もっともバージョンが古いせい
最初にカーネルのコンパイルを通すまでは、あれやこれやエラーが発生しましたが
>> どなたか問い合わせ先をご存知なかたいませんか
> ユーザーガイドの最後に書いてある。
> 株式会社アットマークテクノさんに直接お電話するのは
> まずいのでしょうか
おそらくあまり連絡がとれないのではと想像します。
アットマークテクノさんのAJ担当者様もおそらくこのMLを見ていらっしゃると思いますので、おそら
くこのML上で回答があるんじゃないでしょうか
御世話様です。川田工業の原と申します。ソースコード見た感じでは、不可能だと思います。
それともコンソール
としてシリアルを使えば可能でしょうが
行なう機能を持っています。に記述のある、mailコマンドが実行され、メールが送信されます。よろしければ参考にしてください。
また、プロバイダのSMTP認証が問題となっている場合についてですが、Perl等で
あれば、認証をプログラム中から行い、メールを送信することが簡単にできます。ので、メール送信プログラムを作成することをおすすめします。> アラートの送信などでメールを飛ばしたいと考えています。
残念なことに
> どなたか手軽に飛ばせる方法をご存知の方が居られましたらご教授願え
よろしくお願いします。
最近プロバイダのSMTPサーバは
> セキュリティの設定が厳しくなってきてるので、自前でMTAを持つ方が
> 何かと良いのではと考えています。> その他の詳しい資料は見つかりませんでした。
> 浅いため、こういった移植作業の難易度がよくわかってないですが、> C言語が多少扱える程度では難しいと考えるべきでしょうか
> 今週末辺りで時間が取れれば、一度ダメもとでsendmail辺りのソースを
> 持ってきて試してみようと思ってます。竹田といいます。
inittabの編集をすればいいのかと思って調べているんですが
よくわかりません。
すいませんがどなたか教えていただけないでしょうか
以上 よろしくお願いします。ありがとうございます。早速調べてみます。
あの後、snmp監視サーバ側から飛ばす方法もありかなとか、自分でも
いろいろ考えてみてますが、これだってのが見つからずもやもやしてた。早速ソースを見ながら検討してみます。perl詳しくないので困ったらまた質問させてください。> 行なう機能を持っています。> に記述のある、mailコマンドが実行され、メールが送信されます。> よろしければ参考にしてください。
> また、プロバイダのSMTP認証が問題となっている場合についてですが、Perl等で
> あれば、認証をプログラム中から行い、メールを送信することが簡単にできます。> ので、メール送信プログラムを作成することをおすすめします。>> アラートの送信などでメールを飛ばしたいと考えています。
残念なことに
>> どなたか手軽に飛ばせる方法をご存知の方が居られましたらご教授願え
よろしくお願いします。
最近プロバイダのSMTPサーバは
>> セキュリティの設定が厳しくなってきてるので、自前でMTAを持つ方が
>> 何かと良いのではと考えています。>> その他の詳しい資料は見つかりませんでした。
>> 浅いため、こういった移植作業の難易度がよくわかってないですが、>> C言語が多少扱える程度では難しいと考えるべきでしょうか
>> 持ってきて試してみようと思ってます。
> あの後、snmp監視サーバ側から飛ばす方法もありかなとか、自分でも
> いろいろ考えてみてますが、これだってのが見つからずもやもやしてた。> ところです。snmpは良く使われているみたいです。
> inittabの編集をすればいいのかと思って調べているんですが
> よくわかりません。
> すいませんがどなたか教えていただけないでしょうか
最近連投気味ですいません。220で作業をしていて下記2点気になったので確認させてください。すると何故かデフォルトのdhcp利用のものに戻っています。
どこか別の場所で設定すべきなのでしょうか
不要と判断し止めてます。
binをブートローダとして書込みましたが、最初のブートの・・・・・
へ出力されてしまいます。
を設定すると回避できるので、問題にはなっていませんが210では
オプションの設定は必要なかったので念のため確認させてください。
8でホームページ版がv1
5なので、念のため
5も試しましたが同様でした。html)で以下の不備が発見されました。
ユーザーの皆様には、大変ご迷惑をお掛け致しますが、何卒よろしくお願い申し
に、使用されないディレクトリが存在していました。
ロスライブラリを作成したdpkg-crossのバージョンの問題により、一部環境で
は、これらをインストールすることができません。Recoverイメージのビルドを行なうことができます。適用することで、使用されないディレクトリを削除することができます。> すると何故かデフォルトのdhcp利用のものに戻っています。
> どこか別の場所で設定すべきなのでしょうか
> 不要と判断し止めてます。
これは、ユーザーランドイメージや、カーネルイメージを変更、修正しても、設
定情報が保持されるようにするための仕組みです。ルが書き出されます。とすることで、フラッシュメモリへ、保存することができます。
設定を初期化したい場合は、を実行します。
binをブートローダとして書込みましたが、最初のブートの・・・・・
> へ出力されてしまいます。
> を設定すると回避できるので、問題にはなっていませんが210では
> オプションの設定は必要なかったので念のため確認させてください。
8でホームページ版がv1
5なので、念のため
5も試しましたが同様でした。
binを書き込んだ場
合、ブートローダの出力が、シリアルポート2となります。値)になります。
また、Linuxブートオプションが未設定の場合は、製品により、使用される値は
以下のように異なっています。
より詳細な情報は、ウェアマニュアル」の「6
Linuxブートオプションの設定」をご覧ください。これらは以下からダウンロードすることができます。溝渕さん、丁寧に教えていただきありがとうございます。
210からの乗換えのため、200シリーズはソフト的に共通ではないか
という勝手な先入観で混乱してました。
若干のギャップがあるんですね
これで少し見えたような気がします。ありがとうございました。今後ともよろしくお願いします。>> すると何故かデフォルトのdhcp利用のものに戻っています。
>> どこか別の場所で設定すべきなのでしょうか
>> 不要と判断し止めてます。
> これは、ユーザーランドイメージや、カーネルイメージを変更、修正しても、設
> 定情報が保持されるようにするための仕組みです。> ルが書き出されます。> とすることで、フラッシュメモリへ、保存することができます。
> 設定を初期化したい場合は、> を実行します。
binをブートローダとして書込みましたが、最初のブートの・・・・・
>> へ出力されてしまいます。
>> を設定すると回避できるので、問題にはなっていませんが210では
>> オプションの設定は必要なかったので念のため確認させてください。
8でホームページ版がv1
5なので、念のため
5も試しましたが同様でした。
binを書き込んだ場
> 合、ブートローダの出力が、シリアルポート2となります。
> また、Linuxブートオプションが未設定の場合は、製品により、使用される値は
> 以下のように異なっています。
> より詳細な情報は、Linuxブートオプションの設定」をご覧ください。
> させたいのですが
メヂィアラボの伊藤です。
> > すいませんがどなたか教えていただけないでしょうか
これはちょっと乱暴すぎませんか
と思ったので、横から一言
少なくとも、この方法では、端末の初期化がされないと思うので、シリアルとかの場合出力が階段状になったり、ジョブコントロール
#実機での確認はしてませが
とかに変更して、とりあえず getty には働いてもらいます。
sh は自分で作って、自動ログインで
やりたい内容をかきます。
「自動ログイン」の意味が、ログインシェルの起動までで、普通にログインしたときとまったく一緒にしたいのであれば、(loginまで動かす必要になった事はないので、実際にやった経験は
#セッショングループの設定は login の役割でしたっけ
#自動ログインしたいでは、何がしたいのかがよくわからないので、#返事に困るのはわかりますけどね
または商用電源のない環境で数時間ポータブルPCとして
使いたいのですが
なにかいい方法がないでしょうか
以下を考えてみましたが全くの素人です、心配です。
ご意見をいただけませんでしょうか
参考回路事例を紹介いただけませんでしょうか
参考のarmadilloプログラムを紹介いただませんでしょうか
0)以下の構成とする。
停電時NiMHに切り替えるリレー
トリクル充電で0
再度の充電開始はタイマか電圧低下検出とする。
結果として間欠充電方式
温度上昇計測の必要性がわかりません。
動作させる、同時にタイマ起動させ
3)その後1時間程度停電連続判定したら
4)停電復旧したらNiMHを急速充電する。
はじめての使用時も同じ
但しNiMHが未放電ならトリクル充電
以上 宜しくお願いします。マカーグです。
> 足りるのかな
> #どなたか動かしたことがある人いますかね
イクシスリサーチの小田原です。お世話になっております。
展示会等で以前から目にしておりましたが、相変わらず驚異的なサイズですね
さて、早速ですが気になった部分がありましたので、質問させていただきます。
ベースボードに差し込む時に、本体を逆に差し込めてしまうような気がするの
ですが、大丈夫でしょうか
また、逆差しは即破損ですか
ベースボードを自作したとして、MACアドレスの扱いはどうなりますか
取得することになるのでしょうか、それとも御社から提供していただけるのでし。よろしくお願いいたします。吉本@ファーストステップです。
気がついたら弊社の参考出展品が取り上げられていて
びっくりしました。SIPの外線2回線程度ならば問題なく使えるといった感じです。相性の悪いSIP電話機などは通話に耐えない感じになります。
あとはアナログやISDN回線を本体に収容できれば
最高のPBXになるのですがハードに疎いため
そこまではまだ手が回りません・・・
また、弊社にてAsterisk関連のコミュニティサイトを運営しておりますので
興味のある方は見てみてください。> マカーグです。
>> #どなたか動かしたことがある人いますかね
> こんにちは
> メヂィアラボの伊藤です。コメントありがとうございます。反応があって嬉しいです。
> > > すいませんがどなたか教えていただけないでしょうか
> これはちょっと乱暴すぎませんか
と思ったので、横から一言
> 少なくとも、この方法では、端末の初期化がされないと思うので、> シリアルとかの場合出力が階段状になったり、ジョブコントロール
# と、思ったらデフォルトでは inittabの先頭に制御端末の指定がされていま
るので、上記の制御端末とコントール文字が動けばそれなりに動くと思います。して起動します。
sh は自分で作って、自動ログインで
> やりたい内容をかきます。
> 「自動ログイン」の意味が、ログインシェルの起動までで、> 普通にログインしたときとまったく一緒にしたいのであれば、> (loginまで動かす必要になった事はないので、実際にやった経験は
> ありません。
たしかに debianなどでは上記のようにする必要がありますね
# なんですかね
> #自動ログインしたいでは、何がしたいのかがよくわからないので、> #返事に困るのはわかりますけどね
コメントありがとうございます。返事が遅くなってすいません。
何がしたいのか説明できていなかったんですね
申し訳ないです。と表示される状態になるようにしたい。ということでした。今後はもっと具体的に質問の内容を書くようにします。
に変えたところ、と表示されました。最初はよくわからなかったのですが、コントロール出来るようですので、これで望み通りのことが出来そうです。伊藤様のコメントの方も参考になりました。ありがとうございました。初めて、メールいたします。突然ですが、このボード面白いです。
本ボードは、購入後回路図等の公開はありますか
小ロットの場合は、購入対応で考えていますが、数が多くなり、周辺回路付加したオリジナルボード作成
したいとなった場合、製作の道はありますか
ご存知の方お教えいただけるとありがたいです。tiny)での日本語表示、入力の動作確認ができました。
を追加した後に、これを改善する為に、swap領域を作成します。swap用のファイルを作成します。
swapパーティションの作成
上記コマンドを実行した後に、UTF-8が追加されていると思います。以上で、日本語の表示ができるようになっているかと思います。
> 'utf'にはしたいのですが、一歩下がって日本語表示ができれば良しとすべく試行錯誤
> した結果、日本語のエラーメッセージなどの表示は何とかできたようです。> (1)シリアル端末からネットワーク経由のsshを使う。> モードになると表示が無茶苦茶になります。> これは今回の件に限らず、以前からいろんな場面で起こっています。)の方が安定しています。> 日本語表示はこれで様子をみます。> アドバイスをいただいた方々、どうもありがとうございました。>> ご回答有難う御座います。>> 結論としてはまだうまくいっていません。>> exportを実行すると確かに切り替わりましたが、エラーがでます。
>> 結果は相変わらずでして、viで日本語を入力するとcatならきちんと出力するのですが、>> どこか壊れているのではと、おかしいところを探し始めたところです。>> よろしくお願いします。北都システムの酒井です。お世話になっております。deb」をインストールしたいのですが、また、apt-getするたびに、このパッケージの依存関係で文句を言われます。
なれないDebianを扱っているから初歩的な質問かもしれませんが、解決策があれ
ばご教授願います。
唯一回路図を付けて販売しているのは、> 初めて、メールいたします。> 突然ですが、このボード面白いです。
> 本ボードは、購入後回路図等の公開はありますか
> 小ロットの場合は、購入対応で考えていますが、> 数が多くなり、周辺回路付加したオリジナルボード作成
> したいとなった場合、製作の道はありますか
> ご存知の方お教えいただけるとありがたいです。asteriskの件で皆様のご助言たいへんありがとうございます。
まずはTDMoEの部分だけをテストしてみたいのですが
そのためにはasteriskのなかから必要なドライバだけ抜き出して
使うということになるのでしょうか
そのようなテストは可能なのでしょうか
最初は10BaseTでポイント・ツー・ポイント接続した2台の
考えています(送信の周期は125μ秒)です。
受信は確認できるのでしょうか
して観測する。
ガリガリにハードで作るとしたら
相互の送受信してその後受信した25バイトのデータの
エラスティックメモリでジッタ吸収する。例えば以下の機器(ハードウェア)で実現できる。置き換えたい理由は:例の機器は大きい、高い、不要な機能が多い。などの理由で手軽に使えない。を理解できない。どうぞ宜しくお願いいたします。吉本@ファーストステップです。
気がついたら弊社の参考出展品が取り上げられていて
びっくりしました。SIPの外線2回線程度ならば問題なく使えるといった感じです。相性の悪いSIP電話機などは通話に耐えない感じになります。
あとはアナログやISDN回線を本体に収容できれば
最高のPBXになるのですがハードに疎いため
そこまではまだ手が回りません・・・
また、弊社にてAsterisk関連のコミュニティサイトを運営しておりますので
興味のある方は見てみてください。> マカーグです。
>> #どなたか動かしたことがある人いますかね
事情が飲み込めていないかも知れないのですが&&この
メーリングリストにふさわしい話題かどうかわからないのですが
ishiさんの想定するIP電話とかSIPサーバとかはどういった。
ものか、よくわかっていないのですが、IP電話の広域での
実装をご検討されているように思えます。
TDMという仕組み(昔やってましたが)が必要でしょうか
TDMという仕組み自体は、電話の帯域が通常の専用線帯域に
くらべて無視できるほど小さくなかった時代のもののように思えます。
かなり多くの方がひかり回線とか、スピードテストで50Mbpsとか
言って、Skypeのようなソフトフォンまがいを誰もがつかっている。
時代ですから、むしろジャブジャブの回線速度にあわせて
できるだけシンプルな処理をしたほうがよいと思います。
だから、TDMなどで通話回線を束ねるよりも、むしろ、VPNなどで
させるというような構成のほうが、現実的なのではないかと
見たらいかがでしょう
VPNの必要もないというのであれば、それすらも要らないかも
また、ネットワークを分ける必要がどうしてもあるのでしたら、たとえば、NTT東日本のひかり電話用のルータ(どこかのOEM)を
拾ってきて、SIPゲートウェイにしてしまうというのがもっとも
手っ取り早いように思えます。
その他、昨日ご紹介のあったSIPサーバのように
極小SIPサーバなどはたくさん出てきています。
この辺をつかって、一旦端末を終端してしまい、あとは極小SIPサーバ同士を番号計画で回すという力技も
いずれもほとんど開発の必要のない解決ができるかと
差し出がましい&&場違いな回答でしたらごめんなさい。
シンプルでセキュアなシンクライアントシステム
> まずはTDMoEの部分だけをテストしてみたいのですが
> そのためにはasteriskのなかから必要なドライバだけ抜き出して
> 使うということになるのでしょうか
> そのようなテストは可能なのでしょうか
> 受信は確認できるのでしょうか
> して観測する。
> ガリガリにハードで作るとしたら
> 相互の送受信してその後受信した25バイトのデータの
> エラスティックメモリでジッタ吸収する。> 例えば以下の機器(ハードウェア)で実現できる。> 置き換えたい理由は:例の機器は大きい、高い、不要な機能が多い。> などの理由で手軽に使えない。> を理解できない。> どうぞ宜しくお願いいたします。> 吉本@ファーストステップです。
> 気がついたら弊社の参考出展品が取り上げられていて
> びっくりしました。> SIPの外線2回線程度ならば問題なく使えるといった感じです。> 相性の悪いSIP電話機などは通話に耐えない感じになります。
> あとはアナログやISDN回線を本体に収容できれば
> 最高のPBXになるのですがハードに疎いため
> そこまではまだ手が回りません・・・
> また、弊社にてAsterisk関連のコミュニティサイトを運営しておりますので
> 興味のある方は見てみてください。
> >> #どなたか動かしたことがある人いますかね
久松様、ありがとうございます。
だから、TDMなどで通話回線を束ねるよりも、むしろ、VPNなどで
させるというような構成のほうが、現実的なのではないかと
たいへん特殊な事情があってTDMoEを使いたいのです。大型コンピュータベースのシステムを継続運用しなければならない。
しかしT1専用線のサービスがなくなり広域LAN通信サービスを利用
せざるを得ない。
10年以上も前から使用しているクロスバ交換機とかボタン電話とか
レガシー交換機を廃棄できない、そのまま使いたい。広域LAN通信サービスの使用を検討せざるを得ない。以上宜しくお願いいたします。
このような機器の必要性はベストエファットでなくギャランティが必要な
場面であり、インフラを支えてきたと思うのですが今時取り残された。恐竜みたいに思っています。
だけども現実社会を支える大事なものでありつずけるのでは
IPはベストエファットでTDMはギャランティとの立場でいます。
メーリングリストにふさわしい話題かどうかわからないのですが
armadilloのメーリング・リストですからリストの管理者が判断されることではないでしょうか
ishiは以下のように考えました。直接関係しない間接的話題についても拒否しない。アナログCPUであっても実装の比較であれば問題ない。
お願い:管理者様 不都合ありましたらご指摘のほど
お願いいたします。
事情が飲み込めていないかも知れないのですが&&この
メーリングリストにふさわしい話題かどうかわからないのですが
ishiさんの想定するIP電話とかSIPサーバとかはどういった。
ものか、よくわかっていないのですが、IP電話の広域での
実装をご検討されているように思えます。
TDMという仕組み(昔やってましたが)が必要でしょうか
TDMという仕組み自体は、電話の帯域が通常の専用線帯域に
くらべて無視できるほど小さくなかった時代のもののように思えます。
かなり多くの方がひかり回線とか、スピードテストで50Mbpsとか
言って、Skypeのようなソフトフォンまがいを誰もがつかっている。
時代ですから、むしろジャブジャブの回線速度にあわせて
できるだけシンプルな処理をしたほうがよいと思います。
だから、TDMなどで通話回線を束ねるよりも、むしろ、VPNなどで
させるというような構成のほうが、現実的なのではないかと
見たらいかがでしょう
VPNの必要もないというのであれば、それすらも要らないかも
また、ネットワークを分ける必要がどうしてもあるのでしたら、たとえば、NTT東日本のひかり電話用のルータ(どこかのOEM)を
拾ってきて、SIPゲートウェイにしてしまうというのがもっとも
手っ取り早いように思えます。
その他、昨日ご紹介のあったSIPサーバのように
極小SIPサーバなどはたくさん出てきています。
この辺をつかって、一旦端末を終端してしまい、あとは極小SIPサーバ同士を番号計画で回すという力技も
いずれもほとんど開発の必要のない解決ができるかと
差し出がましい&&場違いな回答でしたらごめんなさい。
シンプルでセキュアなシンクライアントシステム
> まずはTDMoEの部分だけをテストしてみたいのですが
> そのためにはasteriskのなかから必要なドライバだけ抜き出して
> 使うということになるのでしょうか
> そのようなテストは可能なのでしょうか
> 受信は確認できるのでしょうか
> して観測する。
> ガリガリにハードで作るとしたら
> 相互の送受信してその後受信した25バイトのデータの
> エラスティックメモリでジッタ吸収する。> 例えば以下の機器(ハードウェア)で実現できる。> 置き換えたい理由は:例の機器は大きい、高い、不要な機能が多い。> などの理由で手軽に使えない。> を理解できない。> どうぞ宜しくお願いいたします。> 吉本@ファーストステップです。
> 気がついたら弊社の参考出展品が取り上げられていて
> びっくりしました。> SIPの外線2回線程度ならば問題なく使えるといった感じです。> 相性の悪いSIP電話機などは通話に耐えない感じになります。
> あとはアナログやISDN回線を本体に収容できれば
> 最高のPBXになるのですがハードに疎いため
> そこまではまだ手が回りません・・・
> また、弊社にてAsterisk関連のコミュニティサイトを運営しておりますので
> 興味のある方は見てみてください。
> >> #どなたか動かしたことがある人いますかね
完了することを確認しました。対応ありがとうございました。内容の理解はさておき、溝渕さんの通りにやってみました。結果は、完璧でした。ありがとうございます。
通常のファイルをスワップファイルにできるんですね
初めて知りました。すみません、com-killerが何か、またこれが起こっていたのかははわかりません。おいおい勉強します。表示を確認していきます。取り急ぎ、localeの変更についての報告でした。tiny)での日本語表示、入力の動作確認ができました。
> を追加した後に、> これを改善する為に、swap領域を作成します。> 上記コマンドを実行した後に、UTF-8が追加されていると思います。> 以上で、日本語の表示ができるようになっているかと思います。
> > 'utf'にはしたいのですが、一歩下がって日本語表示ができれば良しとすべく試行錯誤
> > した結果、日本語のエラーメッセージなどの表示は何とかできたようです。> > モードになると表示が無茶苦茶になります。> > これは今回の件に限らず、以前からいろんな場面で起こっています。)の方が安定しています。> > 日本語表示はこれで様子をみます。> > アドバイスをいただいた方々、どうもありがとうございました。> >> 結論としてはまだうまくいっていません。
> >> 結果は相変わらずでして、viで日本語を入力するとcatならきちんと出力するのですが、> >> どこか壊れているのではと、おかしいところを探し始めたところです。事情もわからず、勝手なことを申し上げてしまったようです。> たいへん特殊な事情があってTDMoEを使いたいのです。なるほど、納得しました。論点のずれた議論をしてしまい、すみません。
#しかし、クロスバというのはすごいですね
魅力的に見えます。が、私自身実装をした経験はありません。正直、「やってみる」しかないように思えます。
アドバイスにならずすみませんが、ぜひ、結果をお知らせ
いただければありがたいと思います。
シンプルでセキュアなシンクライアントシステム
> 久松様、ありがとうございます。
> させるというような構成のほうが、現実的なのではないかと
> たいへん特殊な事情があってTDMoEを使いたいのです。> 大型コンピュータベースのシステムを継続運用しなければならない。
> しかしT1専用線のサービスがなくなり広域LAN通信サービスを利用
> せざるを得ない。
> 10年以上も前から使用しているクロスバ交換機とかボタン電話とか
> レガシー交換機を廃棄できない、そのまま使いたい。> 広域LAN通信サービスの使用を検討せざるを得ない。> 以上宜しくお願いいたします。
> このような機器の必要性はベストエファットでなくギャランティが必要な
> 場面であり、インフラを支えてきたと思うのですが今時取り残された。> 恐竜みたいに思っています。
> だけども現実社会を支える大事なものでありつずけるのでは
> IPはベストエファットでTDMはギャランティとの立場でいます。
> メーリングリストにふさわしい話題かどうかわからないのですが
> armadilloのメーリング・リストですからリストの管理者が判断されるこ
とではないでしょうか
> 結果として
> 直接関係しない間接的話題についても拒否しない。> アナログCPUであっても実装の比較であれば問題ない。
> お願い:管理者様 不都合ありましたらご指摘のほど
> お願いいたします。
> 事情が飲み込めていないかも知れないのですが&&この
> メーリングリストにふさわしい話題かどうかわからないのですが
> ものか、よくわかっていないのですが、IP電話の広域での
> 実装をご検討されているように思えます。
> TDMという仕組み(昔やってましたが)が必要でしょうか
> TDMという仕組み自体は、電話の帯域が通常の専用線帯域に
> くらべて無視できるほど小さくなかった時代のもののように思えます。
> かなり多くの方がひかり回線とか、スピードテストで50Mbpsとか
> 言って、Skypeのようなソフトフォンまがいを誰もがつかっている。
> 時代ですから、むしろジャブジャブの回線速度にあわせて
> できるだけシンプルな処理をしたほうがよいと思います。
> させるというような構成のほうが、現実的なのではないかと
> 見たらいかがでしょう
> VPNの必要もないというのであれば、それすらも要らないかも
> しれません。
> また、ネットワークを分ける必要がどうしてもあるのでしたら、> 拾ってきて、SIPゲートウェイにしてしまうというのがもっとも
> 手っ取り早いように思えます。
> その他、昨日ご紹介のあったSIPサーバのように
> 極小SIPサーバなどはたくさん出てきています。
> この辺をつかって、一旦端末を終端してしまい、> あとは極小SIPサーバ同士を番号計画で回すという力技も
> いずれもほとんど開発の必要のない解決ができるかと
> 差し出がましい&&場違いな回答でしたらごめんなさい。
> シンプルでセキュアなシンクライアントシステム
> > まずはTDMoEの部分だけをテストしてみたいのですが
> > 使うということになるのでしょうか
> > そのようなテストは可能なのでしょうか
> > 受信は確認できるのでしょうか
> > ガリガリにハードで作るとしたら
> > 相互の送受信してその後受信した25バイトのデータの
> > エラスティックメモリでジッタ吸収する。> > 例えば以下の機器(ハードウェア)で実現できる。> > 置き換えたい理由は:例の機器は大きい、高い、不要な機能が多い。> > などの理由で手軽に使えない。> > どうぞ宜しくお願いいたします。> > 吉本@ファーストステップです。
> > 気がついたら弊社の参考出展品が取り上げられていて
> > SIPの外線2回線程度ならば問題なく使えるといった感じです。> > 相性の悪いSIP電話機などは通話に耐えない感じになります。
> > あとはアナログやISDN回線を本体に収容できれば
> > 最高のPBXになるのですがハードに疎いため
> > そこまではまだ手が回りません・・・
> > 興味のある方は見てみてください。
> > >> #どなたか動かしたことがある人いますかね
お世話になっております、内田洋行 江口です。現在、ネットワークプログラムをインストールしようとしています。
そのプログラムの中で、ローダブルカーネルモジュールを読み込ませようとして
いるのですが、以下のようなエラーが出て失敗します。
depファイルが作成できな
いのが問題のようだということがわかりました。考えております。カーネルのmenu config等でインストールできるのかと思い、やっているのです。が、設定がよく理解できておりません。depmodをインストールされた方や、同じような問題に遭遇された方がいらっしゃ
いましたら、アドバイスいただけませんでしょうか
よろしくお願いします。> また、apt-getするたびに、このパッケージの依存関係で文句を言われます。としてください。ご迷惑をおかけしますが、よろしくお願いいたします。最後の「s」が抜けていました。としてみてください。上記は、指定パッケージを自動的にupgradeしないように設定を行っています。> 北都システムの酒井です。> お世話になっております。
deb」をインストールしたいのですが、> また、apt-getするたびに、このパッケージの依存関係で文句を言われます。
> なれないDebianを扱っているから初歩的な質問かもしれませんが、解決策があれ
> ばご教授願います。
2重になりましたね
> としてみてください。> 上記は、指定パッケージを自動的にupgradeしないように設定を行っています。> > 北都システムの酒井です。> > お世話になっております。
deb」をインストールしたいのですが、> > なれないDebianを扱っているから初歩的な質問かもしれませんが、解決策があれ
北都システム酒井です。上記で問題なく動作することを確認しました。ありがとうございました。> としてみてください。> 上記は、指定パッケージを自動的にupgradeしないように設定を行っています。> > 北都システムの酒井です。> > お世話になっております。
deb」をインストールしたいのですが、> > なれないDebianを扱っているから初歩的な質問かもしれませんが、解決策があれ
以下のようにすると、depmodを使用することができるようになります。ディレクトリにあるアーカイブを展開して、できたディレクトリへ移動します。以下のようにして、コンパイルします。
を実行して、生成されたユーザランドイメージで、フラッシュメモリを書き替え
よろしくお願いします。> お世話になっております、内田洋行 江口です。> 現在、ネットワークプログラムをインストールしようとしています。
> そのプログラムの中で、ローダブルカーネルモジュールを読み込ませようとして
> いるのですが、以下のようなエラーが出て失敗します。
depファイルが作成できな
> いのが問題のようだということがわかりました。> 考えております。> が、設定がよく理解できておりません。> depmodをインストールされた方や、同じような問題に遭遇された方がいらっしゃ
> いましたら、アドバイスいただけませんでしょうか
> よろしくお願いします。試行錯誤しております。
いいようなのですが、実際にマニュアル通りに編集した後に「ifconfig」で見ても
アドレスが変わっていません。
また、Armadilloのサイトから「固定」で検索して見つけた以下のページを試して
が見当たりません。
どうやったら固定IPに変更できるのでしょう
やり方が悪いのでしょうが何が悪いのかわかっていません。何か情報(やるべきこと、参考Webなど)がありましたら教えて下さい。ありましたら教えていただければ幸いです。教えて下さいというばかりで申し訳ありませんがよろしくお願いします。以上 よろしくお願いします。> 試行錯誤しております。> アドレスが変わっていません。ンターフェースを再度立ち上げてください。を実行すると、設定が有効になっていることがわかると思います。
また、再起動後も、この設定を有効にしたい場合は、を実行してフラッシュメモリへ設定を保存してください。> が見当たりません。ワーク設定のサンプルファイルはソース中にありません。> ありましたら教えていただければ幸いです。> 教えて下さいというばかりで申し訳ありませんがよろしくお願いします。> 以上 よろしくお願いします。それ以降は固定IPに設定されて起動します。> ンターフェースを再度立ち上げてください。> を実行すると、設定が有効になっていることがわかると思います。> また、再起動後も、この設定を有効にしたい場合は、> を実行してフラッシュメモリへ設定を保存してください。うまくいきました。上記内容を置き換えた結果、無事反映が出来ました。ありがとうございました。> それ以降は固定IPに設定されて起動します。上記内容についても、ご教授いただきありがとうございました。納得しました。以上 よろしくお願いします。>> ンターフェースを再度立ち上げてください。設定の順番を間違えました。
IPアドレスをDHCPから取得する設定になっている状態で、先に
了を行なっている為です。ネットワークインターフェースではないかと思います。書いても問題ないかと思います。お世話になっています。> >> ンターフェースを再度立ち上げてください。> すみません。設定の順番を間違えました。
> IPアドレスをDHCPから取得する設定になっている状態で、先に
> 了を行なっている為です。> ネットワークインターフェースではないかと思います。> 書いても問題ないかと思います。了解しました。試してみたところ、eth0で正常に動作しています。フォローまでしていただき、ありがとうございました。以上 よろしくお願いします。
> ついでで申し訳ないですが
Base以下に追加ディレクトリを
> 作成して作業を進めています。hを読みこもうとしましたところ、うまくいかなかった。> 読み込んだようで最後までmakeが完了しました。
今後も別のプログラムを
> 他にスマートな方法があるようでしたらご教授いただけますか
> よろしくお願いします。その記述で問題無いと思います。include/ディレクトリをヘッダファイルの検索に追加することを表わしています。distに作成したカーネルソースのシンボリックリンクを表わしています。slideshowというアプリケーションプログラムを例に取ります。
この中では、ありがとうございます。
6への移行も
> その時に行います。220、230のマニュアルを印刷したばっかりだったので、少しです。すが差し替えをよろしくお願いします。
ベースボードに差し込む時に、本体を逆に差し込めてしまうような気がするの
> ですが、大丈夫でしょうか
また、逆差しは即破損ですか
ご指摘の通りCPUモジュールは逆差しができてしまう構造ですので、ベースボードを自作される場合の組み立てにはご注意ください。CPUモジュールの角にあるシルク(三角マーク)に合わせて、自作されるベースボードにも基板シルクを付けて頂き、組み立て後の電源投入前に一度シルクの位置を確認して頂くような対策を推奨します。万が一、逆差しで電源を投入されても即破壊にはなりません。しかし信号の衝突が起きますので、逆差しの状態で電源投入時間が長くなるとダメージがでる可能性があります。
ベースボードを自作したとして、MACアドレスの扱いはどうなりますか
> 取得することになるのでしょうか、それとも御社から提供していただけるのでし。
弊社からの提供は行っておりませんので、自作ベースボードにネットワーク機能を搭載される場合は、お客様の方でMACアドレスの取得をお願いします。> イクシスリサーチの小田原です。> お世話になっております。展示会等で以前から目にしておりましたが、> 相変わらず驚異的なサイズですね
> さて、早速ですが気になった部分がありましたので、質問させていただきます。
ベースボードに差し込む時に、本体を逆に差し込めてしまうような気がするの
> ですが、大丈夫でしょうか
また、逆差しは即破損ですか
ベースボードを自作したとして、MACアドレスの扱いはどうなりますか
> 取得することになるのでしょうか、それとも御社から提供していただけるのでし。> よろしくお願いいたします。depを生成することができます。のように実行されています。
(-b オプションで、モジュールのあるディレクトリ
を指定しています。
このスクリプトを使用する前に、モジュールをこのディレク
トリへコピーしておく必要があります。
これが実行されると、指定したディレクトリ以下に、modules
このようにしてもmodprobeでのエラーが回避できるかと思います。> 以下のようにすると、depmodを使用することができるようになります。> ディレクトリにあるアーカイブを展開して、できたディレクトリへ移動します。> 以下のようにして、コンパイルします。
> を実行して、生成されたユーザランドイメージで、フラッシュメモリを書き替え
> てください。> よろしくお願いします。>> お世話になっております、内田洋行 江口です。>> 現在、ネットワークプログラムをインストールしようとしています。
>> そのプログラムの中で、ローダブルカーネルモジュールを読み込ませようとして
>> いるのですが、以下のようなエラーが出て失敗します。
depファイルが作成できな
>> いのが問題のようだということがわかりました。>> 考えております。>> が、設定がよく理解できておりません。>> depmodをインストールされた方や、同じような問題に遭遇された方がいらっしゃ
>> いましたら、アドバイスいただけませんでしょうか
>> よろしくお願いします。返事が遅くなって申し訳ありません。ご返答ありがとうございました。0をインストールできました。plも試させていただきました。depファイルには何も書き込まれてない状態でした。
シンのイメージには、koファイルがないから、依存性が書き込まれないのでは
ないかということに気がつきました。depを作成する部分以前にあったようです。どうも、ご迷惑をおかけしました。ありがとうございました。depを生成することができます。> のように実行されています。
(-b オプションで、モジュールのあるディレクトリ
> を指定しています。
このスクリプトを使用する前に、モジュールをこのディレク
> トリへコピーしておく必要があります。> と思います。> このようにしてもmodprobeでのエラーが回避できるかと思います。>> 以下のようにすると、depmodを使用することができるようになります。>> ディレクトリにあるアーカイブを展開して、できたディレクトリへ移動します。>> 以下のようにして、コンパイルします。
>> を実行して、生成されたユーザランドイメージで、フラッシュメモリを書き替え
>> よろしくお願いします。>>> お世話になっております、内田洋行 江口です。>>> 現在、ネットワークプログラムをインストールしようとしています。
>>> そのプログラムの中で、ローダブルカーネルモジュールを読み込ませようとして
>>> いるのですが、以下のようなエラーが出て失敗します。
depファイルが作成できな
>>> いのが問題のようだということがわかりました。>>> が、設定がよく理解できておりません。>>> depmodをインストールされた方や、同じような問題に遭遇された方がいらっしゃ
>>> いましたら、アドバイスいただけませんでしょうか
>>> よろしくお願いします。お世話になっております。北都システム酒井です。を実行すると以下のエラーでmakeが正常に終了しません。
何らかの回避方法がありますでしょうか
もしくは他にperlを組み込む方法があればご教授願います。以上、よろしくお願いいたします。お世話になります。
データシートの信号配列表の機能欄に(*Vプルアップ)と記載されていますが、これは、CPUボード上でプルアップされているのでしょうか
(接続した自社ボード側は、オープンでもよいか
(*Vプルアップ)と記載されていないI端子は、接続した自社ボード側で
プルアップ/プルダウンする必要があるのでしょうか
各信号は何Vなのでしょうか
よろしくお願いします。h: そのようなファイルやディレクトリはありません。
何が原因かわかりますでしょうか