发表于:2004-10-11 11:00:00
1楼
寫入 DATA 到 FLASH 是以 byte 為單位。
如果要一次寫入較多 bytes,那就是自行寫一個副程式,把你所需要寫入的資料定義成一個 struct,在這個副程式裡頭把整個 struct 的內容逐一寫入 flash 裡頭。這樣會比較方便使用。
struct A {
...
};
void WriteData(unsigned segment,unsigned offset,struct A *data)
{ int i;
unsigned char *wdata=(unsigned char *)data;
for(i=0;i<sizeof(struct A);i++){
FlashWrite(segment,offset+i,*wdata++);
}
}
注意事項:寫入的 flash 位址,需要先 erase 才不會寫入錯誤。
FLASH 寫入有次數限制,需考慮系統寫入的頻率以及系統的使用壽命。