もう終わりそうですけど、4月ですしこれから組み込み業界へ向かうかたへ自分がこの本よかったなーって思ったのをいくつかピックアップしてみます。ただ、一言に『組み込み』と言っても幅広くて分野によって求められる知識は結構変わってくると思いますが、ベースは一緒だろうと思います。
ちなみに自分はCPUはRL78、Cortex-M0、Cortex-M3、Rx、SH、Cortex-A9、FPGAは最大でも7000LUT程度のレンジのハードウェア設計をやってきました。今はZynqや大規模FPGA開発に携わりたいと思っています。
以下に挙げていきますが、オススメがあれば是非教えていただきたいです。
※順番に意味はありません。
CPUの創りかた

- 作者: 渡波郁
- 出版社/メーカー: 毎日コミュニケーションズ
- 発売日: 2003/10/01
- メディア: 単行本(ソフトカバー)
- 購入: 35人 クリック: 445回
- この商品を含むブログ (192件) を見る
名著。非常にわかりやすく、さくっと読めてしまう。汎用ロジック(74HCシリーズ)で4bitCPUを実装していく過程を丁寧に説明している。CPUってどうやって動いてるの?って人は是非読むべき一冊。CPLDなりFPGAに実装するのも楽しいかも。
CPU自作入門

CPU自作入門 ~HDLによる論理設計・基板製作・プログラミング~
- 作者: 水頭一壽,米澤遼,藤田裕士
- 出版社/メーカー: 技術評論社
- 発売日: 2012/10/20
- メディア: 大型本
- クリック: 7回
- この商品を含むブログ (7件) を見る
CPU設計、回路設計・基板設計、コンパイラ設計という構成。楽しい内容なんだけど、個人的には若干駆け足気味に感じた。基板設計よりHDL部分に多くの説明を割いてくれればベター。基板設計はEAGLEだけど、今ならKiCADを使ってみるのも楽しいかも。
12ステップで作る組み込みOS自作入門

- 作者: 坂井弘亮
- 出版社/メーカー: カットシステム
- 発売日: 2010/05
- メディア: 単行本
- 購入: 24人 クリック: 252回
- この商品を含むブログ (39件) を見る
名著。著者はバイナリかるたとかアセンブラ短歌の坂井さん。12ステップでリアルタイムOSを自作します。使用マイコンはH8/3069Fです。秋月にもまだ売ってますね。
大学の授業でPC上でしかC言語を走らせたこと無いって人は"Hello World"の大変さに驚くはず。"Hello World"までに12ステップ中1ステップを割く上に、ステップ1が終了しても変数にただしくアクセスできないという大変さを味わえる本です。
ここではあげませんが、このH8ボードは多く題材として取り扱われていて、こいつで組み込みLinuxを動かしたりネットワークプログラミングする書籍もあったと思います。多分。
ただ、H8は基本的には終息品なのでARMのCortex-MだとかRL78、RXに自作OSを移植するのも楽しいかも。(こっそりRL78への移植は始めたのでもしできたらエントリにします。RAM容量が少ないためローダーは諦めましたが。)
RTL設計スタイルガイド Verilog HDL編

RTL設計スタイルガイド Verilog HDL編―LSI設計の基本
- 作者: STARC
- 出版社/メーカー: 培風館
- 発売日: 2011/06
- メディア: 単行本
- 購入: 1人 クリック: 3回
- この商品を含むブログを見る
入手困難品。RTL設計するなら手元においておいたほうがいいかも。VHDL編もあるけど、これからならSystemVeilogもあるしVerilogでいいんじゃないかと思ってるけど、実際どうなんでしょう?ちなみにこのスタイルガイドはVerilog HDL編とありますがSystemVerilogにも対応してます。FPGA入門書などではメタステーブルだとか肝心の部分が抜けてる場合が多いので、このスタイルガイドは目を通しておいたほうが良いかも。ただ、高額な上入手困難です。
Verilog HDL&VHDLテストベンチ記述の初歩

Verilog HDL&VHDLテストベンチ記述の初歩 (DESIGN WAVE MOOK)
- 作者: 安岡貴志
- 出版社/メーカー: CQ出版
- 発売日: 2011/03/30
- メディア: 単行本
- 購入: 1人 クリック: 3回
- この商品を含むブログ (1件) を見る
テストベンチの書き方は入門書に紹介されていないケースが多いのでこちらも目を通しておいてもいいかも、ということで挙げておきます。VHDL、Verilog両方対応。SystemVerilog版のこういった書籍が出たらいいなーと思いつつ。
モダンC言語プログラミング

モダンC言語プログラミング 統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションの活用
- 作者: 花井志生
- 出版社/メーカー: KADOKAWA/アスキー・メディアワークス
- 発売日: 2013/10/01
- メディア: 大型本
- この商品を含むブログ (4件) を見る
タイトルからは読み取れませんが組み込みをターゲットにした内容になっています。オブジェクト指向プログラミング、デザインパターンからGtestを使ったTDD、Jenkinsを使った継続的インテグレーションまで網羅しています。ICEでちまちま単体テストしてたり、そもそも単体テストすらしてないって現場がまだまだ多いと思うので是非読んどきたい一冊。
テスト駆動開発による組み込みプログラミング

テスト駆動開発による組み込みプログラミング ―C言語とオブジェクト指向で学ぶアジャイルな設計
- 作者: James W. Grenning,蛸島昭之,笹井崇司
- 出版社/メーカー: オライリージャパン
- 発売日: 2013/04/24
- メディア: 大型本
- この商品を含むブログ (13件) を見る
上記はGtestだったけど、こっちはUnityとCppUTest。「組み込みだと実機イルじゃん?テストできないじゃん?」って問題を解決しようとしている。組み込みらしくLEDだとかフラッシュメモリドライバを題材にしてる。
SECBOOKS ESCR Ver2.0
![SECBOOKS ESCR Ver2.0:【改訂版】組込みソフトウェア開発向けコーディング作法ガイド[C言語版] (SEC BOOKS) SECBOOKS ESCR Ver2.0:【改訂版】組込みソフトウェア開発向けコーディング作法ガイド[C言語版] (SEC BOOKS)](https://images-fe.ssl-images-amazon.com/images/I/41sucq8k1QL._SL160_.jpg)
SECBOOKS ESCR Ver2.0:【改訂版】組込みソフトウェア開発向けコーディング作法ガイド[C言語版] (SEC BOOKS)
- 作者: 独立行政法人情報処理推進機構
- 出版社/メーカー: 独立行政法人情報処理推進機構
- 発売日: 2014/03/07
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
組み込み向けコーディング規約。Ver2.0からMISRA-C 2012を参照するようになった。ただ、まだまだ自動車業界では2004を指定するケースもあるようなので適材適所。
よくわかる回路設計者のためのSI・EMI対策

- 作者: 岡本彬良
- 出版社/メーカー: 日刊工業新聞社
- 発売日: 2007/05
- メディア: 単行本
- クリック: 1回
- この商品を含むブログを見る
さらっと読めるのでシグナルインテグリティとEMIについてはまずはこれで入門。基本的なところは抑えられているのでまずはこれを理解しておくのがいいかも。ただ、あくまで基本なので他の実践的なSI、EMIの書籍がある人は不要かも。
高速ディジタル回路実装ノウハウ

高速ディジタル回路実装ノウハウ―高速信号を確実に伝送する基板設計とノイズ対策
- 作者: 久保寺忠
- 出版社/メーカー: CQ出版
- 発売日: 2002/09
- メディア: 単行本
- 購入: 13人 クリック: 305回
- この商品を含むブログ (2件) を見る
より実践的なデータが掲載されている。たとえば74LV04から駆動能力の高い74LVC04に変更した場合の放射ノイズだとか、GNDベタにより放射ノイズの差異だとか、なかなかお目にかかれない比較結果が示されているので非常に参考になる。業務に忙殺されているとなかなか、「このパターン変えたらどれくらいノイズが増えるの ?」とか「このICこれにしたらどれだけ放射ノイズへるの?」だとか知る機会がないのでありがたい。
エリック・ボガティン 高速デジタル信号の伝送技術 シグナルインテグリティ入門

エリック・ボガティン 高速デジタル信号の伝送技術 シグナルインテグリティ入門
- 作者: Eric Bogatin,須藤俊夫
- 出版社/メーカー: 丸善
- 発売日: 2010/07/30
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 6回
- この商品を含むブログを見る
高いし、厚い。他書では「そういうものだ」と片付けられている内容も数ページにわたって数式で解説している。ただ、非常に難解で電磁気学がわかってないと理解が困難です(自分もよくわかってません)。ただ、付録にガイドラインがまとめられておりそれだけでも見る価値はあります。例えば以下のようなガイドラインがあります。
クロストークを最小にせよ
などなど。
技術者のためのプリント基板設計入門―PCBCAD時代のプリント基板作成と実装のすべて

技術者のためのプリント基板設計入門―PCBCAD時代のプリント基板作成と実装のすべて (トランジスタ技術SPECIAL)
- 作者: トランジスタ技術SPECIAL編集部
- 出版社/メーカー: CQ出版
- 発売日: 2005/06
- メディア: 単行本
- 購入: 4人 クリック: 21回
- この商品を含むブログ (6件) を見る
回路設計と基板設計は切っても切り離せないので、基板設計が全くわからない回路設計者にはおすすめ。ULの難燃試験についてやBGAに対してのQAなどが記載されている。
【この1冊でよくわかる】ソフトウェアテストの教科書

【この1冊でよくわかる】ソフトウェアテストの教科書―品質を決定づけるテスト工程の基本と実践
- 作者: 石原一宏,田中英和,田中真史
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2012/01/28
- メディア: 単行本
- 購入: 2人 クリック: 12回
- この商品を含むブログ (9件) を見る
ソフトウェアテストって書いてあるけど、RTL設計する場合もソフトウェアテストに関する知識はあったほうがよい、というか必須だと思う。自分が買った中ではこれがわかりやすかった。ただ、基本的な内容なのでもっと実践的な内容は別の書籍を読んだほうがいいかも。
以上です。 他にもVIH/VILやセットアップ・ホールド時間、I2C、UART、SPIなどのIFやSDRAM、SRAM IFなど基本的なところをしっかり抑えた本があればいいのに、と思うんだけど見たことがない。おすすめなどあれば是非教えて下さい。