示例#1
0
void main(void)
{
  unsigned char rcv_data;
  unsigned long fadd;

  WDTCTL = WDTPW+WDTHOLD;                   // Stop watchdog timer

  P2SEL = 0;
  P2IFG = 0;
  
  init_spi();       // Initialize the flash memory
  Chip_Erase();     // Erase the chip
  
  rcv_data = Read_Status_Register();
  while(rcv_data & 0x9C)
  {
    WRSR(0x02);
  }
  
  fadd = 0x100;    // Start address: 256, end address: 65535
  rcv_data = 0;

  while(fadd < 0x010000 ) // end address: 65535
  { 
    Byte_Program(fadd, rcv_data); // Write
    rcv_data = Read(fadd); // Read
    rcv_data = rcv_data + 1;
    fadd = fadd + 1;
  }
}
示例#2
0
int main(void)
{
  /*!< At this stage the microcontroller clock setting is already configured, 
       this is done through SystemInit() function which is called from startup
       file (startup_stm32f2xx.s) before to branch to application main.
       To reconfigure the default setting of SystemInit() function, refer to
        system_stm32f2xx.c file
     */
	
	u8 ID[4];
	volatile u8 tmp,k;

	


    //SystemInit();
  	//SystemCoreClockUpdate();

	Open207_LEDInit();	
	USART_Configuration();
	USART_NVIC_Config();
	printf("\r\n SPI Rom Copy SPI1 to SPI2\r\n");

	SPIx_Init(1);
	SPIx_Init(2);
	Read_Status_Register(1);
	Read_Status_Register(2);

	


	SPIx_Read_ID(1,ID);
	printf("SPI1 Flash Rom ID is");
	printf(" 0x%x  0x%x \r\n",ID[0],ID[1]);

	SPIx_Read_ID(2,ID);
	printf("SPI2 Flash Rom ID is");
	printf(" 0x%x  0x%x \r\n",ID[0],ID[1]);




/*
	for (i=0 ; i<255; i++)
	{
		 tmp = read_buffer(2,i);
		 printf("intel[%3d] ::",tmp);
		 write_buffer(1,i,tmp);
		 tmp = read_buffer(1,i);
		 printf("[%3d] copy\r\n",tmp);


	}
*/


printf("========Flash Rom Copy========\r\n");
printf("[C]SPI CH Select (Default : 2)\r\n");
printf("[S]Read Status Register\r\n");
printf("[W]Write Protect Disable\r\n");
printf("[R]Read ID\r\n");
printf("[E]Eraser Flash Memory\r\n");
printf("[L]Read Address 0 to 99\r\n");
printf("[-]Copy Start SPI1 to SPI2 \r\n");
printf("[M]Compare Match SPI1 Vs SPI2\r\n");
printf("========Press Key========\r\n");




















	
	while (1)
	{

		GPIO_SetBits(Open207Z_LED_GPIO , Open207Z_GPIO_Pin_LED2);
		GPIO_SetBits(Open207Z_LED_GPIO , Open207Z_GPIO_Pin_LED3);
		GPIO_SetBits(Open207Z_LED_GPIO , Open207Z_GPIO_Pin_LED4);
		Delay(0x5fffff);

		GPIO_ResetBits(Open207Z_LED_GPIO , Open207Z_GPIO_Pin_LED2);
		GPIO_ResetBits(Open207Z_LED_GPIO , Open207Z_GPIO_Pin_LED3);
		GPIO_ResetBits(Open207Z_LED_GPIO , Open207Z_GPIO_Pin_LED4);
		Delay(0x5fffff);

		if (UART_DATA == COPY_START)
		{
			UART_DATA = 0;
			MemCopy();
		}

		else if (UART_DATA == DATA_All_VERIFY)
		{
			UART_DATA = 0;
			Compair_Match(START_ADDRESS,END_ADDRESS);
		}
	
	}

	
}