在线时间28 小时
UID321456
注册时间2015-1-25
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 267
- 最后登录
- 2016-8-24
|

楼主 |
发表于 2015-4-15 09:12:32
|
显示全部楼层
size_t flash_write(ADDRESS addr, unsigned char *dest, size_t wbytes)
{
FLASH_SSD_CONFIG cfg;
int ret;
size_t a = addr % 4, b = (addr + size) % 4;
unsigned char buf[0x400 + 4];
memcpy((unsigned char *)&cfg, (unsigned char *)&flashSSDConfig, sizeof(flashSSDConfig));
memset(&buf[0], 0xFF, sizeof(buf));
memcpy(&buf[0], (unsigned char *)(addr - a), a);
memcpy(&buf[a], &data[0], size);
memcpy(&buf[a + size], (unsigned char *)(addr + size), 4 - b);
return FlashProgram(&cfg, addr - a, size + a + 4 - b, &buf[0], FlashCommandSequence);
}
看我这个 测试了还不错。 |
|