SDK里面wm_flash_demo.c自带的flash程序,烧录芯片测试错误,读取有问题。
有遇到这个问题的小伙伴吗,怎么解决啊
下面是官方代码
int flash_demo(void)
{
u8 *write_buf = NULL;
u8 *read_buf = NULL;
u16 i;
tls_fls_init(); //initialize flash driver
write_buf = tls_mem_alloc(TEST_FLASH_BUF_SIZE);
if (NULL == write_buf)
{
printf("\nmalloc write buf error\n");
return WM_FAILED;
}
for (i = 0; i < TEST_FLASH_BUF_SIZE; i ++)
{
write_buf[i] = i + 1;
}
tls_fls_write(0x1F0303, write_buf, 1247); /**verifying cross sector writing*/
tls_fls_write(0x1F0303 + 1247, write_buf + 1247, 2571);
tls_fls_write(0x1F0303 + 1247 + 2571, write_buf + 1247 + 2571, 182);
read_buf = tls_mem_alloc(TEST_FLASH_BUF_SIZE);
if (NULL == read_buf)
{
printf("\nmalloc read buf error\n");
tls_mem_free(write_buf);
return WM_FAILED;
}
memset(read_buf, 0, TEST_FLASH_BUF_SIZE);
tls_fls_read(0x1F0303, read_buf, TEST_FLASH_BUF_SIZE);
if (0 == memcmp(write_buf, read_buf, TEST_FLASH_BUF_SIZE))
{
printf("\nsuccess\n");
}
else
{
printf("\nfail\n");
}
tls_mem_free(write_buf);
tls_mem_free(read_buf);
return WM_SUCCESS;
}