iar 怎么将flash的固定地址用固定变量占住
2个回答
展开全部
可以!前提是写入的位置是空白没有代码的部分,调用库函数:
FLASH_Unlock(); //1、解锁Flash
FLASH_SetLatency(FLASH_Latency_2); //2、72MHz系统时钟下设置两个时钟延时
FLASH_ErasePage(addr); //3、擦除指定的页,addr是页的起始地址,一次擦除2KB
FLASH_ProgramHalfWord(WriteAddr,UsrCode) ; //4、指定地址写入数据,UsrCode是unsigned int类型,STM32的Flash是双字节(半字)写入。
FLASH_Lock(); //5、Flash上锁。
注意3、4步,这两个函数是有返回值,调用时候最好看返回值以确定操作是否成功,库函数在stm32f10x_flash.c中。
FLASH_Unlock(); //1、解锁Flash
FLASH_SetLatency(FLASH_Latency_2); //2、72MHz系统时钟下设置两个时钟延时
FLASH_ErasePage(addr); //3、擦除指定的页,addr是页的起始地址,一次擦除2KB
FLASH_ProgramHalfWord(WriteAddr,UsrCode) ; //4、指定地址写入数据,UsrCode是unsigned int类型,STM32的Flash是双字节(半字)写入。
FLASH_Lock(); //5、Flash上锁。
注意3、4步,这两个函数是有返回值,调用时候最好看返回值以确定操作是否成功,库函数在stm32f10x_flash.c中。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询