工具/软件:
您好:
使用以下代码上传闪存时遇到以下问题:
/* write up to 1024 bytes of data */
uint8_t PatternDataArray[1024];
/* Pattern File assumes to be in the \build\vs2017\dlpc347x folder */
s_FilePointer = fopen(arxiu, "rb");
if (!s_FilePointer)
{
//printf("Error opening the binary file!");
return;
}
fseek(s_FilePointer, 0, SEEK_END);
uint32_t PatternDataSize = ftell(s_FilePointer);
fseek(s_FilePointer, 0, SEEK_SET);
/* Select Flash Data Block and Erase the Block */
DLPC34XX_DUAL_WriteFlashDataTypeSelect(DLPC34XX_DUAL_FDTS_ENTIRE_SENS_PATTERN_DATA);
DLPC34XX_DUAL_WriteFlashErase();
/* Read Short Status to make sure Erase is completed */
DLPC34XX_DUAL_ShortStatus_s ShortStatus;
do
{
DLPC34XX_DUAL_ReadShortStatus(&ShortStatus);
} while (ShortStatus.FlashEraseComplete == DLPC34XX_DUAL_FE_NOT_COMPLETE);
DLPC34XX_DUAL_WriteFlashDataLength(1024);
fread(PatternDataArray, sizeof(PatternDataArray), 1, s_FilePointer);
DLPC34XX_DUAL_WriteFlashStart(1024, PatternDataArray);
int32_t BytesLeft = PatternDataSize - 1024;
do
{
fread(PatternDataArray, sizeof(PatternDataArray), 1, s_FilePointer);
DLPC34XX_DUAL_WriteFlashContinue(1024, PatternDataArray);
BytesLeft = BytesLeft - 1024;
} while (BytesLeft > 0);
fclose(s_FilePointer);
我进行下一个测试:
使用1024 字节块大小->正确
使用512 字节块大小->正确
使用256 字节块大小->正确
使用128 字节块大小-> Ko
使用260字节块大小-> Ko
我想用四倍的限制来确定块大小,但这不适用于260字节。 为了满足电子要求、我们需要一个小于32字节且可被4整除的数字。 我们是否需要考虑任何其他限制、以帮助我们决定此块大小?
可以帮帮我吗? 谢谢你。
此致。

