Last Update 2024/08/01

ややこしい処理を交通整理!プログラムの使い回しOK!
インターフェースZERO No.03
OSで楽チン!32ビット・マイコン開発

Interface編集部 編
B5判 216ページ
DVD-ROM付き
定価2,640円(税込)
JAN9784789849371
2012年9月1日発行
[絶版2023.8.30] インターフェースZERO No.03
大変恐縮ですが,こちらの商品は品切れ絶版となりました.

 さまざまな機能を持った32ビット・マイコンの開発には,リアルタイムOSが当たり前になりました.
 本書では,リアルタイムOSを使ったプログラミング方法を分かりやすく解説します.付録DVD-ROMには,ソフトウェア開発がすぐに行える開発環境とサンプル・プログラムが収録されています.このDVD-ROMを使えば,組み込み開発特有の面倒な開発環境を構築する必要がなく,すぐにリアルタイムOS特有のプログラム開発方法を実践的に学べます.
目次


ソフトウェア開発環境を楽々構築!
付属DVD-ROMについて

実際に開発したソフトウェアを動かしたい人のために
ハードウェアの入手法

仕事をサッと整理して,CPU社長をバリバリ働かす
プロローグ OSは優秀な秘書!


第1部 リアルタイムOSを使ったプログラミング方法

32ビット・マイコン開発で使われる
第1章 リアルタイムOSの機能を理解しよう
1.1 決められた時間内に仕事を終わらせる
1.2 タスクが待ち状態になることにより,複数のタスクを実行できる
1.3 過去に作ったソフトウェアやミドルウェアを活用する
1.4 ハードウェアをソフトウェアから隠すしくみ
コラム1.1 組み込みシステムの特徴
コラム1.2 RTOSとWindowsやLinuxは何が違うのか

VMware Playerを使用して,ソフトウェア開発環境を動かす
第2章 付属DVD-ROMを使用して開発環境を構築する
2.1 VMware Playerのインストール方法
2.2 VMware仮想マシンHDDイメージの解凍方法
2.3 VMware仮想マシンHDDイメージの起動方法
2.4 各ソフトウェアを起動してみよう

自分のパソコンに開発環境を構築したい人のために
Appendix1 開発環境のインストールと設定方法
A1.1 開発環境はUbuntu Linux
A1.2 環境変数を設定してパスを通す
A1.3 GCCのインストール
A1.4 Eclipseのインストール
A1.5 lpc21ispのインストール
A1.6 JTAG ICEとOpenOCDのインストール

リアルタイムOSを使って,LEDを点滅させる
第3章 プログラムをビルドする方法
3.1 今回使用するRTOS「TOPPERS/ASP」とは
3.2 ARMマイコン基板と無償の開発環境を用意する
3.3 プログラムをビルドする方法
コラム3.1 TOPPERS/ASPは移植しやすいOS

RTOSプログラミング・テクニック(1)
第4章 時間に合わせた処理を記述する方法
4.1 指定した時間が経過した後に1回だけ処理する方法
4.2 周期的な処理を記述する方法
4.3 LEDを点滅させるプログラムの作成
4.4 何らかの事象(イベント)をきっかけに実装する処理
4.5 割り込み処理を使って外部信号を同期する方法
4.6 この処理の邪魔はさせない!排他制御をする方法
コラム4.1 コンフィグレーション・ファイル作成時のエラー

RTOSプログラミング・テクニック(2)
第5章 タスク間でデータをやり取りする方法
5.1 ビット・データを扱う
5.2 イベント通知をビット・データで行う
5.3 データ・キューを使った汎用データの送受信
5.4 データ・キューの使用例:可変抵抗の値を読み出す
5.5 メール・ボックスを使った汎用データの送受信
5.6 スイッチと可変抵抗の値を同時に取得する
コラム5.1 優先度付きデータ・キュー
コラム5.2 メール・ボックスの本来の使い方

RTOSプログラミング・テクニック(3)
第6章 メモリやI/Oを管理する方法
6.1 プログラミングにおける資源
6.2 資源の管理方法
6.3 固定長メモリ・プールでメモリ管理をする
6.4 個数により管理
6.5 時間の管理

複数のOSで動作するプログラムを作成する
第7章 簡易タイム・レコーダの製作
7.1 作成するアプリケーションの概要
7.2 簡易タイム・レコーダのハードウェア構成
7.3 ソフトウェアの構成を検討する
7.4 タスク・ハンドラ処理の設計
7.5 詳細な設計とプログラムの記述
7.6 作成したプログラムの動作チェック
コラム7.1 初めての電子工作
コラム7.2 FeliCaカード・リーダが壊れた!?


第2部 リアルタイムOSの移植にチャレンジしよう

コンパイラやアセンブラ,リンカの動きを理解する
第8章 ターゲット・ハードウェアで実行できるコードを生成する方法
8.1 CPUが実行できるコードにコンパイルする
8.2 プログラムをターゲット・システム用に変更する
8.3 ユーザ・アプリケーションを作成する
8.4 スタートアップ・ルーチンを作成する
8.5 配置情報を与えるLDスクリプト
8.6 実行ファイルを生成する
8.7 ROM用のデータを変換する
8.8 Makefileでコンパイルする

デバッガのシミュレーション機能を使ってみよう
第9章 GDBを使ったプログラムのデバッグ 139
9.1 GDBのシミュレーション機能を使う
9.2 テキスト・ウィンドウに表示される機能――TUIデバッグ
9.3 JTAG ICEを使う
9.4 レジスタを変数化する方法
コラム9.1 GDBコマンド・ライン・インターフェース

RTOSを移植するための準備作業(1)
第10章 ARMマイコンLPC2388の機能をチェックする
10.1 ARMマイコン「LPC2388」の構造
10.2 LCP2388の単体機能を確認する
10.3 ベクタのリマップとVIC割り込み
10.4 タイマ/PLL/ROM化
コラム10.1 ARMマイコン基板のフラッシュROMへの書き込み
コラム10.2 GDBの操作がうまくいかないとき
コラム10.3 ROMに焼いたプログラムに注意

RTOSを移植するための準備作業(2)
Appendix2 TOPPERS/JSPの移植に必要な情報を集める
A2.1 移植するときに参考になる文書
A2.2 移植の観点から見たTOPPERS/JSP

ステップアップで移植の手順を理解する
第11章 ARMマイコンLPC2388にRTOSを移植してみよう
11.1 移植に必要な変更点を確認する
11.2 ファイルのエンコード方式を変換(step_01_original)
11.3 コンフィギュレータのビルド(step_02_gpp43)
11.4 Sourcery でのビルド試験(step_03_codesourcery)
11.5 LPC2388 用のディレクトリを作る(step04_copied_from_integrator)
11.6 空のシステム依存部を作る(step_05_build_only)
11.7 sys_defs.h の修正(step_06_sys_defs_h)
11.8 sys_config.h の修正(step_07_sys_config_h)
11.9 シリアル・ドライバの実装(step_08_serial)
11.10 LD スクリプトの実装(step_09_ld)
11.11 割り込みの実装(step_10_vic)192
11.12 タイマの実装(step_11_timer)
11.13 PLL の実装(step_12_pll)
11.14 ROM 化(step_13_flash)
コラム11.1 arm-none-elf-gccとarm-none-eabi-gcc
コラム11.2 TOPPERS/JSPはどの程度の規模のプログラム?
コラム11.3 Integratorとは?
コラム11.4 ARM7TDMIとARM9TDMIのプログラミング・モデルの違い

簡単なアプリケーションを動かしてみよう
第12章 RTOSでLEDを光らせるはじめの一歩
12.1 簡単なプログラムをビルドする
12.2 目的に合わせて最適化するコンフィギュレーション
12.3 割り込みハンドラを定義する
12.4 CRE_TSK によるタスクの生成
12.5 アプリケーションを作る

分からない言葉が出てきたら,ここでチェック!
本書で使われる用語解説


●本書付属のCD-ROM,DVD-ROM,CD-Rについてのご注意
製品版および図書付属CD-ROM,DVD-ROM,CD-Rの貸与または改変,複写複製(コピー)はできません.詳しくはこちらをご覧ください.