ESP32でマルチタスクを行う為の、とりあえずここまで判った事 by freeRTOS 29タスク目 [ESP32]
現在実用ガイドを読みながら編集中、、、ある事ない事書いちょりまっす!
http://www.profdong.com/elc4438_spring2016/USINGTHEFREERTOSREALTIMEKERNEL.pdf
ESP32はRTOSができるらしい、、、
データタイプと命名規則、、、2
〇 命名規則
● 変数名
変数名は、名前の頭にその型が付加されている。’c’はchar型だし、’s’はshort、’l’はlong、で’x’はportBASE_TYPE型、それに他の型(structures, task handles, queue handles, etc.)がある。
もし変数が符号無しであれば’u’を先頭に付加する。もし変数がポインター型であれば、先頭に’p’を付加する。なのでunsigned char型は”uc”、char *型であれば”pc”となる。
● 関数名
関数名は、名前の頭に戻り値の型と、それが書かれているファイルが付加されている。例えば、
※スコープがprivateな関数は”prv”が付加される。
● 書式
1タブは4スペース
● マクロ名
ほとんどのマクロ名は大文字で書かれており、小文字はそれが定義されているファイルを示している。例えばprefixとマクロが定義されているファイルの関係性は、
※セマフォはほとんどマクロで定義されているが、命名規則は関数のそれに従う。
共通マクロと定義
マクロ名と値の対応を以下に示す。
● なんでこんなにキャストを多用するのか?
FreeRTOSのソースコードは様々なコンパイラでコンパイルされる事を想定しているため、コンパイラの依存性を排除する為にこの様な事になっている。
http://www.profdong.com/elc4438_spring2016/USINGTHEFREERTOSREALTIMEKERNEL.pdf
ESP32はRTOSができるらしい、、、
データタイプと命名規則、、、2
〇 命名規則
● 変数名
変数名は、名前の頭にその型が付加されている。’c’はchar型だし、’s’はshort、’l’はlong、で’x’はportBASE_TYPE型、それに他の型(structures, task handles, queue handles, etc.)がある。
もし変数が符号無しであれば’u’を先頭に付加する。もし変数がポインター型であれば、先頭に’p’を付加する。なのでunsigned char型は”uc”、char *型であれば”pc”となる。
● 関数名
関数名は、名前の頭に戻り値の型と、それが書かれているファイルが付加されている。例えば、
vTaskPrioritySet() returns a void and is defined within task.c. xQueueReceive() returns a variable of type portBASE_TYPE and is defined within queue.c. vSemaphoreCreateBinary() returns a void and is defined within semphr.h.
※スコープがprivateな関数は”prv”が付加される。
● 書式
1タブは4スペース
● マクロ名
ほとんどのマクロ名は大文字で書かれており、小文字はそれが定義されているファイルを示している。例えばprefixとマクロが定義されているファイルの関係性は、
port (for example, portMAX_DELAY) → portable.h task (for example, taskENTER_CRITICAL()) → task.h pd (for example, pdTRUE) → projdefs.h config (for example, configUSE_PREEMPTION) → FreeRTOSConfig.h err (for example, errQUEUE_FULL) → projdefs.h
※セマフォはほとんどマクロで定義されているが、命名規則は関数のそれに従う。
共通マクロと定義
マクロ名と値の対応を以下に示す。
pdTRUE → 1 pdFALSE → 0 pdPASS → 1 pdFAIL → 0
● なんでこんなにキャストを多用するのか?
FreeRTOSのソースコードは様々なコンパイラでコンパイルされる事を想定しているため、コンパイラの依存性を排除する為にこの様な事になっている。
ITRONプログラミング入門 H8マイコンとHOSで始める組み込み開発
- 出版社/メーカー: オーム社
- 発売日: 2005/04/23
- メディア: Kindle版
リアルタイムOSと組み込み技術の基礎―実践μITRONプログラミング (TECHI (Vol.17))
- 作者: 高田 広章
- 出版社/メーカー: CQ出版
- 発売日: 2004/02
- メディア: 単行本
2018-03-09 10:48
nice!(0)
コメント(0)
コメント 0