示例#1
0
/**
 * bus->driver->(*read_start)
 *
 */
static void
bf533_ezkit_bus_read_start( bus_t *bus, uint32_t adr )
{
	part_t *p = PART;
	chain_t *chain = CHAIN;

	select_flash( bus );
	part_set_signal( p, AOE, 1, 0 );
	part_set_signal( p, AWE, 1, 1 );

	setup_address( bus, adr );
	set_data_in( bus );

	chain_shift_data_registers( chain, 0 );
}
示例#2
0
//===========================================================================//
// чете Status Reg на Flash чипа
uint8_t AT45DB_ReadStatusReg( void ) 
{
//   char res;
//   set_spi(2, 0);
//   spi_io(0xFF); spi_io(0xFF);
//   select_flash();                            // CS > Low ( active )
//   spi_io(0x57);                              // 'read_status_reg' cmd
//   res = spi_io(0xFF);
//   deselect_flash();                          // CS > High ( inactive )
//   return res;
   
   uint8_t u8ResultL;
   
   select_flash();
   u8ResultL = SPI_TX( 0xd7 );
   u8ResultL = SPI_TX( 0x00 );
   deselect_flash();
   
   return u8ResultL;
}
示例#3
0
/**
 * bus->driver->(*write)
 *
 */
static void
bf533_ezkit_bus_write( bus_t *bus, uint32_t adr, uint32_t data )
{
	part_t *p = PART;
	chain_t *chain = CHAIN;

//	printf("Writing %04X to %08X...\n", data, adr);

	select_flash( bus );
	part_set_signal( p, AOE, 1, 1 );

	setup_address( bus, adr );
	setup_data( bus, data );

	chain_shift_data_registers( chain, 0 );

	part_set_signal( p, AWE, 1, 0 );
	chain_shift_data_registers( chain, 0 );
	part_set_signal( p, AWE, 1, 1 );
	unselect_flash( bus );
	chain_shift_data_registers( chain, 0 );
}