(+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено TimMATTU 03 декабря 2006 г. 10:23
В ответ на: 2)Вернее вот такую ошибку: отправлено syuha 01 декабря 2006 г. 13:17

Эта фигня (ссылка на неё) находится в файле DSP28_CpuTimers.c в сторчке номер 104. Здесь происходит фатальный глюк: компилятор не умеет перемножать :) поэтому строчку temp = (long) (Freq * Period); он заменяет вызовом левой процедуры #FS$$MPY - которая делает это умножение. Надо тебе изменить этот файл, в первом приближении умножение посчитать на калькуляторе и вставить туда число :). Как правило, используется для умножения библиотека IQMath, функция _IQmpy - умножение беззнаковых. Вообщем для математики следует установить IQMath, sprc087.zip. Обязательно сохрани оригинальный DSP28_CpuTimers.c, потом меняй его... далее... могло случиться так, что ругается линкёр, тогда нужно просто этот файл (DSP28_CpuTimers.c) вставить в проект и перекомпилировать его, если он ругнётся на другие ссылки, то нужно подключить остальные сишные файлы из C:\tidcs\c28\comms_drv\vi2cs_io\src, и прописать путь к инклудам: C:\tidcs\c28\comms_drv\vi2cs_io\include в конфигурации проекта. Возможно они компилили каким-то старым компилером или нахаляву. #FS$$TOUL - означает по задумке вызов функции, преобразующий к целому числу (TO Unsigned Long). Вообщем попробуй перекомпилить этот файл, вставленный в проект вместе с его друзьями, если не получится - подставляй число.

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
URL изображения: 
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 90:


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание