Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Старт DSP-BIOS после функции main
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Degun
Имеется Evalution Module (EVM) для TMS320DM642 (rev. 3) и JTAG-эмулятор XDS560R. При отладке и измерении времени выполнения собственных подпрограмм в функции main с помощью функций системного времени CLK-модуля DSP-BIOS (таймер на кристалле запрограммирован на 1мс интервал) выясняется, что эти функции работают только после завершения функции main, когда стартует сама DSP-BIOS. Как тогда вызывать нужные мне функции после завершения функции main и старта DSP-BIOS?
evg123
Цитата(Degun @ Oct 9 2007, 08:37) *
Имеется Evalution Module (EVM) для TMS320DM642 (rev. 3) и JTAG-эмулятор XDS560R. При отладке и измерении времени выполнения собственных подпрограмм в функции main с помощью функций системного времени CLK-модуля DSP-BIOS (таймер на кристалле запрограммирован на 1мс интервал) выясняется, что эти функции работают только после завершения функции main, когда стартует сама DSP-BIOS. Как тогда вызывать нужные мне функции после завершения функции main и старта DSP-BIOS?

Читайте руководство пользователя DSP/BIOS. SPRU423F, гл. 2.7 DSP/BIOS start-up sequence,
гл.2.10 Calling DSP/BIOS APIs from main().
Degun
Цитата(evg123 @ Oct 11 2007, 11:06) *
Читайте руководство пользователя DSP/BIOS. SPRU423F, гл. 2.7 DSP/BIOS start-up sequence,
гл.2.10 Calling DSP/BIOS APIs from main().

Собственно я всё так и представлял, как там описано. Поэтому вопрос остаётся в силе. Как мне измерить в функции main время выполнения отлаживаемых подпрограмм, если таймер в ней ещё не работает?
Edmundo
Цитата(Degun @ Oct 11 2007, 21:35) *
Собственно я всё так и представлял, как там описано. Поэтому вопрос остаётся в силе. Как мне измерить в функции main время выполнения отлаживаемых подпрограмм, если таймер в ней ещё не работает?

А почему бы не вызвать эти подпрограммы из task'а?
Degun
Цитата(Edmundo @ Oct 13 2007, 15:04) *
А почему бы не вызвать эти подпрограммы из task'а?

Добавил. Прописал в свойствах задачи имя функции. Но при линковке почему-то выдаётся ошибка, что функция отсутствует, хотя функция с таким именем точно есть в исходниках. В чём дело?
Degun
Цитата(Degun @ Oct 17 2007, 22:25) *
Добавил. Прописал в свойствах задачи имя функции. Но при линковке почему-то выдаётся ошибка, что функция отсутствует, хотя функция с таким именем точно есть в исходниках. В чём дело?

Сам разобрался. Оказалось, что в DSP-BIOS имя функции должно начинаться с подчёркивания. При этом, если функция находится в CPP-файле, то она должна быть явно объявлена следующим образом:
Код
extern "C"
{
Void FunctionName(Arg id_arg);
}
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.