Цитата(wmakc @ Feb 20 2013, 15:42)

То есть функция AT45_Read работает. После выполняется AT45_Erase. На ней вот все и останавливается.
Напишите свои функции, а не используйте совершенно ненужные в данном случае "черные ящики". Разместите их в ОЗУ и оттуда вызывайте, тогда можно стереть все, что угодно. Именно так я и делал ... Еще вариант - предусмотрите в прошивке сектор, который не подлежит обновлению, т.е. некий загрузчик, и разместите ваши функции в этом секторе. так я тоже делал, вполне работоспособный вариант ...