Skip to Content
応用組み込み電子工学
book

応用組み込み電子工学

by Jerry Twomey
March 2025
Beginner to intermediate
598 pages
9h 2m
Japanese
O'Reilly Media, Inc.
Content preview from 応用組み込み電子工学

第12章. ソフトウェアとコーディング

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

このの章では、組込みシステムの文脈の中で、ソフトウェアとコードに関連する問題を調査している。トピックは以下の通りである:

  • どのようなプログラミング言語が使われているか

  • オペレーティングシステム(OS)が必要な場合

  • リアルタイムオペレーティングシステムと汎用オペレーティングシステムの違いを理解する。

  • どのリアルタイムオペレーティングシステムを使うのが適切か

  • マイクロコントローラー(MCU)のポートを設定する

  • デバイスドライバコードの作成

  • 悪条件付きで機能するシステムのための防御的コーディング

これらのトピックをカバーすることで、コーディングスキルを持つ設計者は、組込みシステムのコンフィギュレーションとプログラミングに必要な知識を得ることができる。

本書は、組込みシステムのコーディングではなく、組込みシステムのエレクトロニクスに焦点を当て ていることを忘れないでほしい。組込みシステムのコーディングに関する本は世の中にたくさんあり、良いコーディングの参考書や勉強のための教科書は、「さらなる読み取り」にいくつか提案されている。

そのため、組み込みシステム用の "Hello World!"プログラムを書くためのチュートリアルはここには含まれていない。

コーディング言語

組み込みシステムのプログラミングへのアプローチは、通常3つのパスのいずれかを取る:

ステートマシンを定義する

FPGA(フィールドプログラマブルゲートアレイ)やCPLD(コンプレックスプログラマブルロジックデバイス)のプログラミングでは、論理構造は通常ステートマシンを定義する。ステートマシンは条件付きで状態変化を定義する。このプログラミングには、ハードウェア記述言語(HDL)、通常はVerilogまたはVHDLが使用される。

アセンブリ言語を使用する

単純なMCU(ペリフェラル・インタフェース・コントローラなど)や初期世代のプロセッサ(8051、6502、およびそれらの亜種)では、アセンブラ・コードを使用する必要があるかもしれない。これらのデバイスの中には、コンパイラが存在しないものや、メモリが限られていてコンパイルされたプログラミングが入らないものがある。また、非常に高速な処理や、タイミングやクロック数の正確な制御が必要な場合も、アセンブラ・コードが必要になることがある。

コンパイルされたコードを使用する

コントローラコードに使われる言語は、Cまたはその変種(C++、C#、Embedded C)が主流である。Pythonのいくつかの亜種は、組み込みシステムの限られたメモリ機能に合わせて開発されている。

MCUの場合、組み込みコード開発の大半はCまたはその変種で行われる。(2023年現在、MCUでのPythonの使用は増加しているが、依然としてCが主流である)CPLDやFPGAデバイスの場合、プログラミングはVerilogまたはVHDLを使用して行われる。

オペレーティングシステム

一般化OSは、タスク管理、ファイルストレージ管理、メモリー管理、周辺機器(キーボード、マウス、ビデオ、オーディオ、イーサネット、USBなど)とのインタフェースなど、コンピューターの機能を制御する。リアルタイム・オペレーティング・システム(RTOS)は、タイムリーに応答する機能を追加する。ハード "RTOSは、例外なく最大時間で応答するように設計されている。ソフト」RTOSは、最大応答時間が「ほぼ」満たされるように構成される。詳細は各RTOSに固有であり、タイミングが重要な場合は、適合性を判断するために調べる必要がある。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

技術リーダーシップのための14のヒント

技術リーダーシップのための14のヒント

島田 浩二
INSPIRED

INSPIRED

Marty Cagan
Tidy First?

Tidy First?

Kent Beck

Publisher Resources

ISBN: 9798341635128