zSoft 概要

English


zSoft は ZPU プロセッサー向けに開発されたすべてのアプリケーションとオペレーティングシステムの総称です。もともと Z は ZPU を意味していましたが、追加の CPU アーキテクチャが含まれるようになり、現在はギリシャ語アルファベットの 6 番目の文字であるゼータ(Zeta)を意味します。

tranZPUterSW プロジェクトは、ソフトウェア開発によって tranZPUter 設計をより迅速に進めるための派生として誕生しました。NXP K64F プロセッサー(ARM Cortex-M4 派生品)の形で実現されました。この CPU を追加するには、2 つ(まもなく NIOS II を含む 3 つ)の異なる処理アーキテクチャに対応するためにソースコードにかなりの変更が必要でしたが、z-soft ソフトウェアをサードパーティがより使いやすくしています。特に、入手可能な ARM 開発ボードが豊富にあることを考えると、独自のプロジェクトに活用しやすくなっています。


zSoft コレクションには現在以下が含まれています:

zOS


zOS は ZPU 設計の進化に伴うテストを支援するアプリケーションとして始まり、当初は ZPUTA(ZPU Testing Application)という名前でした。作業していたいくつかの FPGA 開発ボードはメモリ(BRAM)が限られており、利用可能なメモリに合わせてサイズを設定できるようアプリケーションを設定可能にする必要がありました。ハードウェア SoC に SD カードが追加されると、アプリケーションはより本格的なオペレーティングシステムへと発展し、アプリケーションをビルドに含めるのではなくディスクに保存するようになりました。そこで zOS のアイデアが生まれました。ZPUTA を基に、不要なテストコードを取り除き、tranZPUter、tranZPUterSW、ZPU、Sharp MZ エミュレータープロジェクトの中核として使用する OS を作成するというものです。

現在、欠けているスケジューリングなどの機能を提供するために RTOS を統合することを検討していますが、特に ZPU GCC コンパイラーのプロジェクトへの制約(C++98/C99 仕様)を考えると、それは別の機会のことになります。

ZPUTA


ZPUTA は OS へと進化し、zOS を形成するために分割された元々のテストアプリケーションです。元来の目的であるテスト機能の提供は引き続き継続され、zOS では利用できない機能を提供します。また、アプリケーションアプレット機能のほとんどを組み込んだ単一プログラムとしてビルドする機能もあり、SD カードがない環境でも有用です。zOS は時間とともに自分のプロジェクト向けに洗練された OS となり、ZPUTA は CPU/ハードウェアテスト用として継続されます。

IOCP

ZPUTA 以前に、IOCP(I/O Control Program)というブートストラッププログラムを作成しました。最低レベルのハードウェアで動作し、ZPUTA などの高度なプログラムをブートできます。IOCP はサイズに敏感で、あらゆるメモリデバイスからブートストラップできるよう設計されています。SD カードと Petit FatFS を含めることで、SD カードからブートストラップできます。IOCP はもともと ZPUTA をブートストラップするために使用され、変更を加えた際に ZPUTA カーネルを SD カードにコピーするだけで開発速度が向上しましたが、最終的には低レベルコードを ZPUTA に組み込み、IOCP を必要とせずにプライマリソフトウェアとして起動できるようになりました。IOCP は ZPUTA や zOS レベルの洗練度を必要としない任意のアプリケーションをブートするためにプロジェクト内に残されています。


左側のナビゲーションバーで選択できる以降のセクションでは、zOS、ZPUTA、IOCP、およびすべてのアプリケーションアプレットの現在の進化状態について説明します。