牛卧堂MCU技术交流
标题:
这里的程序是不是有点问题?
[打印本页]
作者:
与时俱进
时间:
2014-4-16 15:46
标题:
这里的程序是不是有点问题?
if ( len == FLASH_PAGE_SIZE && ((addr & (FLASH_PAGE_SIZE-1)) == 0) )
{
DrvFMC_Erase(addr);
while (len >= FLASH_PAGE_SIZE)
{
FMC_ProgramPage(addr, (uint32_t *) buffer);
len -= FLASH_PAGE_SIZE;
buffer += FLASH_PAGE_SIZE;
addr += FLASH_PAGE_SIZE;
}
}
--------------------
上面是BSP包里的一小段程序,if里面有( len == FLASH_PAGE_SIZE),说明请求的数据长度只要一个PAGE,不是多个PAGE,
所以只要运行一次 FMC_ProgramPage(addr, (uint32_t *) buffer);即可,没必要用到 while (len >= FLASH_PAGE_SIZE)。
我的理解对吗?
作者:
Angus
时间:
2015-5-11 11:13
本帖最后由 Angus 于 2015-5-11 11:15 编辑
你的理解是对的。
如果您能说明是哪一个芯片型号,软件包的版本号是多少,我们测试一下,就可以更详细的回答您的问题。
欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/)
Powered by Discuz! X3.2