Amazon FreeRTOS V1.0.0 の各APIについて一言で説明してみました。
FreeRTOS kernel
タスクとスケジューラ
API | Comment |
---|---|
portSWITCH_TO_USER_MODE() | Supervisor モードから User モードへ切り替える |
vTaskAllocateMPURegions() | タスクにMemory Protection Unit (MPU) regionsを割り当てる |
xTaskAbortDelay() | タスクを Blocked state に遷移させる |
xTaskCallApplicationTaskHook() | タスクにtaskhookを関連付ける。 |
xTaskCheckForTimeOut() | タスクにタイムアウトを設定、expireしたら Blocked state に遷移させる |
xTaskCreate() | タスクを生成する |
xTaskCreateStatic() | 静的なメモリを使ってタスクを生成する |
xTaskCreateRestricted() | Memory Protection Unit (MPU) restricted task を生成する |
vTaskDelay() | タスクを指定tickだけ Blocked statee に入れる |
vTaskDelayUntil() | タスクをある絶対時刻まで Blocked statee に入れる |
vTaskDelete() | タスクを削除する |
taskDISABLE_INTERRUPTS() | 割り込むを無効にする |
taskENABLE_INTERRUPTS() | 割り込みを有効にする |
taskENTER_CRITICAL() | クリティカルセクションに入る |
taskENTER_CRITICAL_FROM_ISR() | クリティカルセクションに入る |
taskEXIT_CRITICAL() | クリティカルセクションから出る |
taskEXIT_CRITICAL_FROM_ISR() | クリティカルセクションから出る |
xTaskGetApplicationTaskTag() | タスクのタグを取得する |
xTaskGetCurrentTaskHandle() | Running Stateにいるタスクのハンドルを取得する |
xTaskGetIdleTaskHandle() | Idle Stateにいるタスクのハンドルを取得する |
xTaskGetHandle() | 名前を指定して るタスクのハンドルを取得する |
uxTaskGetNumberOfTasks() | タスク数を取得する |
vTaskGetRunTimeStats() | タスクの統計情報を取得する (タスク名、CPU時間、CPU時間の割合) |
xTaskGetSchedulerState() | スケジューラの状態を取得する (開始していない、実行中、サスペンド中) |
uxTaskGetStackHighWaterMark() | タスクの残りスタック量を取得する |
eTaskGetState() | タスクの enumerated type な状態を取得する |
uxTaskGetSystemState() | 複数タスクの詳細な状態を取得する。 |
vTaskGetTaskInfo() | ある一つのタスクの詳細な状態を取得する。 |
pvTaskGetThreadLocalStoragePointer() | タスクの Thread local storage のポインタを取得する |
pcTaskGetName() | タスクの名前を取得する |
xTaskGetTickCount() | タスクが消費したtickcountを取得する |
xTaskGetTickCountFromISR() | タスクが消費したtickcountを取得する |
vTaskList() | タスクの状態を読みやすい形式で表示する |
xTaskNotify() | タスクにNotify (32bitの値)を送る |
xTaskNotifyAndQuery() | タスクにNotify (32bitの値)を送る 以前の値を使う |
xTaskNotifyAndQueryFromISR() | タスクにNotify (32bitの値)を送る 以前の値を使う |
xTaskNotifyFromISR() | タスクにNotify (32bitの値)を送る |
xTaskNotifyGive() | タスクにNotifyを送る 値はインクリメントする |
vTaskNotifyGiveFromISR() | タスクにNotifyを送る 値はインクリメントする |
xTaskNotifyStateClear() | タスクのpending notificationをクリアする。 notification valueはクリアしない |
ulTaskNotifyTake() | タスクにNotifyを送る 値はデクリメントする |
xTaskNotifyWait() | タスクに指定tickcout後にNotifyを送る |
uxTaskPriorityGet() | タスクのプライオリティを取得する |
vTaskPrioritySet() | タスクのプライオリティを設定する |
vTaskResume() | タスクの状態をSuspendからReadyに復帰する |
xTaskResumeAll() | すべてのSuspendのタスクを Activeに復帰する |
xTaskResumeFromISR() | タスクの状態をSuspendからReadyに復帰する |
vTaskSetApplicationTaskTag() | タスクにタグを割り当てる |
vTaskSetThreadLocalStoragePointer() | タスクの Thread local storage のポインタを設定する |
vTaskSetTimeOutState() | タイムアウトの構造体を設定する |
vTaskStartScheduler() | スケジューラを開始する |
vTaskStepTick() | tiklessの場合にtickを進ませる。 |
vTaskSuspend() | タスクをsuspendする |
vTaskSuspendAll() | すべてのタスクをsuspendする |
taskYIELD() | タスクのコンテキストスイッチを強制する |
キュー
API | Comment |
---|---|
vQueueAddToRegistry() | キューに読みやすい名前を割り当てる |
xQueueAddToSet() | キューセットにキューまたはセマフォを追加する |
xQueueCreate() | キューを生成する |
xQueueCreateSet() | キューセットを生成する |
xQueueCreateStatic() | 静的なメモリを使ってキューを生成する |
vQueueDelete() | キューを削除する |
pcQueueGetName() | キューの名前を取得する |
xQueueIsQueueEmptyFromISR() | キューが空かどうか確認する |
xQueueIsQueueFullFromISR() | キューが満杯かどうか確認する |
uxQueueMessagesWaiting() | キューが保持しているアイテム数を取得する |
uxQueueMessagesWaitingFromISR() | キューが保持しているアイテム数を取得する |
xQueueOverwrite() | キューが満杯でも、値を詰め込み上書きする。 |
xQueueOverwriteFromISR() | キューが満杯でも、アイテムを詰め込み上書きする |
xQueuePeek() | キューからアイテムを取り出す、取り出したアイテムはキューにそのまま残す |
xQueuePeekFromISR() | キューからアイテムを取り出す、取り出したアイテムはキューにそのまま残す |
xQueueReceive() | キューからアイテムを取り出す、取り出したアイテムはキューから削除する |
xQueueReceiveFromISR() | キューからアイテムを取り出す、取り出したアイテムはキューから削除する |
xQueueRemoveFromSet() | キューセットからキューまたはセマフォを削除する |
xQueueReset() | キューを空の状態にリセットする |
xQueueSelectFromSet() | キューセットから利用可能なキューまたはセマフォをselectする |
xQueueSelectFromSetFromISR() | キューセットから利用可能なキューまたはセマフォをselectする |
xQueueSend() | キューの最後にアイテムを追加する。 |
xQueueSendToFront() | キューの先頭にアイテムを追加する。 |
xQueueSendToBack() | キューの最後にアイテムを追加する。 |
xQueueSendFromISR() | キューの最後にアイテムを追加する。 |
xQueueSendToFrontFromISR() | キューの先頭にアイテムを追加する。 |
xQueueSendToBackFromISR() | キューの最後にアイテムを追加する。 |
uxQueueSpacesAvailable() | キューの空きサイズを取得する |
セマフォ
API | Comment |
---|---|
vSemaphoreCreateBinary() | バイナリセマフォを生成する [非推奨] |
xSemaphoreCreateBinary() | バイナリセマフォを生成する |
xSemaphoreCreateBinaryStatic() | 静的なメモリを使ってバイナリセマフォを生成する |
xSemaphoreCreateCounting() | カウンティングセマフォを生成する |
xSemaphoreCreateCountingStatic() | 静的なメモリを使ってカウンティングセマフォを生成する |
xSemaphoreCreateMutex() | ミューテックスを生成する |
xSemaphoreCreateMutexStatic() | 静的なメモリを使ってミューテックスを生成する |
xSemaphoreCreateRecursiveMutex() | 再帰ミューテックスを生成する |
xSemaphoreCreateRecursiveMutexStatic() | 静的なメモリを使って再帰ミューテックスを生成する |
vSemaphoreDelete() | セマフォ、ミューテックスを削除する |
uxSemaphoreGetCount() | セマフォのカウント値を取得する |
xSemaphoreGetMutexHolder() | ミューテックスを保持するタスクのハンドルを取得する |
xSemaphoreGetMutexHolderFromISR() | ミューテックスを保持するタスクのハンドルを取得する |
xSemaphoreGive() | セマフォを解放する |
xSemaphoreGiveFromISR() | セマフォを解放する |
xSemaphoreGiveRecursive() | 再帰ミューテックスを解放する |
xSemaphoreTake() | セマフォを獲得する |
xSemaphoreTakeFromISR() | セマフォを獲得する |
xSemaphoreTakeRecursive() | ミューテックスを獲得する |
ソフトウェアタイマ
API | Comment |
---|---|
xTimerChangePeriod() | タイマの周期を設定する |
xTimerChangePeriodFromISR() | タイマの周期を設定する |
xTimerCreate() | タイマを生成する |
xTimerCreateStatic() | 静的なメモリを使ってタイマを生成する |
xTimerDelete() | タイマを削除する |
xTimerGetExpiryTime() | タイマがexpireする時刻 を取得する |
pcTimerGetName() | タイマの名前を取得する |
xTimerGetPeriod() | タイマの周期を取得する |
xTimerGetTimerDaemonTaskHandle() | タイマデーモンタスクのハンドルを取得する |
pvTimerGetTimerID() | タイマのIDを取得する |
xTimerIsTimerActive() | タイマを有効にする |
xTimerPendFunctionCall() | タイマのファンクションコールを設定 |
xTimerPendFunctionCallFromISR() | タイマのファンクションコールを設定 |
xTimerReset() | タイマをリスタートする |
xTimerResetFromISR() | タイマをリスタートする |
vTimerSetTimerID() | タイマのIDを設定する 複数のタイマで同じコールバック関数を呼ぶ場合に使う |
xTimerStart() | タイマをスタートする |
xTimerStartFromISR() | タイマをスタートする |
xTimerStop() | タイマをストップする |
xTimerStopFromISR() | タイマをストップする |
event group
API | Comment |
---|---|
xEventGroupClearBits() | イベントグループのbitsをクリアする |
xEventGroupClearBitsFromISR() | イベントグループのbitsをクリアする |
xEventGroupCreate() | イベントグループを生成する |
xEventGroupCreateStatic() | 静的なメモリを使ってイベントグループを生成する |
vEventGroupDelete() | イベントグループを削除する |
xEventGroupGetBits() | イベントグループの値を取得する |
xEventGroupGetBitsFromISR() | イベントグループの値を取得する |
xEventGroupSetBits() | イベントグループの値を設定する |
xEventGroupSetBitsFromISR() | イベントグループの値を設定する |
xEventGroupSync() | ある値になるまでかタイムアウトを待って、イベントグループに値を設定する。 |
xEventGroupWaitBits() | イベントグループがある値になるかタイムアウトまで待つ |
Stream Buffer
API | Comment |
---|---|
xStreamBufferCreate() | ストリームバッファを生成する |
xStreamBufferCreateStatic() | 静的メモリを使ってストリームバッファを生成する |
xStreamBufferSend() | ストリームバッファにデータを書き込む |
xStreamBufferSendFromISR() | ストリームバッファにデータを書き込む |
xStreamBufferReceive() | ストリームバッファからデータを読み込む |
xStreamBufferReceiveFromISR() | ストリームバッファからデータを読み込む |
vStreamBufferDelete() | ストリームバッファを削除する |
xStreamBufferIsFull() | ストリームバッファが満杯かどうか確認する |
xStreamBufferIsEmpty() | ストリームバッファが空かどうか確認する |
xStreamBufferReset() | ストリームバッファを空にリセットする |
xStreamBufferSpacesAvailable() | ストリームバッファの空きサイズを取得する |
xStreamBufferBytesAvailable() | ストリームバッファが保持しているデータサイズを取得する |
xStreamBufferSetTriggerLevel() | ストリームバッファのトリガレベルを設定する |
Message Buffer
API | Comment |
---|---|
xMessageBufferCreate() | メッセージバッファを生成する |
xMessageBufferCreateStatic() | 静的メモリを使ってッセージバッファを生成する |
xMessageBufferSend() | メッセージバッファにデータを書き込む |
xMessageBufferSendFromISR() | メッセージバッファにデータを書き込む |
xMessageBufferReceive() | メッセージバッファからデータを読み込む |
xMessageBufferReceiveFromISR() | メッセージバッファからデータを読み込む |
vMessageBufferDelete() | メッセージバッファを削除する |
xMessageBufferIsFull() | メッセージバッファが満杯かどうか確認する |
xMessageBufferIsEmpty() | メッセージバッファが空かどうか確認する |
xMessageBufferReset() | メッセージバッファを空にリセットする |
xMessageBufferSpaceAvailable() | メッセージバッファの空きサイズを取得する |
AWS
aws_crypto
API | Comment |
---|---|
CRYPTO_ConfigureHeap() | 暗号処理用のHeapを確保する |
CRYPTO_SignatureVerificationStart() | 署名の検証を開始する |
CRYPTO_SignatureVerificationUpdate() | 署名の追加データを検証する |
CRYPTO_SignatureVerificationFinal() | 署名の検証を終了する |
aws_greengrass_discovery
API | Comment |
---|---|
GGD_GetGGCIPandCertificate() | green grass に接続する |
GGD_JSONRequestStart() | クラウドからJSONファイルの取得を開始する |
GGD_JSONRequestGetSize() | クラウドからJSONファイルのサイズを取得する |
GGD_JSONRequestGetFile() | クラウドからJSONファイルを取得する |
GGD_JSONRequestAbort() | クラウドからJSONファイルの取得を中止する |
GGD_GetIPandCertificateFromJSON() | JSONファイルからホストIPと証明書を取得する |
aws_mqtt_lib
API | Comment |
---|---|
MQTT_Init() | MQTTを初期化する |
MQTT_Connect() | MQTT Connectを送信する |
MQTT_Disconnect() | MQTT Disonnectを送信する |
MQTT_Subscribe() | MQTT Subscribeを送信する |
MQTT_Unsubscribe() | MQTT Unsubscribeを送信する |
MQTT_Publish() | MQTT Publishを送信する |
MQTT_ParseReceivedData() | 受信したMQTT メッセージを復号する |
MQTT_ReturnBuffer() | コールバックで提供されたバッファを解放する |
MQTT_Periodic() | タイムアウトとキープアライブを管理する |
aws_secure_socket
API | Comment |
---|---|
lib_initDECLARE_LIB_INIT() | Secure Socketsライブラリを初期化する |
SOCKETS_Socket() | TCPソケットを生成する |
SOCKETS_Connect() | ソケットを指定したIPアドレスとポートに接続する |
SOCKETS_Recv() | TCPソケットからデータを受信する |
SOCKETS_Send() | リモートソケットにデータを送信する |
SOCKETS_Shutdown() | ソケットの全二重通信を閉じる |
SOCKETS_Close() | ソケットを解放する |
SOCKETS_SetSockOpt() | ソケットオプションを設定する |
SOCKETS_GetHostByName() | DNSを使ってホスト名を解決する |
aws_shadow
API | Comment |
---|---|
SHADOW_ClientCreate() | Shadowクライアントを生成する |
SHADOW_ClientConnect() | Shadowサービスに接続する |
SHADOW_ClientDisconnect() | Shadowサービスから切断する |
SHADOW_ClientDelete() | Shadowクライアントを削除する |
SHADOW_Update() | Thing Shadowをアップデートする |
SHADOW_Get() | クラウドからThing Shadowを取得する |
SHADOW_Delete() | クラウドのThing Shadowを削除する |
SHADOW_RegisterCallbacks() | コールバック関数の登録 |
SHADOW_ReturnMQTTBuffer() | MQTT Bufferを返却する |
aws_system_init
API | Comment |
---|---|
SYSTEM_Init() | システムを初期化する |
aws_tls
API | Comment |
---|---|
TLS_Init() | TLSを初期化する |
TLS_Connect() | TLSで接続する |
TLS_Recv() | TLSで受信する |
TLS_Send() | TLSで送信する |
TLS_Cleanup() | TLSを削除する |
aws_wifi
API | Comment |
---|---|
WIFI_On() | Wi-FiをONにする |
WIFI_Off() | Wi-FiをOffにする |
WIFI_ConnectAP() | APに接続する |
WIFI_Disconnect() | AP接続を切断する |
WIFI_Reset() | Wi-Fiモジュールをリセットする |
WIFI_SetMode() | Wi-Fiのモードを設定する |
WIFI_GetMode() | Wi-Fiのモードを設定する |
WIFI_NetworkAdd () | ネットワークの設定を追加する |
WIFI_NetworkGet() | ネットワークの設定を取得する |
WIFI_NetworkDelete() | ネットワークの設定を削除する |
WIFI_Ping() | pingを行う |
WIFI_GetIP () | Wi-FiのIPアドレスを取得する |
WIFI_GetMAC() | Wi-FiのMACアドレスを取得する |
WIFI_GetHostIP() | 指定したホストのIPアドレスを取得する |
WIFI_Scan() | Wi-Fiをscanする |
WIFI_StartAP() | APをスタートする |
WIFI_StopAP() | APをストップする |
WIFI_ConfigureAP () | APの設定をする |
WIFI_SetPMMode() | 省電力モードの設定をする |
WIFI_GetPMMode() | 省電力モードの設定を取得する |