ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
22 ноября
6831 Топик полностью
BMФ (10.02.2004 09:44, просмотров: 1) ответил =AlexD= на Давайте отделим мух от котлет
А, вообще-то, нужен ли тест ОЗУ? А внутреннее ОЗУ имеет ли смысл тестировать? Что то мне неисправности во внутреннем ОЗУ не встречались... Да и с внешним ОЗУ проблемы были связаны только с механическими причинами. >> Опять же хотелось бы протестировать память до определения стека. Ну и в чём смысл? Предположим, что память неисправна, и что Вы будете делать? main вызывать уже нельзя... и чё... ? Стек нужно определять в области внутреннего ОЗУ, и тогда спокойно идёте в main... +++ Ну например, если устанавливается, что повреждение ОЗУ не позволяет нормально работать main, то организовать сообщение о неисправности на низком уровне (что-то типа писишного бипера)... +++ Заманчиво так же, обнаружив неисправность в ОЗУ, повлиять на размещение переменных... >> И результаты тестирования как передать, если переменные еще не объявлены? 1 Переменные объявляются в ИСХОДНИКЕ, РАЗМЕЩАЮТСЯ ликером, а в программе уже используются адреса. 2 Чтобы процедура обнуления ОЗУ, не испортила Ваш результат, используйте чёта вроде: +++ Простите, дубанул:)), собственно из этого пункта тогда остается только вопрос, есть ли гарантия, что __low_level_init() пройдет раньше инициализации переменных. Пока подробно не вникал, но на первый взгляд кажется, что СиСтартап начинает что-то делать до ее вызова... #pragma dataseg=SEGMENT_IN_RAM_ON_CHIP __no_init char TestRAMresult; #pragma dataseg=default __low_level_init() { // ... bla-bla-bla ... if (test == ok) TestRAMresult = 0; else TestRAMresult = 1; } C_task void main(void) { if (TestRAMresult) { // bla-bla-bla } } +++ Эт понятна...