Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: math_mega.s90
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
skopus
слышал, что она очень ускоряет работу с float на меге. Саму библиотеку я похоже нашел. А как ее прикрутить к IAR C?
GxOST
Цитата(skopus @ Dec 19 2005, 13:07) *
слышал, что она очень ускоряет работу с float на меге. Саму библиотеку я похоже нашел. А как ее прикрутить к IAR C?

Вот, есть версия 2.3. Просто подключить в проект, и всё.
skopus
cпасибо! стало быстрее значительно, но я все равно не успел smile.gif
Pat
Цитата(skopus @ Dec 19 2005, 13:54) *
cпасибо! стало быстрее значительно, но я все равно не успел smile.gif

Да поимел я в свое время много приятных минут с этой библиотекой, вернее она меня приятно имела в течение месяца.
Правда, в той библиотеке номера ревизии не стояло, а вот дата выпуска 13.08.03.
Народ на телесистемах ее рекламировал, ну я и повелся, да и правда она и работала быстрее и кода меньше генерил ИАР.
Только вот иногда (иногда раз в неделю, а иногда и два раза за день) моя система улетала, но улетала не навсегда, а просто данные с АЦП были не правильные.
Долго я АЦП насиловал на предмет ЕМС. Тот день, когда мне стукнуло в голову отключить эту мач_мегу и позволить работать родным ИАР2.28 был, наверное, самым радостным.
Разбираться полностью не было времени напрочь.
Самое главное, что я понял, так это все улетало, если во время работы функции библиотеки приходил запрос прерывания.
Надеюсь, что в новой ревизии этого нет.
Тут конечно можно грешить и на оптимизацию компилятора.
GxOST
Цитата(Pat @ Dec 19 2005, 23:15) *
Да поимел я в свое время много приятных минут с этой библиотекой, вернее она меня приятно имела в течение месяца.
Правда, в той библиотеке номера ревизии не стояло, а вот дата выпуска 13.08.03.
Народ на телесистемах ее рекламировал, ну я и повелся, да и правда она и работала быстрее и кода меньше генерил ИАР.
Только вот иногда (иногда раз в неделю, а иногда и два раза за день) моя система улетала, но улетала не навсегда, а просто данные с АЦП были не правильные.
Долго я АЦП насиловал на предмет ЕМС. Тот день, когда мне стукнуло в голову отключить эту мач_мегу и позволить работать родным ИАР2.28 был, наверное, самым радостным.
Разбираться полностью не было времени напрочь.
Самое главное, что я понял, так это все улетало, если во время работы функции библиотеки приходил запрос прерывания.
Надеюсь, что в новой ревизии этого нет.
Тут конечно можно грешить и на оптимизацию компилятора.

Эту версию тестировал много, всё работает без ошибок. В более ранних версиях было плохо с распределением регистров (некоторые попросту не резервировались). Теперь это исправлено.
defunct
Цитата(Pat @ Dec 19 2005, 22:15) *
Самое главное, что я понял, так это все улетало, если во время работы функции библиотеки приходил запрос прерывания.
Надеюсь, что в новой ревизии этого нет.
Тут конечно можно грешить и на оптимизацию компилятора.


А причем тут собственно библиотека? Очевидно же, что проблема в обработчике прерывания, который не должен
1. Портить значение флагов (SREG)
2. Портить значения РОН
3. Затирать стек.

Одно из условий видать не выполнялось обработчиком, отсюда и проблемы. А вообще скажу что библиотека эта сильная. Применял для расчета фазы. Программа в итоге работает быстрее раза в 4 по сравнению со стандартной math.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.