ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
20 мая
95769
Evgeny_CD (28.07.2007 22:08, просмотров: 2898)
Технология заморозки времени для тестирования. Пусть для испытаний целевой системы мы закапчурили кучу данных. И надо проверить, что с системой будет происходить при их обработке. Проверить самам тупым методом - например, делать полный dump памяти системы, а затем как-то его анализировать. Ясен пень, не глазками и ручками. Графические дебугеры нервно курят. Вываливем капчур синхронно, по тактам некоего генератора. Проц тактируется от него же (с делителем, если надо). Главное! Вся периферия проца должна тактироваться от внешнего клока (включая таймер ОСи, естественно), который заведен на тот же капчур клок. Монитор. Маленька прога, живущая в отдельно области памяти, не использующая общий стек. Стартует монитор. Клок капчурера запрещен! Монитор получает команду от хоста - fire!. Клок разрешается и идет ljump в тело проги. В проге в ярких точках стоят две команды: clock_disable; ljump monitor. По достижении этих точек снимаем дамп памяти. Вывод контроллера тоже капчурим теми же клоками. Потом происходит глобальное ___АВТОМАТИЧЕСКОЕ___ сравние реальности времени. После того, как добились, что прога стала не падать при обраотке данных, смотрим массив входных данных и выходных, и определяем допустимость задержек. Для сложных систем с обратной связью можно использовать метод стробоскопического осциллографа. Например, мы дебажим систему управления шаговиками с 6-ти осным подсчетом моментов инерции :)) Понятно, по описаной ранее технологии мы её отсимулровали вдоль и поперек, дело до реала дошло. Нам надо убедиться, что во всех точках прога отрабатывает верно. Добиваемся, что вроде работает. Доводим до точки и включаем заморозку. Шаговику и упорам :) понятно, поплохеет, но мы увидим как система отработала этот квант времени, какие она команды выдавала, и главное, что у нее внутри творилось. Постепенно смещая момент заморозки, можно отсканировать все этапы работы. Возможно, какое-то количество экземпляров механики убъецца нах, но зато у нас будет полное понимание, как система работает. Кароче, нет никаких пределов в достижении целей, кроме разрухи в голове. И если Вам кажется, что Вы не можете сделать какой-то проект, ибо у Вас нет 100к на покупку тулкитов каких-то немеренных, подумайте - а точно ли все в тулкиты уперлось? "OPEN YOU MIND!" Эту чудную фразу имени Шверцнегерра из фильма The Eraser стоит повесить на всех стенах всех помещений, где Вы бываете. У каждой задачи есть линейное решение. Его просто надо найти.