小部屋の覚え書きRO

ど根性軟弱ネットゲーマーさーくすのブログ。本家の小部屋から日記をこちらにしました。
本家は主に電子工作ネタで更新中

[ucom]GR-SAKURAその5

2014-01-11 23:12:05 | 組み込み・マイコン

FlashAPIとVEEの実装に成功
IPアドレスなどの設定値を
データフラッシュに記憶出来るようになった。

FlashAPIについてはVEEが利用する構成になっているので
手直しは要らなかった。

VEEの方はいくつかハマリ所があったのでメモ
・ユーザーが利用する関数はOpenとWrite、Read、GetState、ReleaseState
・読み書き用の構造体を用意し、都度更新する
・Read後にはReleaseStateを実行
・Write後のREADY確認はコールバック関数と、GetStateの両方でやる

何かの役に立つかもしれない
GR-SAKURA用BSP(zip)

中身はplatform.cとplatform.hで
FlashAPIとVEEを利用するのに最低限なコードになってます。
あくまでもエラーをなくす為のコードなので、
実際に動作させるにはVEE関数を呼び出す必要があります。


[ucom]GR-SAKURAその4

2014-01-02 02:15:46 | 組み込み・マイコン

IPアドレスを記憶する為にRX63N内蔵の
データフラッシュROMを使ってみる。

ルネサスのサンプルに
・仮想EEPROM
・シンプルフラッシュAPI

というものがあるので、こちらをなんとか実装してみる。

仮想EEPROM(以下VEE)を使うのに
シンプルフラッシュAPI(以下FlashAPI)が必要らしい。
アプリケーションノートを読みつつ

FlashAPIを実装
・r_flash_api_rxディレクトリをプロジェクトにコピー
・src\f_flash_api_rx.cをプロジェクトに追加
・r_flash_api_rxディレクトリをインクルードパスに追加
・r_flash_api_rx\srcディレクトリをインクルードパスに追加
・refディレクトリからコンフィグレーションをコピー
・システムに応じてr_flash_api_rx_config.hを変更
・利用プログラムにr_flash_api_rx_if.hをインクルード

BSPが必要になる・・・
とりあえずplatform.hを自作
必要になるdefineを追加していく
APIのコールバック関数を追加、
ソースファイルをflash_api_cb.cとする
BSP定義の関数を2つ追加、ソースファイルをplatform.cとする

とりあえずエラーが消えたところで

VEEを実装
・r_veeディレクトリをプロジェクトにコピー
・r_vee.cをプロジェクトに追加
・targets\rx63x\r_vee_rx63x.cをプロジェクトに追加
・r_veeディレクトリをインクルードパスに追加
・r_vee\srcディレクトリをインクルードパスに追加
・refディレクトリからコンフィグレーションをコピー
・システムに応じてr_vee_config.hを変更
・利用プログラムにr_vee_if.hをインクルード

BSPに追加定義が必要、platform.hにdefine追加
BSP定義の関数を2つ追加
FlashAPIのコールバック関数が実装されているので、
先に用意した関数を削除
APIのコールバック関数を追加、ソースファイルをvee_api_cb.cとする

いずれ動作が確認出来たらGR-SAKURA用BSPを公開しよう。

今まではサンプルプロジェクトを改造してきたけど
いよいよ物を仕上げる為に
CubeSuite+の新規プロジェクトを作成してみる。

既存のソースを追加、各種設定も合わせ
コンパイル、ビルド実行してみると、正常に動作せずpingが通らない

2日間悩み続け、mapファイルに差異があることが判明
どうもROM-RAMセクションの設定が足りないようだ。

しかしCC-RXのプロパティで確認しても全く同じで違いが無い。
また悩み始めた時、ふとプロパティウィンドウの下を見ると
次のタブが並んでいる
「コンパイル・オプション」
「アセンブル・オプション」
「リンク・オプション」
「ヘキサ出力プション」
「ライブラリ・ジェネレート・オプション」
最初に表示されていたのは「共通オプション」で、これしか見ていなかった。

このうちリンクオプションにて
ROMからRAMへマップするセクション」という項目があり
ここの値がデフォルトではなく
D=R
D_1=R_1
D_2=R_2
となっていた。
この項目は共通オプションには無い。

この値を入力して再度実行してみると、正常に動作しpingが通るようになった。

参考資料
・RX600&RX200シリーズ RX用シンプルフラッシュAPI アプリケーションノート
・RX600&RX200シリーズ RX用仮想EEPROM アプリケーションノート

本家Project-X RX62NをCSS化

3000行の手直しは大変だった。。