# CARD_ProgramFlash

## 構文

  `#include <nitro/card.h>`
  `BOOL CARD_ProgramFlash(u32 dst, const void *src, u32 len);`

## 引数

dst | 転送先の FLASH アドレス
src | 転送元のメモリアドレス
len | 書き込むデータのバイト長

## 返り値

処理が正しく成功すれば TRUE を、そうでないなら FALSE を返します。

## 説明

FLASH デバイスへデータを書き込みます。
この関数は処理が完了するまで制御を返しません。
処理が正しく成功すれば TRUE を、失敗した場合は FALSE を返します。
失敗時の詳細な結果値を取得するにはCARD_GetResultCode( )を呼び出してください。

この関数で指定する書き込み領域は、前もってCARD_EraseFlashSector( )で内容を消去しておく必要があります。 消去されていない領域に対する書き込みの結果は保証されません。
FLASHデバイスの種類によっては、この関数より制限の少ないCARD_WriteFlash( )が利用可能です。

この関数を使用する場合、事前にアクセスバスをCARD_LockBackup( )でロックしている必要があります。

この関数は内部でPXIを介してARM7プロセッサと通信しています。
PXIの割り込みが有効でないと処理が完了しない点に注意してください。

## 参照

`CARD_GetResultCode, CARD_IsBackupFlash, CARD_ProgramFlash, CARD_ProgramFlashAsync, CARD_ProgramAndVerifyFlash, CARD_ProgramAndVerifyFlashAsync, CARD_EraseFlashSector, CARD_EraseFlashSectorAsync, CARD_WriteFlashSector, CARD_WriteFlashSectorAsync, CARD_WriteAndVerifyFlashSector, CARD_WriteAndVerifyFlashSectorAsync, CARD_ReadFlash, CARD_WriteFlash, CARD_VerifyFlash`

## 履歴

2007/08/22 初版