Ситуация следующая. Этот код уже был отлажен и работал в течение полугода нормально. После ремонта платы (замена DSP вследствие отказа АЦП) появилась данная проблема.
Если к JTAG разъёму на плате присоединить хидер эмулятора и подать питание на плату, то старт DSP происходит нормально. Если же подать питание при отключенном эмуляторе, то наблюдается проблема, которую описал. Я пристально отследил состояние 3 пинов DSP (GPIO18,29,34) в момент перехода RESET из низкого в высокое состояние и ничего криминального не заметил - все 3 в этот момент - высокие. А вообще, с JTAG в этом DSP не всё гладко, как я успел заметить. Когда я только начал работать с ним, пришлось изменить цепи EMU0,1. В описании сказано, что к ним должны быть подключены pullup величиной 4.7К. Flash в DSP с таким подключением не программировались. Пришлось к EMU0,1 подключить ещё pulldown такой же величины. Только после этого JTAG порт заработал нормально.
Т.е. проблема скорее всего чисто железячного свойства. Нашёл на www.dsprelated.com - там один парень уже описывал подобное. Только для 2801.
В том то и проблема - при надетом JTAG хидере всё работает правильно и происходит переход на точку _c_int00. И, соответственно, правильный старт кода. А при снятом хидере этого старта нет. А куда при этом перепрыгивает микропрограмма - непонятно. Можно только косвенно судить - по состоянию пинов DSP. И поскольку на SCI-A после окончания RESET появляются импульсы, я и предположил, что происходит старт по загрузке через UART. Тут, может быть, я неправ, поскольку никогда не грузил DSP через UART. И не знаю алгоритма такой загрузки.