コンパイル方法
使用している C コンパイラは Raisonance 社製のもので、ST Toolset の ST Visual Develop (STVD) 環境からの実行を想定しています。 Ride7 環境や、Cosmic 社製のコンパイラには対応していません。
ZIP フォーマットで圧縮してあるアーカイブファイルを解凍すると、「stm8sdp」フォルダが作られます。
\stm8sdp | +-- readme.txt | +-- index.htm | +-- \src : ソースファイルフォルダ | | | +-- *.asm : アセンブラ・ソースファイル | | | +-- *.c : C ソースファイル | | | +-- *.h : C ヘッダファイル | | | +-- \pff : 「ぷち FatFS」由来のソースファイル・フォルダ | | | +-- 00readme.txt : 「ぷち FatFS」の readme ファイル | | | +-- *.c : C ソースファイル | | | +-- *.h : C ヘッダファイル | +-- \prj : プロジェクトファイルフォルダ | | | +-- \Cosmic : Cosmic コンパイラ用 (空) | | | +-- \Raisonance : Raisonance コンパイラ用 | | | +-- stm8sdp.stw : ワークスペースファイル | | | +-- stm8sdp.stp : プロジェクトファイル | | | +-- stm8sdp.* : その他のファイル | | | +-- \Debug : オブジェクトフォルダ (Debug config 用) | | | +-- *.o : オブジェクトファイル | | | +-- stm8sdp.elf : elf オブジェクトファイル | | | +-- STM8SDP.HEX : HEX ファイル | | | +-- STM8SDP.* : その他のファイル | +-- \html : html ドキュメントフォルダ | | | +-- *.htm : html ファイル | +-- \img : 画像ファイルフォルダ | | | +-- *.jpg : JPEG ファイル | | | +-- *.pdf : PDF ファイル | +-- \css : スタイルシートファイルフォルダ | +-- *.css : CSS ファイル
SD/MMC カードのアクセスに ChaN さんの「ぷち FatFS」および AVR 用のサンプル・プロジェクト「pfsample」を利用しており、 改変したソースファイルを src フォルダの下の pff フォルダに入れてあります。
ライセンス条件などが記載されたオリジナルの「00readme.txt」ファイルも同じフォルダに入れてあります。
コンパイルは、まず、STVD を立ち上げ、
メニューバー / File / Open Workspace...
<解凍したフォルダ>\stm8sdp\prj\Raisonance\stm8sdp.stw
あるいは、「stm8sdp.stw」を「STVD」に「ドラッグ・アンド・ドロップ」しても OK です。
ワークスペースおよびプロジェクトが読み込まれれば、
メニューバー / Build / Rebuild All
コンパイルがエラーになる場合は、ツールチェインのパスの設定が正しいかどうか確認してみて下さい。 具体的には、
メニューバー / Project / Settings...
また、STmicro のファームウェア・ライブラリのインクルード・ファイルだけを利用しているので、インクルード・パスの設定を確かめ、必要なら追加してください。
ファームウェア・ライブラリは「UM0834.zip」を STmicro の Web サイトからダウンロードし、解凍すれば、中に含まれています。
あるいは、Raisonance のコンパイラ・パッケージの中にも、少し古いバージョンのファイルが含まれています。
デフォルトでは、
C:\Program Files\Raisonance\Ride\Examples\STM8\STM8SFWLib\library\inc
Raisonance の無償版コンパイラは、インストール直後の状態では、
- ひとつのソースファイルをコンパイルしてできるオブジェクト・サイズは 1 KB まで
- リンク後のオブジェクト・サイズは 4 KB まで
ライセンス認証を行うと、コードサイズ制限が 16 KB まで緩和されますが、 「stm8sdp」は「素」の 1 KB / 4 KB 制限のある状態でもコンパイルできます。
コードサイズは制限ぎりぎりで、何か機能を追加しようとすると 4 KB 制限に引っかかります。