サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
kumikomizine.jp
プログラムを読んでみよう⑤ ―― 音検出 sound.c 10行目から12行目には、音の検出にかかわるハードウェア資源を#defineを使って別名定義しています。こうしておくことで、接続ポートが変わったり、音を検出するときの信号レベルが逆になったりしても、ここだけ修正してビルドし直せばよくなります。 26行目からは音を待つ関数WaitSound()があります。基本は28行目のwhile文です。これで、対応ポート(PORT_SOUND)がINACTIVE(未検出)の間、ループして待ちます。ただし、引数chktimeにCHECK_TIMEが指定されたときは(29行目)、30行目でReadTimer()を呼んでタイマ値をチェックし、TIME_LIMIT時間を経過していたら音待ちを中断してERRORで帰ります。TIME_LIMITは別途timeruser.hで定義しています。 50行目からは、無音
これまでの12回で、開発環境の使い方と、C言語の文法のうち5つのルールを勉強しました。この知識をもとに、マジカルボックスのプログラムを読み解いてみます。学んだ文法が実際にどのように使われているかを見ることで、より一層理解を深めることができます。
Gainerは、IAMAS(岐阜県立国際情報科学芸術アカデミー)のPDP(プログラマブル・デバイス・プロジェクト)の一環として開発されているI/Oモジュール。センサー入力やLEDへの信号出力などの物理的な情報をPC上のプログラムとやりとりできる。対応する開発環境もFlash、Processingなど多数。ソフトウェア、ハードウェア、ライブラリはいずれもオープンソースで開発され、誰でも利用することができる。 Gainer mini本体 ブレッドボードでの使用例 ※写真データはプレスリリースより転用 Gainer miniは、IAMASの小林茂准教授の監修のもとで(株)アールティが開発。オリジナルGainerのメイン機能をほぼ受け継いだ上でサイズを半分とし、ラジコン用サーボモータを動かせる機能が追加されている。 Gainer miniの主な仕様 寸法 W 18×D 42×H 14
はじめにそろそろ、今回のホストの設定の核心に近づいてきました。OpenOCDの入手とインストールです。OpenOCDの仕組み 今回のシステムの全体図は、下記(ホストシステムのソフトウェア関連図 再掲)で表すことができます。図を見ていただければわかりますが、OpenOCDが図の真ん中にあり、中核を担っていることがわかります。OpenOCD自体はGPLの下に公開されているフリーウェアです。簡単に動作を紹介したいと思います。 OpenOCDのブロック図を見ると、自身もいくつかの機能ブロックから構成されていることがわかります。典型的な例はUSB-JTAGのピンドライバ部分でしょうか? 今回利用するUSBチップであるFT2232のMPSSE機能をドライブします。 その他の機能として、TCPとTELNETのサーバの機能があります。TCPのサーバはGDBとの通信に使います。実際のリモートデバッグはこちら
進捗管理の意味 進捗管理は何のために行うのでしょうか。組み込みソフトウェア開発の場合は、ハードとの結合の日が決まっていてその日までにソフトを完成させるためにマネジメントするというのが本来の意味だと思います。 しかし、マネージャがうるさく聞くから適当に百分率で答えているということも多いのではないでしょうか。この場合、開発期間前半での完成率の12%や34%というのはなかなか耳にすることはありませんが、後半90%台は非常に細かく報告されます(笑)。これは、開発期間前半では全体量が見えていない証拠ではないでしょうか。 百分率で報告するにはその母数を固定化する必要があるのです。それでは母数を固定化することは可能でしょうか。開発案件、特にソフトウェアとハードウェアが絡んだ組込み開発の場合、やってみないとわからない、または、やりながら新しいアイデアがわいてくることもあり、開発開始時に完成までにどれだけの
分岐命令は条件によって処理の流れを「分岐」させる命令でした。今度は条件によって処理を繰り返す「繰り返し」を学びましょう。一般にはループ処理ともいいます。C言語では、繰り返しの命令は大きく3つあります。どれかひとつだけ知っているだけでもプログラムは十分書けます。でもそんなに難しくないので、一気に3つとも覚えてしまいましょう。
一歩踏み込んだ色表現 第1回は、色とはそもそも何か? そして、色を表現するための方法を紹介しました。今回はもう一歩踏み込んで、人間の特性を考慮することで効率的に色を表現できないだろうか? という点について考えてみたいと思います。輝度+色差での表現 前回にも述べましたが、人間は「L・M・S錐体(すいたい)」という3種類の錐体センサの出力をブラックボックス(色として認識されるまでの情報の伝達内容や変換の仕組み)を通して、大脳で色として知覚します。センサ自体は光の波長に応じてその出力が決まりますが、大脳の中の色の認知としては、「白⇔黒」「赤⇔緑」「青⇔黄」の3種類として扱われていると考えられています。これは、NCSやオストワルト表色系の軸にもなっています(正確には、色の認知に関しては3色説、反対色説、段階説など諸説があり、まだ解明されたわけではないようです)。中でも白⇔黒は「輝度」と呼ばれ、ほか
はじめに 本連載では、「レゴマインドストームNXT」を利用して、機器に組み込む制御ソフトウェア(組込みソフトウェア)の開発を行っていきます。組込みソフトウェア開発では、プログラム内で多様な処理を行う必要がある場合にリアルタイムOS(RTOS)を利用してプログラムの動作を制御します。今回は、このRTOSにスポットをあて、RTOSが提供してくれる機能とその効果について学びます。RTOSってなんだろう組込みソフトウェアの特徴 RTOSの必要性や効果を理解するために、まず、組込みソフトウェアの特徴についてみていきましょう。携帯電話や自動車という実際の製品で利用される組込みソフトウェアには以下のようなものがあります。例1:携帯電話のメール受信制御ソフトウェア一定時間ごとに電波状況を検出し、 携帯電話局のサーバに自携帯電話へのメールが着信していないかを確認する例2:自動車のABS(Antilock B
はじめに 「アセンブラの知識は必要か否か?」という議論をたびたび目にします。これに明確な解答があるわけではなく、時代背景や個人の嗜好、携わっている業務内容によって意見は異なるでしょう。知らないよりは知っていた方が当然よいだろうと思っていても、技術が日に日に進化する今のような時代では、結局勉強は後回しになったままという方も多いのではないのでしょうか。 「知らなくても問題のないこと」や「知りようのない物」は、俗に「ブラックボックス」と呼ばれます。それはライブラリやOS、CPU、コントローラチップであったり、さらには物理現象や人間の仕組みであったりもします。技術のどこまでをブラックボックスとして黙って受け入れ、どこからを「中身を知っておくべきこと」とするのかは、なかなか難しい問題です。 確立された技術を“受け入れ”た上でそれに自分の価値を上乗せするというやり方は、仕事をする上でも大切です。ですが
はじめに 今回は、ターゲット接続用のUSBインターフェイス基板とUSBのドライバのインストールについてです。むき出しの基板なんかも登場するので、いよいよ組込み開発らしくなって参ります。ハードウェア:JTAGインターフェイス ターゲットと物理的に接続し、デバッグするためには、JTAGインターフェイスを使います。このJTAGインターフェイスについては、ターゲット解説時に詳述しようと思います。まずは繋いでみることにしましょう。 JTAGは、基本的に5本線のピンドライブです。このピンドライブを実現する方法として、JTAGの仕様のタイミングチャートから、USBハードウェアのファームウェアとして実装したもの あるいは、予めこのピンドライブ方法がハードウェアに実装されているもの があります。mini EZ-USB 前者には、EZ-SERVO / EZ-ARM(mini)の開発元であるオプティマイズが実現
はじめに 本稿では Eclipseの汎用性と組込み開発の特殊性の両方を軸に、ターゲットであるARMマイコンを使って、マイコン開発を行っていきます。ハンダ付けなども行い、基板や電子部品の取り扱いなどの説明もなるべくわかりやすく行っていこうと考えています。 実際にターゲットを開発していくと、何か具体的な制御対象にも目が向いていくと思いますが、近著『Eclipse/ARMプロセッサによる組込み開発 基礎講座』で、今回構築した開発環境をベースにサーボモータベースの二足歩行ロボットの制御基板の開発を解説する予定です。対象読者 読者のパターンとして、以下の2通りを考えています。 ひとつは「現在、業務系ソフトウェア開発を主として行っていて、組込みソフトウェア開発をやらなければいけなくなった。あるいはそのための基本的な知識を必要としている」人。 もうひとつは「現在、組込み開発の知識はある程度あるが、Ecl
これまで、RTOS(OSEK OS)の使うための手順と、実際に動作するサンプルプログラムについて解説してきました。今回は、いままでの基本的な内容をふまえて、制御を行うソフトウェアの作成方法について説明していきます。
はじめに 昨今では、C言語をメインの開発言語とする組込み開発の世界においても、システムの複雑化や巨大化、オープンソースソフトウェアの利用の拡大などに伴い、オブジェクト指向の考え方に基づいてデザインされたフレームワークやライブラリなどに触れる機会が増えています。そうした現状を踏まえ、本連載ではオブジェクトやメッセージ、クラスといったオブジェクト指向の基本的な概念を、組込み技術者向けにC言語を用いて解説していきます。特に、次のような方を主な読者対象と考えています。オブジェクト指向を勉強しようと思っているCプログラマ現場でオブジェクト指向が導入されたが、オブジェクト指向が何なのかイマイチわからないCプログラマ現場で利用しているオブジェクト指向をベースとしたフレームワークやライブラリの設計思想を理解したいと思っているCプログラマオブジェクト指向はなぜ敷居が高いのか 組込み開発の現場の方に対してオブ
このウェブスペースへは、まだホームページがアップロードされていません。 早速、エックスサーバー上へファイルをアップロードしてみましょう。 アップロードの方法などは、サポートマニュアルをご参照ください。
このページを最初にブックマークしてみませんか?
『エックスサーバー サーバー初期ページ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く