TOPPERS BASE
PLATFORMは、組込み教育用にTOPPERSプロジェクト教育ワーキングループが開発した組込みソフトウェアプラットフォームです。実装にあたっては、μITRON4.0仕様研究会のデバイスドライバ設計ガイドラインを参考に実装しました。プラットフォームとして、STマイクロエレクトロニクス社のSTM32マイクロコントローラとRISC-Vをターゲットに作成したTOPPERS BASE PLATFORM(ST/RV/RP)と、上級のハードウェアをターゲットとしたIntel社のCyclone V SoCをターゲットとしたTOPPERS
BASE PLATFORM(CV/RP)があります。
① 概要
STマイクロエレクトロニクス社の以下のボード上にGCC対応のTOPPERS/ASP Release 1.9.3カーネルを実装し、その上位にデバイスドライバを実装し、プラットフォームを構築しました。
プロセッサ(型番) | 対応ボード名 |
---|---|
ARM Cortex-M7 | STM32F7 Discovery(STマイクロエレクトロニクス社) |
ARM Cortex-M7 | STM32F769 Discovery kit(STマイクロエレクトロニクス社) |
ARM Cortex-M7 | STM32F723 Discovery kit(STマイクロエレクトロニクス社) |
ARM Cortex-M7 | STM32F746 Nucleo-144(STマイクロエレクトロニクス社) |
ARM Cortex-M7 | STM32F767 Nucleo-144(STマイクロエレクトロニクス社) |
ARM Cortex-M7 | STM32H743 Nucleo-144(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32F407 Discovery(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32F401 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32F446 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32F446 Nucleo-144(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32L476 Discovery(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32L476 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32L4R5 Nucleo-144(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32G431 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32G474 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M4/M0 | STM32WB55 Nucleo(STマイクロエレクトロニクス社) |
ARM Cortex-M4/M0 | STM32WB15 Nucleo(STマイクロエレクトロニクス社) |
ARM Cortex-M4 | STM32MP157C-DK2(STマイクロエレクトロニクス社) |
ARM Cortex-M0 | STM32F091 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M0+ | STM32L073 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M0+ | STM32G071 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M0+ | STM32G0B1 Nucleo-64(STマイクロエレクトロニクス社) |
ARM Cortex-M0+ | STM32L0 LoRa Discovery Kit(STマイクロエレクトロニクス社) |
Raspberry Pi Ltd及びNXT社の以下のボード上にGCC対応のTOPPERS/ASP Release 1.9.3カーネルを実装し、その上位にデバイスドライバを実装し、プラットフォームを構築した。
プロセッサ(型番) | 対応ボード名 |
---|---|
ARM Cortex-M0+ | OML13058(NXT社) |
ARM Cortex-M0+ | Raspberry Pi Pico W(Raspberry Pi Ltd) |
RISC-V用としてSiFive社HiFive1ボード、SiPEED社MaixシリーズのK210上とLongan-nanoボード及びEfinity社T120BGA324ボードにTOPPERS/ASP Release 1.9.3カーネルを実装し、その上位にデバイスドライバを実装し、プラットフォームを構築した。
プロセッサ(型番) | 対応ボード名 |
---|---|
FE310-G000 | HiFive1REV-A/REV-B(SiFive社) |
K210 | Maixシリーズ(SiPEED社) |
GD32VF103 | Longan-nano(SiPEED社) |
Sapphire SoC | T120BGA324(Efinity社) |
② ブロック図
BASE PLATFORM(ST) | STM32F4/F0xx STM32L4/L0xx |
STM32F7xx | Detail | 対象の講座 | |
---|---|---|---|---|---|
Device Driver (pdic) |
Basic Driver |
gpio | gpio | 新基礎2 | |
dma | dma | ||||
(timer) | (timer) | ||||
uart | uart | ||||
Standard Driver |
i2c | i2c | CLCD/senser/eeprom | 新基礎3 (Reference Manual) |
|
spi | spi | GLCD/SD card | |||
adc | adc | Joy stick | |||
(qspi) | qspi | FLASH | |||
rtc | rtc | Clock機能 | |||
usb OTG | usbo | MSC/HID | |||
M7 Depend Driver |
ltdc/dsi | GLCD | 新基礎3 Reference System (Application Manual Reference Manual) |
||
tp | |||||
sdmmc | SD card | ||||
audio/dfsdm | |||||
emac | 優先LAN | ||||
wifi | 無線LAN | ||||
gpic | high driver | Shield依存 | |||
api middleware |
File System | fatfs | fatfs | FAT | |
file library | file library | C language file | |||
stdio | stdio | stdio | |||
Graphic UI | ui | ui | 文字グラフィック描画 | ||
(Open source) library |
USB | usb meddle | USB host/dev | ||
libjpeg(*1) | JPEG | ||||
libmad(*1) | MP3 | ||||
LAN | lwip(*2) | TCP/IP |
① 概要
Intel社のCyclone V SoCを使用した以下のボード上にGCC対応のTOPPERS/FMP Release 1.4.0カーネルを実装し、その上位にデバイスドライバを実装し、プラットフォームを構築しました。
プロセッサ(型番) | 対応ボード名 |
---|---|
ARM Cortex-A9 | DE10-Nano(TerasiC社) |
ARM Cortex-A9 | DE0-Nano-SoC(TerasiC社) |
ARM Cortex-A9 | DK-DEV-5CSXC6Nボードキット(Intel社) |
Raspberry Pi LtdのRaspberry Pico W + TEB003ボード上にGCC対応のTOPPERS/FMP Release 1.4.0カーネルを実装し、その上位にデバイスドライバを実装し、プラットフォームを構築した。
プロセッサ(型番) | 対応ボード名 |
---|---|
ARM Cortex-M0+ | Raspberry Pico W(Raspberry Pi Ltd) |
② ブロック図
Cyclone V SoC
BASE PLATFORM(CV) | ターゲットボード | Detail | 対象の講座 | |
---|---|---|---|---|
Device Driver | Basic Driver |
gpio | 上級1 (Reference Manual) |
|
dma | ||||
watch doc | ||||
(timer) | ||||
uart | ||||
Standard Driver |
i2c | CLCD/senser/eeprom | ||
spi | GLCD/SD card | |||
sdmmc | SD card | |||
qspi | ||||
usb OTG | MSC/HID | |||
emac | ethernet/PHY | |||
FPGA Driver (*1) |
pinmode | Arduino GPIO | 上級2 (Reference Manual) |
|
uart | Arduino UART | |||
spi | Arduino SPI | |||
wifi | ESP32 wifi | |||
gdic | high driver | デバイス結合 | ||
api middleware |
File System |
fatfs | FAT | 上級1,2 |
file library | C language file | |||
stdio | stdio | |||
Graphic UI | ui | 文字グラフィック表示 | ||
(Open source) library |
USB | USBミドルウェア | ||
lwIP (*2) | プロトコル・スタック |
Raspberry Pico W+TEB003ボード
BASE PLATFORM(CV) | ターゲットボード | Detail | 対象の講座 | |
---|---|---|---|---|
Device Driver | Basic Driver |
gpio | 新上級1、2 | |
dma | ||||
watch doc | ||||
rtc | ||||
(uart) | カーネル用を使用 | |||
Standard Driver |
i2c | CLCD/senser/eeprom | ||
spi | GLCD/SD card | |||
adc | SD card | |||
qspi | ||||
usb device/host | HID/MSC | |||
pio_spi | Cyw43 | |||
gdic | high driver | デバイス結合 | ||
api middleware |
File System |
fatfs | FAT | 新上級1,2 |
file library | C language file | |||
stdio | stdio | |||
Graphic UI | ui | 文字グラフィック表示 | ||
(Open source) library |
USB | USBミドルウェア | ||
lwIP (*1) | プロトコル・スタック |
RTOSとは非依存な形でミドルウェアを提供します。この2つのミドルウェアはTOPPERSカーネルでなくとも、I/F部(GDIC等)の修正により、他のプラットフォームに移植可能です。
① ファイルシステム・ファイルライブラリ
FatFsをコアとしてFATベースファイルシステムとSTDIOに対応したC言語ファイル関数群を提供します。
TOPPERS BASE PLATFORM(ST)は、SDカード(SDMMC,SPI)、USB-MSCに対応しています。
また、TOPPERS BASE PLATFORM(CV)は、SDカード(SDMMC)とUSB-MSCに対応しています。
② USBホスト・デバイス
USBホスト、デバイス用のミドルウェアを提供します。
USBホストでは、クラスとしてHID,HUB,MSC,PRT,CDC-SERIALのサンプルコードを用意しました。
また、USBデバイスでは、HIDとCDC-SERIALのサンプルコードを用意しました。
③ lwIP プロトコル・スタック
組込み用TCP/IPプロトコル・スタックをベースにEthernetとWiFiドライバに対応。
ターゲットとなる2つのプラットフォーム用ボードは共にArduinoコネクタを持ちます。
このコネクタにArduino用のシールドを装着することにより、種々のデバイスに対応することが可能となります。
TOPPERS BASE PLATFORMでは、GDICドライバ部の拡張によりこれらのデバイスに対応します。
2つのプラットフォームに対して、API等を記載したドキュメントを提供します。
また、2つのプラットフォームは共通の開発環境上で開発が可能です。
開発構築の説明として教育教材中の「TOPPERS実装セミナー(STM32F4-Disc/Nucleo:DE10-Nano版:基本)開発環境編」を参照してください。
インストール手順等は、「TOPPERS BASE PLATFORM対応版 基礎2セミナーコンテンツ」の1日目の4章
TOPPERS/ASPの導入以降、または、「基礎3セミナーコンテンツ」の1日目の2章 ASPプラットフォーム環境構築以降を参照してください。
TOPPERS BASE PLATFORM(ST)を使用した組込み実装教材は以下の通りです。
TOPPERS BASE PLAFORM(ST/RV/RP):担当TOPPERS教育WG | |||||
パッケージ | マニュアル | リリース日 | |||
---|---|---|---|---|---|
asp_baseplatformv1.4.4_051923.tar.gz | V1.4.4
Reference_manual(ST) V1.4.4 Reference_manual(RV) V1.4.4 Reference_manual(RP) |
2023-05-19 | |||
asp_baseplatformv1.4.3_042422.tar.gz | V1.4.3
Reference_manual(ST) V1.4.3 Reference_manual(RV) |
2022-04-24 | |||
asp_baseplatformv1.4.2_052421.tar.gz | V1.4.2
Reference_manual(ST) V1.4.2 Reference_manual(RV) |
2021-06-01 | |||
asp_baseplatformv1.4.1_051120.tar.gz | V1.4.1
Reference_manual(ST) V1.4.1 Reference_manual(RV) |
2020-05-11 | |||
asp_baseplatformv1.4.0_030819.tar.gz | V1.4.0 Reference_manual(ST) | 2019-03-08 | |||
asp_baseplatformv1.3.0_052018.tar.gz | V1.3.0 Reference_manual(ST) | 2018-06-04 |
TOPPERS BASE PLAFORM(CV/RP):担当TOPPERS教育WG | |||||
パッケージ | マニュアル | リリース日 | |||
---|---|---|---|---|---|
fmp_1.4.0_baseplatformv1.1.4_051923.tar.gz | V1.1.4 Reference_manual(CV) | 2023-05-19 | |||
fmp_1.4.0_baseplatformv1.1.3_042422.tar.gz | V1.1.3 Reference_manual(CV) | 2022-04-24 | |||
fmp_1.4.0_baseplatformv1.1.2_052421.tar.gz | V1.1.2 Reference_manual(CV) | 2021-05-24 | |||
fmp_1.4.0_baseplatformv1.1.1_041820.tar.gz | V1.1.1 Reference_manual(CV) | 2020-04-18 | |||
fmp_1.4.0_baseplatformv1.1.0_030419.tar.gz | V1.1.0 Reference_manual(CV) | 2019-03-04 | |||
fmp_1.4.0_baseplatformv1.0.0_052218.tar.gz | V1.0.0 Reference_manual(CV) | 2018-06-04 |
ROMモニタ:担当TOPPERS教育WG | |||||
パッケージ | リリース日 | ||||
---|---|---|---|---|---|
rommon-022123.tar.gz | 2023-02-21 | ||||
rommon-011222.tar.gz | 2022-01-12 | ||||
rommon-101520.tar.gz | 2020-10-15 | ||||
rommon-021320.tar.gz | 2020-02-13 | ||||
rommon-030619.tar.gz | 2019-03-06 | ||||
rommon-051918.tar.gz | 2018-06-04 |
BLE_REMOTE androidアプリ | |||||
パッケージ | リリース日 | ||||
---|---|---|---|---|---|
ble_remote-release.apk | 2021-04-14 | ||||
マニュアル | リリース日 | ||||
BLE_REMOTEデバイス仕様書101.pdf | 2021-06-14 |
RTOS隠蔽化パッケージ(ASP3/FreeRTOS) | |||||
パッケージ | リリース日 | ||||
---|---|---|---|---|---|
fmp_1.4.0_baseplatformv1.1.3_042422.tar.gz | 2022-04-24 | ||||
FreeRTOS_configurator_121422.tar.gz | 2022-12-14 | ||||
FreeRTOS_Configurator_042422.tar.gz | 2022-04-24 |
TOPPERS BASE PLAFORM(ST)用GDICパッケージ:担当TOPPERS教育WG | |||||
シールド名 | パッケージ | リリース日 | |||
---|---|---|---|---|---|
STマイクロエレクトロニクス社X-NUCLEO-IDB05A1用 | asp_x-nucleo-idb05a1-1.3.0.tar.gz | 2018-04-13 | |||
STマイクロエレクトロニクス社X-NUCLEO-IKS01A1用 | asp_x-nucleo-iks01a1-1.3.1.tar.gz | 2019-02-08 | |||
STマイクロエレクトロニクス社X-NUCLEO-IKS01A2用 | asp_x-nucleo-iks01a2-1.3.0.tar.gz | 2019-11-18 | |||
STマイクロエレクトロニクス社X-NUCLEO-IKS01A1用 | asp_x-nucleo-iks01a1-1.3.0.tar.gz | 2018-04-13 |
雑誌記事
Interface 2016年12月号
教育WGでは、TOPPERS BASE PLATFORMの拡張、GDICドライバの開発、IoTアプリの開発、ノウハウ共有のためのメンバーを募集しています。
教育WG:組込みプラットフォーム分科会に参加して頂く形となります。
TOPPERSプロジェクト会員ならば、どなたでも参加可能です。
TOPPERS BASE PLATFORMは、TOPPERSプロジェクト教育WGにて開発を行いました。