2019 年 11 月 20 日
NPO 法人 TOPPERS プロジェクト
http://www.toppers.jp/TOPPERS の組込みソフトウェアプラットフォームが64 ビット RISC-V に対応
TOPPERS プロジェクトでは、64 ビット RISC-V プロセッサを搭載した Sipeed 社のMaixduino ボードに、µITRON 系のリアルタイムカーネルである TOPPERS/ASP カーネル（Release 1.9.3）のポーティングを行い、この度、オープンソースソフトウェアとして一般公開することになりました。
TOPPERS プロジェクトでは、本年 5 月に、SiFive 社が開発した RISC-V/32 プロセッサを搭載した HiFive1 ボードに対応した TOPPERS/ASP カーネルの一般公開を行いましたが、今回、それを 64 ビット RISC-V プロセッサにも対応させました。
最近、オープンソースの CPU コアとして RISC-V に注目が集まり、組込みシステム用途でも採用したいという声が高まっています。Sipeed 社の Maix シリーズのボードは、Kendryte 社の SoC である K210 を搭載しています。K210 は、64 ビットの RISC-Vプロセッサ（RV64IMAFDC）を 2 個搭載し、FPU にも対応しています。今回の対応では、ASP カーネルの RISC-V 向けプロセッサ依存部を、RISC-V/32 と RISC-V/64 の両方に対応できるように設計しなおし、FPU の処理のプロセッサ依存部に集約しました。これにより、SoC に依存する部分の設定変更だけで、32 ビットと 64 ビットの切り換えや、FPU サポートの有無を切り換えができるようになりました。また、コンパイラを
GNU MCU Eclipse でオープンソース化されている GCC コンパイラに変更しました。
TOPPERS プロジェクトでは、TOPPERS/ASP カーネルを RISC-V プロセッサにポーティングするとともに、HiFive1 ボード（32 ビット RISC-V プロセッサを搭載した
FE3100-G000 チ ッ プ を 使 用 ） 上 で 組 込 み シ ス テ ム 開 発 が 可 能 な 環 境 と し て 、TOPPERS BASE PLATFORM（RV）を、本年 5 月から TOPPERS プロジェクト会員向けに配布しています。
HiFive1 向けの TOPPERS BASE PLATFORM（RV）V0.1.0 の構成は以下の通りです。
A pplication
TA S K M O N ITO RUIS P I-S D C A R D driver
G D IC D river

S TD IO

S tandard D river

TO P P ER S /A S P R elease1.9.3

B asic D river
H I-Five1

TO P P ER S B A S E
P LA TFO R M (R V )(1) Base driver
GPIO/WDOG/RTC(2) Standard driver
SPI/I2C（I2C はソフトウェアドライバで送信のみ可能）(3) GDIC
aqm1248_st7565

AQM1248 128x48 モノクロ LCD ドライバ

adafruit_st7735

Adafruit 1.8”カラーLCD ドライバ

adafruit_ILI9341

Adafruit 2.8”カラーLCD ドライバ

pi_driver

SPI-SD カードドライバ

aqm0804_st7032

AQM0804 キャラクタ LCD ドライバ

ble_shield2.1

Nordic nRF8001 BLE ドライバ

(4) ミドルウェア
snfont_disp（東雲フォントが使用可能な文字、グラフィックス UI）
Base driver と Standard driver は、FE3100-G000 が搭載している主な IP に対応しています。GDIC とミドルウェアは、STM32 マイクロコントローラ（ST マイクロエレクトロニクス社）向けの組込みソフトウェアプラットフォームである TOPPERS BASE
PLATFORM（ST）V1.4.0 のものと、ソースコードレベルでほぼ互換となっています。
現在、K210 向けの TOPPERS BASE PLATFORM（RV）の開発を進めています。
GPIO，DMAC，UART，RTC，SPI のデバイスドライバは開発済で、TOPPERS プロ
ジェクト会員向けに V0.1.1 として配布しています。デバイスドライバの構成は HiFive1向けと同様となります。課題として、Kendryte 社はペリフェラル IP についての詳細なドキュメントを公開しておらず、開発したデバイスドライバの品質面での評価ができない状態です。
TOPPERS プロジェクトでは、11 月 21 日に開催する ET カンファレンスのスペシャルセッションにて、今回の TOPPERS/ASP カーネルの実装内容を、アーキテクチャを中心に解説します。
また、TOPPERS BASE PLATFORM を用いた組込みシステム開発セミナーを毎年実施しており、そのコンテンツは、TOPPERS プロジェクトのウェブサイトより公開しています。公開用のソースには、セミナーでは扱っていない種々の Arduino シールドと結合したサンプルプログラムが含まれているため、目的にあった組込みシステム開発を始めることができます。

お問い合わせ先
本発表に関するお問い合わせは、以下にお願いします。
NPO 法人 TOPPERS プロジェクト〒103-0011 東京都中央区日本橋大伝馬町 6-7 住長第 2 ビル 3F
一般社団法人組込みシステム技術協会内
TEL&FAX: (03) 5643-5166
Email: secretariat@toppers.jp

TOPPERS プロジェクトについて
TOPPERS プロジェクトは、組込みシステム構築の基盤となる各種のソフトウェアを開発し、高品質なオープンソースソフトウェアとして普及させることで、組込みシステム技術と産業の振興を図ることを目的としたプロジェクトです。また、教育コースや教材の開発と、それを用いた教育の場を提供するなどの活動により、組込みシステム技術者の育成に貢献することも目的としています。
TOPPERS プロジェクトは、2003 年 9 月に設立した NPO 法人を中心に、名古屋大学教授の高田広章をリーダとして、産学官の団体と個人の連携により推進しています。
TOPPERS プロジェクトは、次の 4 つの狙いをもってプロジェクトを進めています。
・ 決定版の ITRON 仕様 OS を開発する
ITRON 仕様 OS の決定版を構築し、普及させる活動を進めてきました。現時点では、この活動はほぼ完了しています。
・ 次世代のリアルタイム OS 技術を開発する
組込みシステムの要求に合致し、ITRON 仕様の良さを継承した、次世代のリアルタイム OS 技術を開発します。オープンソースソフトウェアにすることで、産学官と個人の力を結集することが可能になります。組込みシステム分野において、Linux のように広く使われる OS に育てていきます。
・ 組込みシステム開発技術と開発支援ツールを開発する
高品質な組込みシステムを効率的に開発するための技術と開発支援ツールを開発します。
・ 組込みシステム技術者の育成に貢献する
オープンソースソフトウェアを用いた教育コースや教材の開発と、それを用いた教育の場を提供するなどの活動を通じて、組込みシステム技術者の育成に貢献します。
TOPPERS プロジェクトに関しての詳細は、TOPPERS プロジェクトのウェブサイト（http://www.toppers.jp/）をご参照いただけると幸いです。
※ “TOPPERS”および TOPPERS プロジェクトのロゴは、TOPPERS プロジェクトの登録商標です。
※ TRON は“The Real-time Operating system Nucleus”の略称、ITRON は“Industrial TRON”の略称、μITRON は“Micro Industrial TRON”の略称です。
※ 本文中の商品名およびサービス名は、各社の商標または登録商標です。