9. Embedded Programming : Local Session#
- Author : Kai Naito (Fablab Kamakura)
- Date created : 3/9/2019
- modified: 3/16/2019
Class site#
Class video#
授業内容まとめ#
Assignments & Goal#
Refer to Assessment page
Embedded Programming#
:confused: Not yet updated for 2019 evaluation standards
- Group assignment
-
Compare the performance and development workflows for other architectures
-
Individual assignment
- Read a microcontroller data sheet.
- Program your board to do something, with as many different programming languages and programming environments as possible.
Learning outcomes#
- Identify relevant information in a microcontroller data sheet.
- Implement programming protocols.
Have you?#
- Documented what you learned from reading a microcontroller datasheet.
- What questions do you have? What would you like to learn more about?
- Programmed your board
- Described the programming process/es you used
- Included your code
補足:#
-
今週のゴール
- GCC toolchainを利用して、プログラムをマイコンにアップロードする基本的なワークフローになれること。
- データシートを読み込んで、マイコンを理解すること。(ハードウェアを理解しない限り、マイコンのプログラミングは理解できない)
-
グループ課題について
-
AVR以外のアーキテクチャのパフォーマンスと開発ワークフローを検証する。
- 例年、ARM搭載のボードを使ってみてレビューしています。
- Kamakura 2019 (RaspberryPi3とMicrobit)
-
アップロード方法
- 各ラボ最低1つドキュメンテーションがあれば要件はクリア(ただし課題に全員が関わったことを見せる必要がある)。ラボの中で複数グループをつくってもOK。
- グループページのアップロードの仕方
鎌倉ラボページを自分のPCへclone
して、docs/assignment配下のマークダウンファイルを編集し、commitをpush
する。 - 各々個人ページからグループページへのリンクをはること。
-
Reference#
- What is Make and Makefile
- ArduinoIDEでプログラムを書き込むセットアップ方法
- Bitwise operators
- AVR microcontroller beginner guide (youtube)
- Digging in to ArduinoIDE commands (youtube)
シンプルなパルスを出すプログラムの処理時間を例にとり、ArduinoIDEのコマンドをC言語まで分解しながら、AtmelStudioを使ったCプログラミングについて解説している。 - FabAcademy Japan 昨年のサポートドキュメント(竹村さん作成)
Agenda#
Individual Assignment#
-
今週の課題について
-
データシートを読む
- 8bit AVRマイクロコントローラーのデータシートを読んで、学んだことをドキュメントに書き出してください。
- 全て記憶しなくても良いが、隅から隅まで目を通すこと(全て重要)
-
ボードをプログラムする。
- 以前に作ったボードにプログラムを書き込む
- ニールのサンプルプログラムを部分的に書き換えることから始める
- 可能な限りいろんな種類のプログラム言語、開発環境を試す。わからなければ、とりあえずArduinoIDEを使ってみること。余裕があれば、他のものにも手を出してみる。(抑えておきたいのはArduino Cloud version, Arduino local version, avrdude, scratch…)
-
-
アドバイス
- FABISPでのボード書き込みの時には、ボードの電源を入れるのを忘れないようにしましょう。電源を別で供給しないと書き込みできません。
- プログラムは、0から書こうとしないで、サンプルを改良して使いましょう!ただ、何か少しでも変更してください。(LEDの点滅速度など。)
- ATMEL-ICE-BASIC(AVRISP mkII)ではArduinoIDEによる書き込みができないことが確認されています。使おうとしている方は注意してください。
http://akizukidenshi.com/catalog/g/gM-08285/
Group Assignment#
ARMをコアアーキテクチャとするマイクロコントローラーボード#
-
Mbed
ARM社のプロトタイピング用ワンボードマイコンおよびそのデバイスのプログラミング環境- Mbed Studio (開発環境)
-
- 英国BBCが教育用に開発したシングルボードコンピューター。光、加速度、温度などのセンサーに加え、LED表示器、ボタンなどを搭載する。IDEが充実している。
(MCU:32 bit ARM Cortex M0ベース Nordic nRF51822)
Spec - 開発環境
- Makecode : Block Editor(cloud)
- Python : Python Editor(cloud)
- C (Mbed IDEでも可能)
- 英国BBCが教育用に開発したシングルボードコンピューター。光、加速度、温度などのセンサーに加え、LED表示器、ボタンなどを搭載する。IDEが充実している。
-
- Blue pillと呼ばれるSTM32F103C8を搭載した互換開発ボード
- ST-LINK V2 Programmer
- Getting Started with STM32 using Arduino IDE: Blinking LED
その他#
- ESP32-WROOM-32
Wi-FiとBluetoothを内蔵する低コスト、低消費電力なSoCのマイクロコントローラ。Espressif社が提供している。
For next week…#
-
FabAcademyの評価システムNuevalがオープンしました。
Evaluation system available now.
http://nueval.fabacademy.org- 毎週ドキュメントをアップロードしたらStudent Check Listをチェックしてください。
Go over Student Check List after you finish uploading documentations every week. - チェックがすべて完了した週から、順次インストラクターがLocal Evaluationを行います。
We move on to the Local Evaluation process promptly after you finish checking the list.
- 毎週ドキュメントをアップロードしたらStudent Check Listをチェックしてください。
-
Recitaion:
- No Reciation this week! //- on Monday 9:00 EST, 22:00 JST
-
Asia Regional Review:
- on Tuesday 13:00-14:00 JST or 22:00-23:00 JST
- video conference for meetings:
https://bluejeans.com/fabevent/1248
-
Class on Wednesday 9:00 EST, 22:00 JST