組み込みまするβ

組み込みソフトウェア初学者向けブログ

2017-10-01から1ヶ月間の記事一覧

組み込みソフト版Chronoを作成する

フリーランカウンタを利用した時間経過待ち、タイムアウト判定と時間計測の仕組みは以前の記事で説明していますので、 本記事ではそれをサービスとして提供するコンポーネント(Chrono)を作成します。 時間に関するサービスを提供するコンポーネントはシン…

IOアクセスの共通化

IOアクセスを共通化する理由は何でしょうか? 例えばCPU内蔵の周辺回路は、他のCPUから動かすことはないのでベンダ提供(専用)のIOアクセスで問題ありません。 ではCPUに依存しない単体のNOR-Flashデバイス等はどうでしょうか? このような汎用的なデバイス…

小規模組み込みソフトウェアの共通プラットフォーム

組み込みソフトウェアも一般的なソフトウェアと同じように、 一度作成したサブシステム、ミドルウェア等のコンポーネント(モジュール)を当然再利用しています。 デバイスドライバであっても過去に採用した同系統のCPUであれば周辺回路も互換性があるので再…

組み込みソフトウェアのメモリアロケータ

組み込みソフトウェアの設計ルールは会社組織やプロジェクトによって様々だが、 メモリアロケータに関して使用禁止、もしくはプログラムの初期化以後は使用禁止という場合が多いと思う。 これはOSレスやuITRON系のような小~中規模システムだけでなく、 大規…

割り込み処理でprintfが危険な理由

組み込みシステムではデバッグやリアルタイム動作のログ等で、今でもprintfがよく使用されます。 このprintfを割り込みコンテキストで実行すると危険な場合があるのですが、 そのことを意識せずに使用してしまっているコードを見ることがあり、 注意喚起のた…