TOPPERSプロジェクト教育WGでは、組込みソフトウェア開発に必要なアーキテクチャ開発、実装設計、開発環境管理に特化したコンテンツを開発し、公開してきました。 昨年は、新上級実装コンテンツをリリースし、ラズベリィ パイPico と Arduino コネクタ・ボード(TEB003)を使用したUSBとWI-FIに特化した組込み教材をウェブ公開しました。
今回、基礎1,2,3実装セミナーコンテンツに加え、ブレッド・ボードを使ったハードウェア設計コンテンツの基礎ハードウェアをラズベリィ パイPicoとPico2を使って実習ができる教材に書き換えウェブ公開を行います。
学習は、Windows PCに、開発環境としてMSYS2とクロスコンパイラをインストールして実習開発を行います。プログラムを作成するエデッタを用いてプログラム開発を行います。デバッグはROMモニタを使用し、RAM上にダウンロード、実行しsyslog文でログを見ながらのデバッグとなります。学習に必要なボード等は自分で用意する必要があります。
基礎セミナーシリーズでは,以下の内容を学びます。各セミナーの詳細については、リンク先のページをご参照ください。
基礎1,1.5,ハードウェアはベアメタル開発実習です。基礎2,3はRTOSを使った開発実習となります。 受講の最適な順番は以下の通りです。
基礎1→基礎2→基礎ハードウェア→基礎3→基礎1.5
ベアメタル開発の実習が不要な場合、基礎ハードウェアと基礎1.5の受講の必要はありません。
ご自分のWindows PCを使用する形の学習となります、ビルド環境としてMSYS2とクロスコンパイラをインストールします。 エデッタはお好きなものを使用してください。 ボードとのUART通信用にTera Termを使用します。 開発環境構築方法は「TOPPERS BASEPLATFORM開発環境編」に記載しています。
このコンテンツを学習するために以下のボード等が必要となります。
ボードの作成方法は「TOPPERS BASEPLATFORM開発環境編」に記載しています。
TOPPERS基礎セミナーでは、TOPPERSプロジェクト教育WGを中心に、 過去の教育活動の知見をもとに開発したプロトタイピング・ボードを使用します。 本拡張ボードは、Arduino UNOコネクタの互換のプロトタイピング・ボードとなっております。 回路図などプロトタイピング・ボードの詳しい情報は、フラットーク株式会社の紹介ページをご覧ください。
ボードを事務局のウェブの申し込みページから購入可能です。 また、CQ出版社のご協力をいただいております。 関連記事「Picoとマルチコア対応RTOSでArduinoシールドを使おう」が載ったインターフェイス誌に引換券があり、ボードを入手可能です。
本セミナーは2日間で、以下の学習スケジュールとなります。
◆1日目:
ベアメタル環境で組込み開発を行うための、ハードウェアとソフトウェアの基礎知識を学習後、開発ボードの確認を行います。
| 1 | はじめに |
| 2 | 組込みハードウェアの基礎知識 |
| 3 | 組込みプログラム開発の基礎知識 |
| 4 | マイコンボードの確認 |
| 5 | 開発環境の確認 |
| 6 | ROMモニタを使った実習 |
| 7 | まとめ |
◆2日目:
メモリマップドレジスタを使ったデバイスの制御を学習する。デバイスはLED、PUSH-SW、DIP-SW、タイマー、UART。タイマーとUARTでポーリング方式と割込み方式を学習する。
| 1 | メモリマップドレジスタの操作方法の確認 |
| 2 | ポーリングプログラム(1) |
| 3 | ポーリングプログラム(2) |
| 4 | 割込みプログラム |
| 5 | まとめ |
本セミナーは2日間で、以下の学習スケジュールとなります。
◆1日目:
リアルタイムOSをμITRON4.0仕様をベースに学習する。ボード上でASPカーネルを動作させ、サービス・コールの確認を行い、タスクモニタを使った確認を行う。
| 1 | リアルタイムOSの基礎 |
| 2 | ITRON基礎知識 |
| 3 | 開発環境の構築 |
| 4 | TOPPERS/ASPカーネルの導入 |
| 5 | システム検証モジュールの導入 |
| 6 | まとめ |
◆2日目:
タスク、周期ハンドラの機能をLEDとPUSH-SWを使って学習します。タイマーとPUSH-SWの割込み処理を学習します。タスク間通信としてセマフォ、イベントフラグ、データキューを学習します。
| 1 | 実習開発環境の構築 |
| 2 | RTOSの基礎プログラミング学習1 |
| 3 | RTOSの基礎プログラミング学習2 |
| 4 | 同期通信機能プログラミング実習 |
| 5 | まとめ |
本セミナーは2日間で、以下のスケジュールとなります。
◆1日目:
TOPPERS BASE PLATFORMを使って、組込みソフトウェア・プラットフォームについて学習します。デバイスとしてADCとSPIを学習します。SPIを使ったグラフィックLCDについて学習します。
| 1 | TOPPERS BASE PLATFORM(RP) |
| 2 | 開発環境とハードウェアの検証 |
| 3 | 可変抵抗を使ってADC入力 |
| 4 | SPI仕様、SPIデバイスドライバ |
| 5 | LCDの初期化とピクセル設定 |
| 6 | LCD描画プログラム学習 |
| 7 | まとめ |
◆2日目:
SPIを使って、SDカードと通信を行います。SDカード用のファイルシステムの構築学習を行います。
| 1 | SDカードSPIインターフェイス |
| 2 | SPI-SDカードFATドライバ対応 |
| 3 | SDカードファイルシステムの構築 |
| 4 | ファイルテストプログラム |
| 5 | DICアーキテクチャ |
| 6 | LCDシールドを使ったアプリ紹介 |
| 7 | まとめ |
本セミナーは1日間で、以下のスケジュールとなります。
◆1日目:
ブレッド・ボードを使って、キッチン・タイマボードを作成する。使用するデバイスはLED、PUSH-SW、ブザー、キャラクタLCDです。ソフトウェアはベアメタル開発です。
| 1 | はじめに |
| 2 | 開発環境の説明 |
| 3 | デバッガとLEDの点灯確認 |
| 4 | ブザーとキーを動かそう |
| 5 | LCDを動かそう |
| 6 | カップラーメンタイマソフトの説明 |
| 7 | まとめ |
本セミナーは1日間で、以下のスケジュールとなります。
◆1日目 :
基礎3と同等のボードセットが受講時必要となります。ソフトウェアはベアメタル開発です。
| 1 | はじめに |
| 2 | 開発環境の説明 |
| 3 | LCDJOYシールドを動かす |
| 4 | スティック・マウスを作る |
| 5 | ベアメタル組込み実装の勘所 |
| 6 | まとめ |
本コンテンツに対する問い合わせはTOPPERSユーザーズフォーラムから行ってください。
TOPPERS BASE PLATFORM対応基礎1、2、3、1.5、ハードウェア実装ウェブコンテンツはこちらでダウンロードできます。