知っておきたいプロの常識!組み込みC言語、移植性と効率向上のテクニック【オンライン同時開催セミナ】

知っておきたいプロの常識!組み込みC言語、移植性と効率向上のテクニック【オンライン同時開催セミナ】
―― やってはいけない or やって欲しいコーディング集

  

【開催日】2020年12月6日(日) 10:00-17:30 1日コース
【セミナNo.】ES20-0114  【受講料】26,000円(税込)
【会場】東京・巣鴨 CQ出版社2Fセミナ・ルーム [地図]
セミナ会場

※本セミナはGoogle Meetを使ったオンライン同時開催セミナです。
オンライン受講の申込締切は11月29日です。11月30日以降の申込は会場受講のみとなります。
オンライン受講を希望される場合は、セミナ申込後、メールでご連絡ください。
詳細は、オンライン同時開催セミナについてを参照ください。

 現在、組み込みシステムのソフトウェア開発言語はC言語が主流となっている。しかし、C言語の文法は曖昧な部分が多く、移植性を保つのは至難の業である。自動車業界でもMISRA-Cのコーディング規則により、曖昧な文法を利用しないためのルールを策定している。
 本講義では、組み込み向けのソフトウェア開発にC言語を使い初めてから2,3年程度を経過したプログラマを対象に、C言語の文法のどこが曖昧なのかを解説し、その罠に落ちた例/罠を回避する例を紹介する。
 また、C言語の文法とは直接関係はないものの、組み込み系には重要な変数領域の削減方法、スタックサイズの計算方法、スタック領域を削減する方法等についても紹介する。

 以下は本講義で紹介するプログラムの一例である。unsigned int型が16bitで最大値が65,535である時、変数aとbとcに代入される値を答えよ。

long x = 75536;
unsigned int a, b, c;

a = x;
b = -a;
c = 1 & 1 | 0 ^ 1;

答え

●対象聴講者
・C言語の文法のどこが曖昧なのかを知りたい方
・C言語で組み込み系ソフトウェアの開発を初めてから2,3年程度経過した方
・組み込み系C言語で移植性や効率をアップさせる方法を知りたい方

●講演の目標
・C言語の正しい文法が理解できる
・MISRA-Cのコーディング規則の内容が理解できる
・組み込み系C言語で移植性や効率をアップさせる方法が理解できる

●内容
1 整数型はこんなにも曖昧
 1.1 char型とint型の注意事項
 1.2 符号付き整数型は内部表現すら決まっていない
 1.3 異なる型での演算には暗黙のルールが適用されるんだよ!

2 浮動小数点型の演算はとても複雑
 2.1 浮動小数点型の内部表現はIEEEの規格が殆ど
 2.2 浮動小数点定数の型の割り当ては自動的には変わらない
 2.3 浮動小数点型の演算にはFPU機能が必須

3 派生型のあれこれ
 3.1 typedefで紐解く配列とポインタ
 3.2 ケチの付けようがない構造体
 3.3 文法的には使い物にならないビットフィールド
 3.4 移植性は担保できない共用体

4 知っているようで知らない演算子
 4.1 演算子優先順位表の左上は関数呼出し
 4.2 意外に説明できない後置インクリメントの動作
 4.3 乗除算はC言語とマイコンでは仕様が異なる
 4.4 条件式とif文は全く異なるもの
 4.5 非常に便利なのに知名度が低いカンマ演算子

5 静的変数領域の削減
 5.1 変数領域はconstと初期値の記述に左右される
 5.2 値を変更しない変数には必ずconstを付けるべし
 5.3 初期値がゼロなら記述してはならない

6 スタックサイズを計算しよう!
 6.1 長時間動作させると暴走するシステム
 6.2 スタックサイズの計算方法
 6.3 多重割込みを含めたスタックサイズの計算
 6.4 スタックサイズの削減方法


【受講者が持参するもの】
不要

【講師】
鹿取 祐二 氏〔トロンフォーラム学術・教育WG講師 〕
 ルネサス半導体トレーニングセンターにて,マイコン,C言語,リアルタイムOSのセミナー講師を約25年間担当.ルネサス退社後は,組み込みシステム関係の書籍を執筆する傍ら,トロンフォーラム学術・教育WGのメンバーとして,リアルタイムOSのセミナー講師として活動中.


参加申し込み

このセミナに参加する

Webからのお申し込み

  以下の「参加申し込み」ボタンをクリックしてください.参加申し込みフォームを開きます.

参加申し込み

FAXやE-mailでのお申し込み

  Webの参加申し込みフォーム以外の申し込み方法をご希望の方は こちらのページ をご確認ください.

このセミナのタグ情報
各タグをクリックすると,類似するセミナの一覧を表示します.

コース

 1日コース

カテゴリ

 組み込みシステム

シリーズ

 

特徴

 オンライン同時開催セミナ
 講師実演

キーワード

 コンピュータ
 ソフトウェア
 プログラミング言語
 マイコン
 開発環境
 開発手法

セミナ事務局からのお知らせ

・オンラインセミナを始めました(2020/5/21).

キャンセルの規定が変わりました(2020/2/21).