Не думаю что корреляция с наличием USB_EndPoint15 что то значит.
Просто алгоритмы флеширования у Keil-а примитивны до безобразия чтобы занимать как можно меньше памяти.
Поэтому там отсутствуют ненужные на их взгляд проверки и реинициализации.
Некоректная предыдущая прога может легко попортить работу алгоритма программирования.
Перед программированием после сбойной проги надо полностью стирать весь кристалл, а не только те секторы которые программируются.
Цитата(MiklPolikov @ Jan 25 2009, 19:09)

Или при попытке загрузить в контроллер некоторые примеры кейла возникает похожая ошибка flash dawnload failed - ARM7TDMI
Внизу список ошибок
Contents missmatch at: 00100000H (Flash=ACH Required=18H) !
Contents missmatch at: 00100001H (Flash=10H Required=F0H) !
Contents missmatch at: 00100004H (Flash=20H Required=18H) !
Contents missmatch at: 00100005H (Flash=10H Required=F0H) !
Contents missmatch at: 00100006H (Flash=80H Required=9FH) !
........
Причём эта проблема только в проектах где есть прототип функций типа
extern void USB_EndPoint15 (DWORD event);