1 概要
本製品は、XPort-03/04/05、xPico用シリアルフラッシュメモリに対応しています。
このデバイスは、ページ単位でアクセスを行います。
2 構成
2-1 ページ構成
ページ構成は、以下の通りです。
XPort-03/04/05
2-2 ページマップ
ページマップは、以下の通りです。
XPort-03
ページ 相対アドレス サイズ 内容
0001 - 0309 00000 - 13FAF 13FB0 システム領域(アクセス不可)
0310 - 1309 13FB0 - 546EF 40740 ファームウェア領域
1310 - 2047 546F0 - 84000 2F910 ユーザ領域(アプリケーションで書き込み可)
2048 - 2048 84000 - 840B7 000B7 システム領域(アクセス不可)
注意事項
ユーザ領域以外への書き込みなどを行った場合、以後起動しなくなる場合があります。
絶対にアクセスしないでください。
540591 bytes Page-1
(264 Bytes)
Page-2047 (264 Bytes) Page-2048 (183 Bytes) ページ構成
3 シリアルフラッシュメモリドライバ (~/drc/sys_sfm.c)
3-1 データの書き込み
[概要] シリアルフラッシュメモリへページ単位でデータを書き込みます。
[関数名] int sys_wri_sfm (int page, int start, unsigned char *p_data, int len)
[引数] int page ページ番号
int start 書き込み開始位置(0~264)
unsigned char *p_data データのアドレス
int len データ長(1~264)
[戻り値] 0 正常終了 -1 異常終了
[備考] シリアルフラッシュメモリには、書き込み回数に制限があります。
詳細につきましては、ハードウェア販売元にお問い合わせください。
マルチタスク環境では、マルチタスク対応ドライバを使用してください。
3-2 データの読み込み
[概要] シリアルフラッシュメモリからページ単位でデータを読み込みます。
[関数名] int sys_red_sfm (int page, int start, unsigned char *p_data, int len)
[引数] int page ページ番号
int start 読み込み開始位置(0~264)
unsigned char *p_data データのアドレス
int len データ長(1~264)
[戻り値] 0 正常終了 -1 異常終了
[備考] マルチタスク環境では、マルチタスク対応ドライバを使用してください。
4 マルチタスク対応シリアルフラッシュメモリドライバ (~/n_kernel/n_sfm.c)
4-1 初期化
[概要] 初期化を行います。
[関数名] ER n_def_sfm (void)
[引数] なし
[戻り値] E_OK または、エラーコード
[備考] この関数は、「~/n_kernel/n_cfg.h」にて、USE_SFMDRVを定義する と、カーネル起動時に呼び出されます。
この関数では、ミューテックスオブジェクトを1つ消費します。
4-2 データの書き込み
[概要] シリアルフラッシュメモリへデータを書き込みます。
[関数名] ER n_wri_sfm (UH page, UH offset, UB *p_dat, UH len)
[引数] UH page ページ番号
UH offset 書き込み開始位置(0~264)
UB *p_dat データのアドレス
UH len データ長(1~264)
[戻り値] E_OK または、エラーコード
4-3 データの読み込み
[概要] シリアルフラッシュメモリからデータを読み込みます。
[関数名] ER n_red_sfm (UH page, UH offset, UB *p_dat, UH len)
[引数] UH page ページ番号
UH start 読み込み開始位置(0~264)
UB *p_data データのアドレス
UH len データ長(1~264)
[戻り値] E_OK または、エラーコード