刘翠翠 发表于 2012-12-25 11:17:41

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
*********************************************************************************************************/

syp910 发表于 2013-12-12 15:50:38

遇到同样的问题
页: [1]
查看完整版本: LM3S1635内部Flash写 报错