Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager
こんにちは。私はPSoC™ 4 ( CY8CKIT-041S-MAX PSoC™ 4100 MAX) に取り組んでいます。Poiling サンプル プロジェクトを使用してノンブロッキング フラッシュ書き込みをデバッグしようとしています。 このサンプルプロジェクトでは、256Uのメモリのみを書き込んでおり、256Uを超えるメモリを書き込みたいのですが、それができません

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Non-Blocking-Flash-Write-using-Polling/td-p/689027

0 件の賞賛
3 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは。

このPSoC™は、各 FLASH 行に 256 バイトがあります。 FLASH は一度に 1 行ずつ書き込まれます。 これが、「write」関数が 256 バイトに書き込まれる理由です。 データを 256 バイトのチャンクに分割し、write 関数を複数回呼び出す必要があります。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Non-Blocking-Flash-Write-using-Polling/m-p/689112

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager
はい、しかし、サンプルプロジェクトでは、私のフラッシュデータはLAST_FLASH_ROWから計算されます
つまり(1536-1)
今、私が書いているデータはアドレス0x5ff00にあります。 データを書きたいのではなく、
このアドレスから、これより小さいアドレスから書き込まなければなりません
0x5ff00

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Non-Blocking-Flash-Write-using-Polling/m-p/689240

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは。

私はMTBに精通しておらず、ノンブロッキングフラッシュライトのコード例を使用したことがありません。

githubでコード例を確認しました。
私の推測では、LAST_FLASH_ROWを1536-1未満のものとしてハードコードできます。 たとえば、1536-1-4 とします。 これにより、1024バイトの書き込み可能なFLASHスペースが提供されます。
#define LAST_FLASH_ROW (CY_FLASH_NUMBER_ROWS-5)

または、rownum を 1536-1-4 としてハードコーディングして、同じ結果を得ることもできます。 rownumが定義されている場所が見つかりませんでした(github)。 これは、MTB を使用したビルド プロセスの一部である可能性があります。

もしかしたら、MTBの知識が豊富な人が貢献できるかもしれません。

私の提案を試したら、結果をお知らせください。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/PSoC-4/Non-Blocking-Flash-Write-using-Polling/m-p/689850

0 件の賞賛