ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

組み込みコミュの組み込みソフトウェア開発を勉強するための書籍

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。MASATOと申します。

組み込みソフトウェアを勉強するための書籍って結構少ないと思うのですが、何かお奨めの本がありましたら教えて頂けませんか?

OSや言語は何でも良いので、これは参考になったよ、という本がありましたら教えて頂ければ幸いです。

コメント(84)

別スレッドに以前もちと書きましたが、やはり書籍より雑誌ですかね。
Interface, トランジスタ技術, DesignWaveといったところですかね。
書籍だと、I/F別冊の「すぐわかる!組込み技術教科書」というのを見つけました。
小さい方の組込制御がメインですが、入門には良いんじゃないでしょうか?
健次郎様,昌様,kaz様ありがとうございます.
先日本屋へ立ち寄り,CQ出版の"組み込みソフトウェア開発スタートアップ"
http://www.cqpub.co.jp/hanbai/books/37/37191.htm
を購入しました.
開発プロセス云々の前に,組み込みシステムとは何かという基本的なところを知ろうと思いまして.ハード/ソフト両面が書いてあり,とりあえず最後まで読めそうなこの本を読んでみます.

>ソフトバンククリエイティブ刊「Linuxから目覚めるぼくらのゲームボーイ!」
ものすごく楽しそうですが,ハードいじる時間があるかというと微妙なので,夏休みくらいにトライしてみたいです(と言って逃げてるといつまでたっても…).

>月間Interface
雑誌のほうがよいというのは読みやすさ,情報の新しさといった理由からでしょうか?
内容が多彩な分,散文的な印象を受けるので,組み込み開発がどういった手順をたどり,取り組むべき主な問題は何かといった,漠然とした背景知識を知らない私にはまだ早いような気がしています.
トランジスタ技術!!

ちなみに俺は先輩に怒鳴られながら体で覚えました。
背景知識がないなら、実際にやってみるのが一番では?

プロセス管理は実際の開発を知らないと押さえどころの検討もつかず、「現場のいいなりになる」 or 「現場にごり押しする」ということになります。
これは、お互い不幸ですよね。

開発したこともない人間の机上の空論(主に願望とか妄想)は役に立たない。「プロセスを知っているから管理可能」だと思いますよ。

Interface誌 2008.07 はCプログラミングということで組み込みに限っていないですが、実際は組み込み開発の勘所をしっかり押えていると思います。
#今日、買ったばかりなので、ざっと目を通しただけですが
マネージメント本よりも、ずっと役立つと思います。
雑誌なら「組込みプレス」をお勧めしますよ!
私の場合は、CQ出版の「Interface」 、日経BPの「日経ソフトウェア」
それに、技術評論社の「組込みプレス」の3種類を読んでます。
個々に特徴があり、記事内容が重なる事が少なく、幅広く知識を
得られると思います。
経験上から、「Yebisu」さんが言われるように、現場経験が無いと
突っ込みが来ます。
組込系の現場では、実践もですがプロセス改善も課題として
上がっていますので、幅広く知識を持って下さいね!

マフティー様,Yebisu様,KAZU様,昌様ありがとうございます.
やはり実際やってみるのが一番ですか.
問題はそれをするだけの時間とお金があるかということでして.
それはまた別の問題なので,考えます.

スレ主旨から離れてしまいましたが,貴重なご意見ありがとうございました.

>理屈とかけ離れている場合が多々あるので
その辺の摺り合わせをやりたいなーと思っています.
>頭でっかちになるのだけはご用心してください。
肝に命じます.
組込みでは、いろいろな意味で制限があり、各社それぞれのプロセスを適用していると思います。
基本的には、コメントにもありますように、プロセスとエンジニアリングの区別もつかない人が多いような状況です。


プロセスに関する一般的な知識があるお見受けしましたので、以下はどうでしょうか?
本ではないですが。

http://homepage3.nifty.com/koha_hp/process/Proc.Square/Proc.Square.Index.html


組込みを知らない方が、開発プロセスの知識だけで管理するのは、現実的にはちょっと難しいと思います。
現場の反感も買いますし、注意しないといけない箇所の勘所がつかみづらいと思います。
組込みソフトウエアの特徴は知っておいた方が良いと思います。

10数年くらい前に、この著者に部門自体がコンサルを受け、いまも基本、このプロセスをベースに仕事を回しております。新しいメンバ(外注会社さん)を使っても、たいがいうまくいくので、そこそこうまくいっていると認識しています。

ホームページは以下です。
http://homepage3.nifty.com/koha_hp/
かなり分かりにくいHPで、こんな人が良いコンサル出来るのか?と思いますが、、、、(笑)


的外れな回答だったらごめんなさい。
話は少し変わりますが、組込みの人たちって、何でも自分で作ろうとする傾向がありませんか?

昔々のOSがいない時代なら仕方なかったかもしれませんが、OSが存在する今のプロジェクトでも作ろうとする。

例えば、FIFOとか
pipe(2)を使えば試験いらないし、性能も自作よりかなり上(だと思われ)

lex使えば、パーサ生成してくれるのに、char配列の場所から決め打ちで拾ってくるとか

かくいう私も、dbopen(3) を最近知って、目から鱗だったりするので人のこと言えませんが...


バグを入れ込まない最善の方法 == コーディングしないこと

というのを徹底しないから、

性能の低いものを、何度も繰り返し、力技で、作り続ける

その機能が既に存在すること自体知らないので個人レベルでは(ある程度)仕方ないのですが、組織や国家レベルで考えるとお粗末なことこの上ない。

IT土方と揶揄されるソフト業界の根本原因だと思います。
8bitとか、OSが走れない程度のシステムの時代はそんなもんでしたがね。
今なら32bit RISCマイコンとか普通に存在して、NetBSD/mmEyeとかフルスペックのOSも
走るので「車輪の再発明」に無駄な労力を費やさないってのが重要でしょう。

そのためには、どんな車輪が既に存在するのか体系的に大学などで学んでおくべきですが、
現実には

>本などの理屈とかけ離れている場合が多々あるので、頭でっかちになるのだけはご用心してください。
>
>なぜかわかりませんが、偉い人や大先輩は新しいソフトウェア工学的成果(手法など)を現場に持ち込むことを嫌います。保守的です。

なんてキチガイ沙汰を平気で抜かすDQNな現場が多いですね。プログラミングなんて、最高に
頭脳労働なのに頭でっかちが悪いって言ってるのは、視野が狭く体系的な学習を積んで来ず、
やっつけ仕事ばかり繰り返してる底辺下請の典型例ですね。

別に流行の手法に安易に乗る必要は無いですが、車輪の再発明に労力と時間を無駄使いしない
ように、体系的学習を積んでおくのは必須です。残念ながら、そういうのに向いた「書籍」が
存在しないので、雑誌を長年読んで自分なりに体系を構築しないといけないんですが。
書籍や大学の講義ってのは、「車輪の再発明」をさせようという意図があるのではないかと感じてます w

「でる単」みたいに暗記させるのが一番いいのかも < 再発明防止
車輪の再発明:
15年以上前からfjでは散々言ってるのですが、いつも任天堂のしらいさんから反論されるんですよね。
別に学生がやる分には文句無いし、むしろ学生のうちにガンガンやって、済ませておいて欲しい。

就職してから、文理不問・未経験歓迎、初心者でも充実の研修制度で手に職を付けられます、
なんて擬餌に釣られて給料貰いながら車輪の再発明を教えてクレクレ君の相手をするのは
もうウンザリだと。やるなら学生の間に済ませておけ、と言いたい。
ちなみに、私がdbopen(3)を知ったきっかけは、
http://mixi.jp/view_item.pl?reviewer_id=371835&id=883850
を創刊号から読み直している最中の1987年の記事だったりします。

20年前も今もソフト業界の腐り具合は変わってないのがよくわかります。
一部の人間だけが、クリエイティブな仕事をしているだけで、残りは鼻たらしてるだけ。

私は「ソフトなんて、*やる気*さえあれば誰でも書ける」派なので未経験者OKなんですが(むしろプライドだけ高くて素直さのない中途半端な経験者は来るな派)、やる気ない奴、向上心の無い奴はサッサといなくなって欲しい
荒れてますなぁ.

優秀なオジさま諸兄がグダをまけばまくほど,優秀な後輩は逃げちゃいますよん.:-p


ちなみに私は初学者には雑誌は奨めないですよ.書いているお前が諸悪だと怒られそうですが,雑誌記事には(出版社問わず)結構誤りがあります.書いている側に知識がない場合もあれば,紙幅や読者層を考えて敢えて厳密さを捨てている場合もあります.そういう事情をきちんと受け止められるレベルは,初学者ではないかもですね.

学校教育にはいろいろ課題はありますが,ことさら強調しすぎると「センコーから学ぶことなんて何の役にも立たなかった」と粋がる成り上がりみたいでカッコ悪いかもです.どう活かすのかは,自分次第だもんね.
いや私も最終学歴は理学部物理科で,情報の専門教育を受けていなかったりするのですが.;-)
> 荒れてますなぁ.

そうは思いませんけどね。
この程度のことを目の前で言われて気持ちが萎えるなら邪魔なので居なくていい。

>優秀なオジさま諸兄がグダをまけばまくほど,優秀な後輩は逃げちゃいますよん.:-p

ホントに優秀な若者だけが残るから願ったりかなったり ;-)

私も、学校では工学部機械科です。大学の授業では、Fortran77だけ。
中学のころから8bitパソコンを触ってたけど、大学〜社会人5年目くらいまでは私物PCなし生活。
でも、入社から5年くらいで、C標準ライブラリについて一部の先輩からには「これでいいよね?」ときかれて、「こうやれば大丈夫」とかって即答でお墨付きを私が与えるような立場になってましたよ。 < K&Rだけで
K&Rだけでそこまでいけるのに、ネット上にあれもこれも転がっている今の時代にハナタレおやじを軽く超える若者がなぜ出てこないのか不思議でしょうがない。

あ、漏れの近くにいないだけか。でも、普通にいてもよさそうなもんだけど。
> 体系的学習を積んでおくのは必須です。残念ながら、
> そういうのに向いた「書籍」が 存在しない

特にコーディングに関する領域でこの傾向が顕著ですね.
テストや上流設計については,本棚から溢れ過りそうなほど本が出ていますが.

Interface 7月号の試みとかは良い傾向だと思います.
(実は私も別の雑誌で類似の特集を1本任されていたりします.夏頃出るはず)

徐々に改善はされていくのでしょうけれど,それまでは,Writing Solid Code とか Code Complete とか,組込みの枠の外に求めて行くしかないかも.
余談ですが,Microsoft Pressって,結構良い本多いと思います.

本来の使い方とは異なりますが,アンチパターン集として,MISRA-CやIPA/SECガイドラインのようなコーディングガイドライン本に目を通すというのも手かもしれません.

K&Rは良書なのですが,あのコーディングスタイルは….
ソースレベルデバッガとISSで動作検証ができる現代にあっては,もはや老害といってもよいかも.あのスタイルのコードをレビューしろと言われたら突き返すかも.
K&Rはsureなコードを書く為の本ではないから仕方ないですけれど.
Yah! Hack!
ハックするぞ! って思ったときに開くべき書籍って,何でしょうね.
my first は地味にMinix bibleだったのですが…興味ある分野毎に違いすぎて列挙は困難かな.
GBA本はコメントで出ていましたね.
>ハックするぞ! って思ったときに開くべき

書籍ではなく、エディタでソースを開くのでは? w


>まぁ、Happy Hacking ってことで、楽しんでやりましょう。

これが一番だと思いますが、「プロ」の中でそーいった意識を持っている人の割合は物凄く低い。
ソフトだけではなく、ハードも。

まぁ、仕事になると好きでやっていたことも嫌いになりますからねぇ。
> 書籍ではなく、

しむらー,トピタイトルー.

軽く超える若者が周りにいなくて
そーいった意識を持っている人の割合がものすごく低くて
好きなものが嫌いになってしまう….

かなーり風通し悪くて辛そうですねぇ.お見舞い申し上げます.
ベタですが「Debugging The Development Process」なんて,どお?
160ページくらいなので,忙しくても読めるし.
ISBN4-7561-1623 和書もまだ絶版にはなってないみたい.
おばんです.
皆様いろいろと思うところがおありなようで.

>擬餌に釣られて給料貰いながら車輪の再発明を教えてクレクレ君
まさに私はそんな感じなんでなんとも言えませんが.
なんかすいません.
疑似餌だろうなーとは思っても,そう言うからには責任とってくれるだろうと思うわけですよ.

私は大学で理論よりの研究(確率とか)をやっていまして,体系的で美しい理論に魅せられる一方で,それが活かされていない現実を目の当たりにし,悶々とした日々を過ごしていました.
そこで,美しき世界を実現するための第一歩として現場に飛び込んだはいいが,自分の無知っぷりに愕然としているといったところです.
これまで現場を知ろうとしてこなかったので当然なんですが.

とりあえず,好きなことが嫌いにならないように頑張ります.
> 私は大学で理論よりの研究(確率とか)をやっていまして,

現場は云々というコメントが付く前に絵空事を書いてしまおう.ちなみに,組込み現場で言語Cの標準ライブラリの知識がある程度でデカイ顔ができるなんて,ほんの10年前には本当に絵空事だったんだよ.だから絵空事はバカにできない.


formal method とかいうキーワードで,組込み分野の動向を俯瞰してみるとよいかも.
ああ,きっと現場叩き上げ方々が突っ込むであろう通り,確かに大多数の現場にとっては絵空事だ.そして,実は私も懐疑的だ.けれども,「情報処理」が特集組んだ数年後にはそれなりの波がやってくるの法則は,悔しいことに結構当たるから.
たぶん,テスト周りの動向も追った方がよいと思う.テストなんて頭の悪い下流工程だなんて吹き込む人がいるかもしれないけれど,それはもう10年前の真実だから.
taguchi methodとかも,ソフトウェアへの適用が難しいと言われつつ,そのうちきっと地味に流行る時がくるから.

流行った頃に,オヤジ化した私が君に噛み付くかもしれないけれど,それは痴呆の一種だから.許してね.

ソフトウェアは魔法だけれども,観測者が科学的な視点を持っている限り,統計の枠を超える事はできない.だから(現場に入って戸惑う毎日かもしれないけれども)君のバックグランドは早晩活きてくる.たぶん.手持ちの教科書を売り払わなければね.
> Yah! Hack!
> ハックするぞ! って思ったときに開くべき書籍って,何でしょうね.

ソースコードより前に、データシートとか仕様書とかがあればそちらを読みたいです。なければユーザマニュアルでもREADME.TXTでも可。どんな機能があるのか知らずにソースコードを読み始めるのは、海の深さを知らずに素潜りを始めるようなもんですよね。

もっとも、私の場合は「そのドメインの専門知識」が無いためにデータシートに書いてある中身が理解できなかったりしているわけですが。FIRフィルタがどうのなんて言われても知らんがなふらふら
このトピって
>何かお奨めの本がありましたら教えて頂けませんか?
じゃなかったんすか?
読んでて楽しいからいいんですけど。

そもそも対象が千差万別だから
「コレさえ読んどけばいい」ってのは無いと思いますが。

いろいろなソフトウェアの教本やら
トラ技やら I/F やら
対象分野の専門書や規格書も必要だよね。
CMU の開発プロセスの講義とやらもイマドキらしいし。
もなむーるさんの書いてる本とかも (すんません存じてません)

考えようによっちゃ東洋経済とかさ。やっぱ商売感覚も必要。
(個人的に日経は業界の偏りを感じる)

なんだか支離滅裂になっちゃったけど、
>自分なりに体系を構築しないといけないんですが
ってのに概ね賛同します。


皆様の境遇の話はちとトピずれって気がしますが、
それはそれで面白そう。
ウッシッシ
> 「コレさえ読んどけばいい」

そういえば「コレくらいは読んどけ.お願いだ」的な教科書があまり出てきてないですね.(パタヘネくらい?)
CQから今年になってから出た「組込みシステム概論」は,業界への内定が決まった後輩がいたとしたら渡すかも.


> やっぱ商売感覚も必要。

商売感覚だと「イノベーションの解」「キャズム」辺りが,組込み屋さんにとってのハマりがち古典ですかねぇ.
// 頭で判っていてもキャズムを超えられるものではない.;-)
パタヘネは少し違うような…(個人的には読んでて欲しいけど)
コンパイラのドラゴン本とか、
OSのタネンバウム教授のMINIX本とか、
電子回路の回路理論と実際の経験とか、
分野によってはTCP/IPの篠田先生の訳本とか、
色々なジャンルの知識と、学生実験レベルで構わないので「経験」も必要かな。
今時の学生さんは、ゆとりなのか純粋培養なのか、半田付けのニオイでアレルギー起こして
逃げちゃう人が居る…どころか多数派に成っちゃってるからね。電気・情報系ですら。
血を見ただけで失神する医学生ぐらい適性が無いのに「イメージ」だけで入って来てしまう。

(業界)雑誌ばかりで、体系的にまとまった書籍が不在なのは、書籍を書くべき大学があまり
:現場を知ろうとしてなかった、むしろ現場を避けて来たってのが諸悪の根源かな。最近は
風向きが変わりつつ有りますが、私が社会人Dr.で大学戻った頃は、そういう泥臭い現場の
研究ネタは大学にそぐわないだの何だの目の敵にされましたね。

本当は、書籍としてちゃんと体系的にまとめて、電気・情報・制御系の大学の授業でやる
ように持って行きたいと思ってるのですが、日々の業務に追われて全然思い通りにいきません。

余談:
>言語Cの標準ライブラリの知識がある程度でデカイ顔ができるなんて,ほんの10年前には本当に絵空事だった
私がZ80で色々と組込み玩具作って遊んでた中高生の頃は、そもそも標準ライブラリが揃ってる
Cコンパイラなんてのが周囲に無かった。small-CやMS-C,Turbo-C,コピーもんのwhitesmith-C
とか使ってて、標準ライブラリなんて全然揃ってなくて、printf族ですらサブセット。そのくせ
CP/M用の独自ライブラリがやたら有るという。大学入ってSUNやNEWS使って初めて、K&R
のサンプルが何の修正も無く動いて(コッソリ)感動してた。NEWSのmanには随分お世話に
成りました。
> printf族ですらサブセット

いやはや,21世紀の今日でも「このRTOSのスタートアップとlibglossのcrt.oと相性劇悪じゃん.…しゃあねぇから朝までにprintkでも作るかー」みたいな状況って珍しくなかったりして.

そうすると,「UNIXシステムコールプログラミング」のように低レベルな関数から標準ライブラリもどきを作ってみせるような本は読んでおくと心強い.ISBN-13: 978-4871482608
# でぇー,絶版ですか.(汗
はじめまして!
僕は、組込みソフト開発だけに限らずお勧めする本は、
清水吉男さんの著書「SEの仕事を楽しくしよう」です。
最近は、「わがSE人生に一片の悔いなし」という本を読んでるところです。
開発者として、プロとしての意識について書かれた本です。

「要求を仕様化する技術・表現する技術」もオススメです。
自身のブログでも紹介させてもらっています。
http://takuc2.blog17.fc2.com/blog-entry-30.html
はじめましてです。
なんというか、つい2週間前まで8bitマイコンが主戦場だったりしたせいで、32bit環境は完全初心者状態です。
ここにある書籍で未読の物をピックアップして来たるべき32bitへのステップアップを!・・・は言い過ぎですかねぇ?

>『要求を仕様化する技術・表現する技術』
要求仕様ナニソレ?とか思っていた私には非常にためになるというか目から鱗的な内容でした。
本屋さんの話では、月に1〜5冊はコンスタントにでているとのこと。
『「派生開発」を成功させるプロセス改善の技術と極意』も少し気になりますねぇ。
現在取り寄せ中で未読ですが。

>K&Rこと『プログラミング言語C』
リファレンスとして、標準関数や型宣言の意味を調べるには手っ取り早いなと愛用中。
コードは全然参照していないというかしちゃいけないとは思いますが。
たぶん、経験3年目ぐらいから生きてくる本かなぁと実感しております。

個人的に、『オシロスコープ入門』の内容程度は分かっている方がいいと思うんです。
オシロを使うような現場はレアかもしれませんが。

・・・初書き込みなのにとりとめない記述ですんません。はい。
はじめまして
多少、経験があるけど、組み込み特有の知識がちょっとまだという人には、情報処理技術者試験のエンデベット(今の名前忘れました)の参考書(&受験)がおすすめです。

良いところは、問題がたくさんあって、知識のインプットだけでなく、アウトプットができるところ、また、受験があることで、目標を持ちやすく、さらに自分を追い込みやすい(笑)ところです。

欠点は、組み込みでない部分も出題されること、あんまり使わない知識も必要になることですが、まぁ、いつか役に立つだろうみたいな軽い気持ちで。

私はこの試験の勉強でドキュメントや、その他の参考書の理解力が劇的に上がったと思います。
(試験自体は、時間の割に問題が多く、決して楽ではなかったですが。。。)

まぁ、ベテランはともかく、初心者〜中級者は高度な本を通読するより、ある程度簡単な(&薄い)本を頭に叩き込んだほうが効果は高いと思います。


> 最初から読み返してみると、最初の方はそうでもなかったんですね。
> ちと反省。

バグを指摘する前に,ソースを一通り斜め読みする癖をつけておくべきですね.
このことについて示唆している本を探したのですが,見つかりませんでした。

// microsoft pressで,ジュリーピック辺りが書いていそうなトピックでは
/ あるのですがね.本に書くまでもない基礎的事項のようです.:-p
>さとさん

まだエンベデッド技術者の試験を受けたことが無いのですが、はやりハードよりの出題が多かったりするのでしょうか?

先日はジャイロの出力をマイコンのADCに入れる前にローパスフィルタを入れようとして、RとCの値をどうやって決めたらいいのか迷ってしまいました。それから、時間が経つにつれて零点電圧が微妙に変化していくジャイロの出力をどう扱うかとか・・・。別な事例では変調された高周波信号のピークを検出するためにどれくらいの時間間隔で最低何回サンプリングすればよいか等、自分がまだまだ素人だということを思い知らされました。

「情報処理技術者試験の勉強なんて、役に立たないよ!」と思ったこともありますが、先日は私のblog
http://mobile-robots.way-nifty.com/daily_report/2008/10/ieee-754floatcc.html
に書いたような浮動小数点フォーマットをbit演算でいじるようなことをしてみると、勉強しておいてよかったと感じています。

ついでに言うと、春のソフトウェア開発技術者試験に合格したおかげで、会社から奨励金1万円もらいましたドル袋
>だるまさん
難しいことをやってらっしゃいますね。すごいです。

ハード寄りの問題は午前、午後ともに出題されますが、難関の午後はハード、ソフト選択ですので、試験のときは得意な方を選択できます。(今もかな?)

ログインすると、残り53件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

組み込み 更新情報

組み込みのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング