[an error occurred while processing this directive]
|
void SectorEraseFLASH(short sector)
{
(*(short*)(0x00000555 * 2)) = 0x2222;
(*(short*)(0x000002AA * 2)) = 0x8888;
(*(short*)(0x00000555 * 2)) = 0x0002;
(*(short*)(0x00000555 * 2)) = 0x2222;
(*(short*)(0x000002AA * 2)) = 0x8888;
switch(sector)
{
case 0:
(*(short*)(0x00000)) = 0x00A0;
break;
case 1:
(*(short*)(0x10000)) = 0x00A0;
break;
case 2:
(*(short*)(0x20000)) = 0x00A0;
break;
case 3:
(*(short*)(0x30000)) = 0x00A0;
break;
case 4:
(*(short*)(0x40000)) = 0x00A0;
break;
case 5:
(*(short*)(0x50000)) = 0x00A0;
break;
case 6:
(*(short*)(0x60000)) = 0x00A0;
break;
case 7:
(*(short*)(0x70000)) = 0x00A0;
break;
case 8:
(*(short*)(0x78000)) = 0x00A0;
break;
case 9:
(*(short*)(0x7A000)) = 0x00A0;
break;
case 10:
(*(short*)(0x7C000)) = 0x00A0;
break;
default:
(*(short*)(0x00000555 * 2)) = 0x0080;
break;
}
}
void WriteWordFLASH(long word_address, short data)
{
short j = 0;
(*(short*)(0x00000555 * 2)) = 0x2222;
(*(short*)(0x000002AA * 2)) = 0x8888;
(*(short*)(0x00000555 * 2)) = 0x0022;
(*(short*)(word_address * 2)) = data;
}
E-mail: info@telesys.ru