STM32F072C8 内部FLASH写数据,在IAR正常操作,KEIL就不行,当执行写操作时,直接跳到HardFault_Handler,在IAR里不做任何改变,一切正常,
有遇到这种情况的吗? 或者有我没想到提示一下
/******************************************************************
名 称:void Flash_WriteNByte( u32 Addr, u32 *pH, u16 Len )
功 能:写多字节数据
参 数:Addr 地址,必须是2K的倍数
pH 写入的数据指针
Len 写入的长度
******************************************************************/
void Flash_WriteNByte( u32 Addr, u32 *pH, u16 Len )
{
u8 i;
FLASH_Unlock();
FLASH_ClearFlag( FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPERR );
FLASHStatus = FLASH_ErasePage( Addr );
for( i=0; i<Len; i++ )
{
FLASHStatus = FLASH_ProgramWord( Addr + i*4 , pH[i] ); //
}
FLASH_Lock();
}
这是写操作, 执行这一句就会出错 FLASHStatus = FLASH_ProgramWord( Addr + i*4 , pH[i] ); 注意: 在IAR里一切正常 |