ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
23 ноября
6823 Топик полностью
=AlexD= (10.02.2004 08:14, просмотров: 1) ответил BMФ на CSTARTUP уже что-то делает до вызова __low_level_init
Давайте отделим мух от котлет >> Опять же хотелось бы протестировать память до определения стека. Ну и в чём смысл? Предположим, что память неисправна, и что Вы будете делать? main вызывать уже нельзя... и чё... ? Стек нужно определять в области внутреннего ОЗУ, и тогда спокойно идёте в main... >> И результаты тестирования как передать, если переменные еще не объявлены? 1 Переменные объявляются в ИСХОДНИКЕ, РАЗМЕЩАЮТСЯ ликером, а в программе уже используются адреса. 2 Чтобы процедура обнуления ОЗУ, не испортила Ваш результат, используйте чёта вроде:
#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
    }
}