RTOSを使ってみる
マイコンの高機能化に伴い、マイコン上で動くオープンソースのRTOSがいくつか公開されています。
NUTTXとFreeRTOSを紹介します。
STM32でNUTTXを使ってみる
開発環境構築
STM32F4 DiscoveryへのFirmware書き込み
STM32F3 DiscoveryへのFirmware書き込み
STM32F103 NucleoへのFirmware書き込み
STM32F407 VGボードへのFirmware書き込み
STM32F103 BluePillへのFirmware書き込み
STM32F103 VEボードへのFirmware書き込み
NucleoのST- Linkを使った Firmware書 き込み
サンプルアプリケーションの追 加
新しいアプリケーションの追加
nuttxのAPI
Task Control Interfaces
Task Control Interfaces Part2
Task Scheduling Interfaces
Task Synchronization Interfaces
タスクの自動起動
RAMDISKの作成
psコマンド freeコマンド
USBコンソール
Counting Semaphore Interfaces
Named Message Queue Interfaces
SYSLOG Interfaces
RAMLOGの利用
Work Queue Interfaces
UART通信
オンボードLEDの利用
オンボード3軸アクセラ レータの利用
デバイスドライバーの実 装
NuttX Simulator
ESP8266でesp-open-rtosを使ってみる
環境構築
タスクのスケジューリング
タスク状態の監視
常駐タスクの一覧
vTaskDelayと vTaskDelayUntil
IdleHoolとTickHook
Queue機能
MessageBuffer機能
Task Notifications機能
Semaphore機能
Mutex機能
Queue Set機能
Event Groups機能
Software Timer機能
SoftAPモードとStationモード
APへの接続と接続結果の表示
TCP Client
TCP Server
TCP Client & Server
NTP Client(UDP Client)
UDP Broadcast Send & Receive
UDPのアドレス指定方法
UDP Server
MQTT Client(Paho MQTTライブラリ)
Telnet Server
Telnet Client
Socket-APIとRAW-API
GPIO入出力
i2c通信(BMP180)
i2c通信(BMP280)
1wire通信(DS18B20)
hd44780_lcd(16x02 LCD)
IO-Expander(PCF8574)
ssd1306(OLED)
PWM出力(サーボモータ)
アナログ入力(LM35DZ)
Non-volatile storage library
OTA Update over TFTP
SPIFFS
日本語フォントドライバー
SD/MMC Card
printfの拡張
全体的な印象
ESP8266_RTOS_SDKとの違い
ESP8266でESP8266_RTOS_SDK V3を使ってみる
環境構築
makeのオプション
Logging library
コンポーネントのバージョン
タスクのスケジューリング
常駐タスクの一覧
SoftAPモードとStationモード
APへの接続の監視
ネットワーク機能
IDF_PATH環境変数
全体的な印象
ESP32のESP-IDFを使ってみる
環境構築
条件付きコンパイルとコンパイルオプション
コンポーネントのバージョン
IDE Component Manager
Arduino Libraryの利用
ESP32-S2開発ボード
ESP32-C3開発ボード
ESP32-S3開発ボード
ESP32-H2開発ボード
ESP32-H4開発ボード
ESP32-C6開発ボード
ESP32-C2開発ボード
ESP32-C5開発ボード
ESP32-P4開発ボード
ESP32-C61開発ボード
SoftAPモードとStationモード
タスクのスケジューリング
タスクのスケジューリングルール
タスク状態の監視
タスク起動時のパラメータ
FreeRTOSの新機能 Ring Buffers
FreeRTOSの新機能 Hooks
FreeRTOSの新機能 StreamBuffer
FreeRTOSの新機能 MessageBuffer
xEventGroupとxQueueの性能
Logging機能
BSD Socket API
周辺機器ドライバー
赤外線送受信
PWM制御
ADC変換とDAC変換
i2cドライバー
Non-volatile storage library
File System
ファイルのアップロード
External SPI FLASH Memory
FTP Client/FTP Server
WiFi Manager
WiFi Power Save機能
MESH WiFi
Ethernet通信(EMAC)
Ethernet通信(SPI)
example_connect関数
sntpクライアント
https通信
httpサーバー
PING通信とIPアドレス構造体
esp32_nat_router
BluetoothとBLE
ESP32-CAM
コンソールコンポーネント
jsonライブラリ
JPEG Decorder
ROM Component
BASE64 Encode/Decode
XML Parser
高速GPIO
WatchDog Timer
CAN通信
sqlite3ライブラリ
UART通信
USB OTG
USB HOST
DeepSleep
SPI FLASH
PSRAM
OLED付きの開発ボード
M5Stick
ILI9341 SPI TFT
M5StickC/M5StickC-Plus
M5Stack
SPIのTFT
Logic Analyzer
ピッチ変換基盤
PlatformIOでESP8266を開発する
PlatformIOのインストール
Serial出力とビルド環境の判定
Built-in Variables
Arduino Libraryの利用
Dynamic variables
Library Manager
SPIFFS領域
動作環境のアップデート
PlatformIOでESP32を開発する
2つのFramework
PreBuildされた FreeRTOSライブラリ
コンポーネントのバージョン
Serialオブジェクト
loopTaskの罠
TCP Client & Server
NTP Client(UDP Client)
パフォーマンスモニター(UDP Client)
MQTTクライアント (AsyncMqttClient)
Libraryの追加
ESP-IDFとの比較