﻿-- 情報 ----------------------------------------------------------------
ファイル名：        Interval_Timer_Core.qar
ファイル名：        alarm.c
ファイル名：        SysclkTimer.c
ファイル名：        TimestampTimer.c
ファイル名：        WDT.c

作成日：            2022/05/16

確認バージョン：    Quartus Prime Version 20.1.1 Build 720 11/11/2020 SJ Standard Edition
                    Nios II EDS, Version: 20.1std, Build: 720

ｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰｰ---------------------------------

〇本資料について
	株式会社マクニカ アルティマカンパニーの技術コンテンツ
	「Embedded Peripherals IP - Interval Timer Core サンプル」の補足資料です。
	本資料では、サンプル・デザインの動作確認までの手順を簡単にまとめておりますので、技術コンテンツと合わせてご確認ください。
	また、こちらの手順は、Quartus Prime , Nios II SBT for Eclipse の環境構築が完了している前提で記載しております。

〇サンプルに含まれるファイルについて
	Quartus Prime プロジェクトのアーカイブ（Interval_Timer_Core.qar）と、
	4種類のサンプルソフトウェア（Nios II アプリケーション）のソースコード（*.c）が含まれます。

	使い方は以下の<手順>を参照してください。
	Quartus Prime プロジェクトは4種類のサンプルソフトウェア共通で使用します。(手順１～３)
	確認するサンプルソフトウェア毎に Nios II プロジェクトを作成してください。（手順４～９）


<手順>
１.Quarts Prime の Top メニューより File > Open にて、Interval_Timer_Core.qarを選択して下さい。
　 選択時にフォルダ名を入力する Window が表示されるので、任意のフォルダを指定してください。
　
２.Quartus Prime の Window 左側 Project Navigator にプロジェクトが表示されます。
　 使用デバイスが 5CGXFC5C6F27C7 の場合、そのままフルコンパイルしていただいて問題ないです。
　 (使用デバイスが上記以外の場合は、登録デバイス、Pin assign 、デバイスによっては Platform Designer にて RAM の容量の変更が必要となります。)
　
３.コンパイル完了後 SOF が生成されるので、作成した SOF を Programmer にて FPGA に書き込んでください。
　 こちらで、Quartus Prime での作業は終了です。（使用デバイスが違う場合は Platform Designer で、新たに sopcinfo ファイルを作成いただく必要があります。）
　
４.Nios II SBT を起動します。起動時に Workspace を選択します。
　 Quartus Prime プロジェクト直下に "software" フォルダを作成しておき、こちらを Workspace に選択いただくとプロジェクトの管理がしやすくなります。
　
５.Nios II のプロジェクトを作成します。Nios II SBT の Top メニューより > File > New > Nios II Application and BSP from Template を選択します。
　 Window が表示されるので、下記設定を行って Finish を押してください。こちらをソフトウェアファイル分 ( 4回 ) 繰り返します。
　 ・SOPC Information File name：Interval_Timer.sopcinfo を選択。
　 ・Project name : 任意の名前を入力（ソフトウェアファイル毎にプロジェクト作成が必要のため、ファイル名に近い名前を推奨します。）
　 ・Template：Blank Projectを選択。

６.プロジェクトにソフトウェアを登録します。Application プロジェクトと BSP プロジェクトが作成されていますので、
　 各 Application プロジェクトに対応したソフトウェアをドラッグ & ドロップしてください。
　 Window が表示されますので、Copy files を有効にし、OK を押下します。

７.ソフトウェアファイルが、Application プロジェクトに登録されていることが確認できましたら、
　 それぞれの BSP プロジェクトに対し、右クリック > BSP Editor を選択。
　 Window が出るので下記設定を行ってください。
　 〇共通設定
　 ・Main タブ > Setting > Common > hal > enable small c library 有効
　 ・Main タブ > Setting > Advanced > linker > enable alt load copy rwdata 無効
　 ・Main タブ > Setting > Advanced > linker > enable alt load  無効
　
　 〇各プロジェクトごとの設定。
    ・alarm.c 、SysclkTimer.c 、WDT.c 登録プロジェクト
        ・Main タブ > Setting > Common > hal > sys_clk_timer = Alarm
        ・Main タブ > Setting > Common > hal > timestamp_timer = none
    ・TimestampTimer.c 登録プロジェクト
        ・Main タブ > Setting > Common > hal > sys_clk_timer = none
        ・Main タブ > Setting > Common > hal > timestamp_timer = TimeST

８.プロジェクトを Build します。すべてのプロジェクトを選択していただき、
　 右クリック > Build Project を実行してください。
　
９.Build が完了しましたら FPGA と PC が接続されているのを確認し、実行したいプロジェクトに対し
　 右クリック > Run As > 3.Nios II Hardware を選択。
　 問題なく動作しましたら、Nios II Console に結果が出力されます。

以上。