LM3S1635内部Flash写 报错
LM3S1635片内Flash编程,执行到FlashFrogram函数的时候就报错,跳进starup.s文件中的FaultISR函数,不知道是什么原因,有大神能帮我解决么#include <lm3sxxx.h>
#include "uart_config.h"
#include "hw_memmap.h"
#include "hw_types.h"
#include "gpio.h"
#include "sysctl.h"
#include "systick.h"
#include "sysctl.h"
#include "gpio_test.h"
#defineEXE_CLK SYSCTL_XTAL_8MHZ // CCLK分频系数,最高为50MHz
#defineMY_SYSCLK (EXE_CLK-1)
#define K_SAVE_ADDRESS (1024*100)
/*********************************************************************************************************
** Function name:
**
** Descriptions: Main function of the project 工程的主函数
**
** Input parameters: None 无
** Returned value: None 无
**
** Used global variables: None 无
** Calling modules: FlashUsecSet, FlashErase, FlashProgram
**
**--------------------------------------------------------------------------------------------------------
*********************************************************************************************************/
int main(void)
{
unsigned int i = 0;
unsigned long Data = {0x12345678, 0xaa55aa55, 0x55aa55aa, 0xaabbccdd};
// floatFS_Data;
FlashUsecSet(7);
#if 1
if (FlashErase(K_SAVE_ADDRESS))
{
while(1); /*擦除Flash出错 */
}
#endif
#if 1
if (FlashProgram((unsigned long *)Data, (unsigned long)K_SAVE_ADDRESS, (unsigned long)4*4)) /*编程Flash出错 */
{
while(1) {
;
}
}
#endif
#if 0
if (FlashProgram((unsigned long *)KtcTable, (unsigned long)K_SAVE_ADDRESS, (unsigned long)(sizeof(KtcTable)))) /*编程Flash出错 */
{
while(1) ;
}
#endif
#if 0
for (i = 0; i < (sizeof(KtcTable)/sizeof(KtcTable)); i++)
{
FS_Data = HWREG((float *)(K_SAVE_ADDRESS+ i * 4));
if ( FS_Data != KtcTable)
{ /*比较写入Flash的数据是否正确 */
while(1) ;
}
}
#endif
}
/*********************************************************************************************************
END FILE
*********************************************************************************************************/
遇到同样的问题
页:
[1]