• 検索結果がありません。

シリアルフラッシュメモリ 29

ドキュメント内 Embedded Works (ページ 30-33)

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 または、エラーコード

ドキュメント内 Embedded Works (ページ 30-33)

関連したドキュメント