Билет № 12 Загрузка компьютера: Тест начального включения – POST. Начальная загрузка – bootstrap
" После включения питания, аппаратного сброса от кнопки RESET или нажатии комбинации клавиш Ctrl + Alt + Del процессор переходит к выполнению кода начального самотестирования POST (Power-On Self Test), хранящейся в микросхеме BIOS. POST выполняет тестирование процессора, памяти и системных средств ввода-вывода, а также конфигурация всех программно-управляемых аппаратных средств системной платы. Часть конфигурации выполняется однозначно, часть управляется джампера системной платы, но ряд параметров позволяет или даже требует конфигурации по желанию пользователя. Для этих целей служит утилита Setup, встроенная в код BIOS. После тестирования и конфигурирования (включающего настройку устройств РnР), POST инициализирует загрузки операционной системы.
При прохождении каждой секции POST записывает ее код (номер) в диагностический регистр. Этот регистр физически располагается на специальной диагностической плате, устанавливаемой в слот системной шины. Плата содержит 8-битный регистр со световой (двоичной или шестнадцатиричной) индикацией состояния битов. В пространстве ввода-вывода регистр занимает один адрес, зависящую от архитектуры PC (точнее, версии BIOS): ISA, EISA - 80h, ISA-Compaq - 84h, ISA-PS / 2 - 90h, MCA-PS / 2 - 680h, некоторые модели EISA - 300h (часто пишут то же и в 80h). По индикаторам платы можно определить, на какой секции остановился POST, и определить причину неисправности. Однако для использования такой диагностики необходима, во-первых, сама плата-индикатор, и во-вторых, "словарь" неисправностей - таблица, специфическая для версии BIOS и системной платы.
Во время выполнения POST может выдавать диагностические сообщения в виде последовательности коротких и длинных звуковых сигналов, а после успешной инициализации графического адаптера короткие текстовые сообщения выводятся на экран монитора.
Привычная последовательность шагов POST:
• Тестирование регистров процессора.
• Проверка контрольной суммы BIOS.
• Проверка и инициализация таймера 8253/8254, портов 8255.
После этого шага доступна звуковая диагностика.
• Проверка и инициализация контроллеров DMA 8237.
• Проверка регенерации памяти.
• Тестирование 64 Кбайт нижней памяти.
• Загрузка векторов прерывания и стека в нижнюю область памяти.
• Инициализация Видеоконтроллер - на экране появляется заставка Video BIOS, обычно с указанием модели видеокарты и объемом установленной видеопамяти.
Bootstrap - начальный загрузчик
В нашем случае процессор стартует по схеме загрузки со встроенной неизменяемой памяти ROM
BMS = 1, Boot on Embedded ROMThe system boots using the Boot Program.• Boot on slow clock (On-chip RC or 32,768 Hz)• Auto baudrate detection• Downloads and runs an application from external storage media into internal SRAM• Downloaded code size depends on embedded SRAM size• Automatic detection of valid application• Bootloader on a non-volatile memory– SPI DataFlash® connected on NPCS0 and NPCS1 of the SPI0– 8-bit and/or 16-bit NANDFlash• SAM-BA® Boot in case no valid program is detected in external NVM, supporting– Serial communication on a DBGU– USB Device PortЗагрузчик встроенный в at91sa9260 стартует на низкой частоте 32 кГц от встроенного RC осциллятора, инициализирует DBGU (последовательный порт) и USB device порт. Затем он ищет начальный загрузчик на внешних устройствах:
1. dataflash на cs0, затем, если правильная последовательность не обнаружена, на cs1. Признаком правильного загрузчика служит наличие восьми векторов исключений - это должны быть инструкции безусловного перехода (b-branch) или загрузки регистра (LDR), исключение - шестой вектор - он содержит размер имиджа. Если обнаружена правильная последовательность, код загружается в SRAM, за этим следует remap памяти и переход на первый адрес в SRAM.
2. Если правильная последовательность не обнаружена начинается поиск загрузчика на NAND flash.
3. В конце если загрузчик нигде не обнаружен выполняется код SAM-BA® Boot - он ожидает транзакции на USB device и DBGU одновременно.
Обратите внимание на исключение - шестой вектор. Он должен содержать правильный размер иначе нормального старта системы не произойдет. После сборки bootstrap от atmel он не содержит правильный размер - именно поэтому для записи его в dataflash через samba требуется специальный скрипт, который выбирается из выпадающего меню а не простая загрузка бинарного имиджа. Другой вариант - вручную в hex-редакторе исправить его на правильный (по смещение 0×14 от начала файла) размер файла.
Размыкая перемычку J6 (или выполняющие аналогичные функции J13, J14) мы разрываем цепь загрузки соответствующего внешнего носителя, не найдя правильную последовательность программа boot rom переходит к выполнению кода SAMBA.
Билет № 13 Загрузка компьютера: Тест начального включения – POST. Загрузка DOS
"После включения питания, аппаратного сброса от кнопки RESET или нажатии комбинации клавиш Ctrl + Alt + Del процессор переходит к выполнению кода начального самотестирования POST (Power-On Self Test), хранящейся в микросхеме BIOS. POST выполняет тестирование процессора, памяти и системных средств ввода-вывода, а также конфигурация всех программно-управляемых аппаратных средств системной платы. Часть конфигурации выполняется однозначно, часть управляется джампера системной платы, но ряд параметров позволяет или даже требует конфигурации по желанию пользователя. Для этих целей служит утилита Setup, встроенная в код BIOS. После тестирования и конфигурирования (включающего настройку устройств РnР), POST инициализирует загрузки операционной системы.
При прохождении каждой секции POST записывает ее код (номер) в диагностический регистр. Этот регистр физически располагается на специальной диагностической плате, устанавливаемой в слот системной шины. Плата содержит 8-битный регистр со световой (двоичной или шестнадцатиричной) индикацией состояния битов. В пространстве ввода-вывода регистр занимает один адрес, зависящую от архитектуры PC (точнее, версии BIOS): ISA, EISA - 80h, ISA-Compaq - 84h, ISA-PS / 2 - 90h, MCA-PS / 2 - 680h, некоторые модели EISA - 300h (часто пишут то же и в 80h). По индикаторам платы можно определить, на какой секции остановился POST, и определить причину неисправности. Однако для использования такой диагностики необходима, во-первых, сама плата-индикатор, и во-вторых, "словарь" неисправностей - таблица, специфическая для версии BIOS и системной платы.
Во время выполнения POST может выдавать диагностические сообщения в виде последовательности коротких и длинных звуковых сигналов, а после успешной инициализации графического адаптера короткие текстовые сообщения выводятся на экран монитора.
Привычная последовательность шагов POST:
• Тестирование регистров процессора.
• Проверка контрольной суммы BIOS.
• Проверка и инициализация таймера 8253/8254, портов 8255.
После этого шага доступна звуковая диагностика.
• Проверка и инициализация контроллеров DMA 8237.
• Проверка регенерации памяти.
• Тестирование 64 Кбайт нижней памяти.
• Загрузка векторов прерывания и стека в нижнюю область памяти.
• Инициализация Видеоконтроллер - на экране появляется заставка Video BIOS, обычно с указанием модели видеокарты и объемом установленной видеопамяти.
Загрузка MS DOS начинается этап, называемый в Microsoft «фазой совместимости с операционной системой реального режима», что в переводе на нормальный язык оказывается загрузкой старичка MS-DOS, без которого Windows работать не в состоянии — в дело вступает файл IO.SYS (ядро MS-DOS версии 7 или 8, в зависимости от типа Windows), находящийся, как и многие другие системные файлы, в корневом каталоге загрузочного диска. Файл IO.SYS должен располагаться в строго определённом секторе жёсткого диска, и в случае каких-либо повреждений переписать его заново следует командой «SYS C:». Так что, спасательной загрузочной дискетой пренебрегать ни в коем случае не стоит. Надо заметить, что помимо загрузки ядра MS-DOS, на которое опирается в своей работе Windows, в функции IO.SYS входит ещё и отображение начальной заставки–логотипа Windows, которая находится в упакованном виде в коде этого файла. Картинка из IO.SYS выбирается Windows в том случае, если в корневой директории системного диска отсутствует файл LOGO.SYS с альтернативной заставкой.
Билет № 14 Загрузка компьютера: Тест начального включения – POST. Загрузка MS Windows 9.x
После включения питания, аппаратного сброса от кнопки RESET или нажатии комбинации клавиш Ctrl + Alt + Del процессор переходит к выполнению кода начального самотестирования POST (Power-On Self Test), хранящейся в микросхеме BIOS. POST выполняет тестирование процессора, памяти и системных средств ввода-вывода, а также конфигурация всех программно-управляемых аппаратных средств системной платы. Часть конфигурации выполняется однозначно, часть управляется джампера системной платы, но ряд параметров позволяет или даже требует конфигурации по желанию пользователя. Для этих целей служит утилита Setup, встроенная в код BIOS. После тестирования и конфигурирования (включающего настройку устройств РnР), POST инициализирует загрузки операционной системы.
При прохождении каждой секции POST записывает ее код (номер) в диагностический регистр. Этот регистр физически располагается на специальной диагностической плате, устанавливаемой в слот системной шины. Плата содержит 8-битный регистр со световой (двоичной или шестнадцатиричной) индикацией состояния битов. В пространстве ввода-вывода регистр занимает один адрес, зависящую от архитектуры PC (точнее, версии BIOS): ISA, EISA - 80h, ISA-Compaq - 84h, ISA-PS / 2 - 90h, MCA-PS / 2 - 680h, некоторые модели EISA - 300h (часто пишут то же и в 80h). По индикаторам платы можно определить, на какой секции остановился POST, и определить причину неисправности. Однако для использования такой диагностики необходима, во-первых, сама плата-индикатор, и во-вторых, "словарь" неисправностей - таблица, специфическая для версии BIOS и системной платы.