Цитата(_Надя @ Dec 6 2008, 19:11)

Имеется мега 16... есть программа... нужно сделать типа самотестирование устройства... т.е. найти сумму памяти программ и полученный результат вывести на порт.... В общем я очень озададчилась такой постановкой задачи, поскольку совсем не представляю где эта память программ с какого адреса она начинается и до какого мне нужно это все суммировать. Число получиться наверное оооочень большим, какую переменную использовать и как это все поразрядно на порт выводить. В общем совсем не представляю. Причем как я поняла из постановки задачи это самотестирование нужно делать не только при включении питания, а постоянно, т.е. пока мк работает нужно считать сумму программ. На сколько этот процесс длительный - подстчет всей суммы? Не будет ли что либо тормозить, может нужно как то это частями считать, а как? С помощью таймера или еще как? Поделитесь, кто нибудь что нибудь делал нечто подобное? Как ЭТО сделать?
Число будет не очень большое.... Всё зависит от разрядности контрольной суммы ( CRC)... Так что это 8, 16, или 32разряда всего.... Можно весь флэш считать, а можно только память занятую непосредственно программой.... Думаю что вам надо постоянно в фоне контрольную сумму считывать (как я понял из контекста вашей задачи в предыдущих топиках) и отдавать другому МК на проверку... Время требуемое для расчёта будет зависеть от разрядности выбранного Вами полинома CRC и алгоритма расчёта. Если тупо в "лоб" считать, то времени достаточно уходит (всё относительно конечно), если использовать быстрые алгоритмы ( например табличный) то время заметно сокращается, но растут расходы на память программ... Вообще всё зависит от контекста задачи... Насколько Ваши МК загружены задачами.... каков вообще системный цикл устройства....
Считать лучше не по таймеру.... Может быть, ваша прога должна быть организована в виде некоего системнго цикла, в котором выделено определённое время на тесты, взаимообмен, выполнение каких либо действий.... Решая такие задачи

нада чётко представлять логическую структуру Вашей программы... иначе винегрет получится в конце концов...