Твитнуть
Directory 1 Обзор Несколько общий режим загрузки 2 2,1 серийный памяти в загрузиться с EPCS 2,2 CFI извне в параллельной загрузки Flash 3 в загрузиться с EPCS 3,1 EPCS контроллер загрузчик анализа 3,2 EPCS контроллер 3,3 EPCS серийный части памяти 4 в загрузиться с параллельной Flash 4,1 Параллельные конфигурации контроллера Flash 4,2 до запуска программ непосредственно в Flash Запуск программы в оперативной памяти 4,3 5 загрузчика Интерпретация 5,1 boot_loader.s Интерпретация 5,2 boot_loader_epcs_bits.s Интерпретация 5,3 boot_loader_cfi_bits.s Интерпретация 6 Crt0.s Интерпретация
1 Обзор Nios II процесса загрузки, чтобы пройти через два процесса. FPGA конфигурации устройства самого процесса. FPGA конфигурации контроллера или внешнего устройства для выполнения своих собственных под контролем конфигурацию внутренней логики контроллера конфигурации FPGA's. Если внутренняя логика использования Nios II, настраивается в FPGA содержит Nios II Soft-Core CPU. Nios II загрузки самого процесса. После конфигурации FPGA успешно, Nios II сбрасывается в логическую схему для сброса, началось с сброс кода адреса. Сброс Nios II в адрес строитель ПОФТ из "Nios II More'CPU'setting" странице "Настройки таблицы.
Несколько общий режим загрузки 2 2,1 серийный памяти в загрузиться с EPCS Этот режим загрузки, FPGA данных конфигурации и Nios II программы хранятся в устройстве EPCS. FPGA данных конфигурации в верхней части программы на спине, программа может иметь несколько сегментов, каждый сегмент вставляется перед "программа записи." "Процесс записи" по два 32-разрядных структуры данных, 32-разрядное целое число, а другой 32-битный адрес, соответственно, длина этого блока и самого блока в адрес во время выполнения. Этот "процесс записи" для каждого блока, чтобы помочь исполнения загрузчик программы, чтобы перейти к реальной позиции. EPCS является серийным памяти, Nios II не могут запускать программы непосредственно из EPCS, это на самом деле осуществления EPCS чип контроллера диска код (например, загрузчик), EPCS двигаться в оперативной памяти в реализации программы. 2,2 параллельно с внешней вспышкой CFI в багажнике Этот режим загрузки также можно разделить на 2 вида ситуаций. Непосредственно во флэш-программы для запуска. Эта ситуация не нужен еще один загрузчик, Nios II сбросить адрес сброса (указывая на встроенной вспышки) программа началась, программа должна иметь код запуска для перемещения. Rwdata разделе (because. Rwdata сегменте не хранится в режиме чтения и записи Flash центре), и если. RODATA раздел и. ИСКЛЮЧЕНИЯ сегменте связи, если не указано в Flash (например, памяти), будет также переехал в памяти, и. BSS сегмент очищается, установить указатель стека. Работы завершены в Crt0.s. Программа в оперативной памяти (в том числе встроенного ОЗУ, SDRAM, SSRAM ... относится к общей памяти), чтобы запустить. Эта ситуация требует специального загрузчика, оно будет храниться в каждом блоке в исполнении Flash программы, чтобы перейти к реальным местоположение каждого сегмента.
3 в загрузиться с EPCS Для поддержки загрузки Nios II от EPCS первый спросил устройства FPGA для поддержки активных серийный конфигурации. Циклон Альтера, Cyclone II и Stratix II FPGA семьи для поддержки активных серийный конфигурации. До Nios II версии 5.1, Nios II загрузки с EPCS в семье FPGA Stratix II понимать, что Есть еще проблемы. Таким образом, этот подход используется в основном для циклонов и Cyclone II семейство устройств. Для этого режим загрузки, пользователь должен добавить в строитель ПОФТ контроллер EPCS, не дать ему ноги распределения трубы, Quartus II автоматически назначить его на частные ноги трубу. Тим закончил EPCS контроллер, ПОФТ строителя будет назначить его базовый адрес, адрес несет EPCS контроллер сам чип, в системе Nios II базовый адрес ПЗУ, ROM загрузчика есть короткий код, используемый для руководства всем процессом . Таким образом, вы должны ПОФТ строитель "Nios II More'CPU'setting" для сброса Адрес страницы в базовой таблице установлен на этот адрес, поэтому после сброса Nios II начал с этого адреса для завершения процесса загрузки. 3,1 EPCS контроллер загрузчик анализа EPCS контроллер на чипе ROM, есть код загрузчика, Nios II для завершения процесса загрузки настоящим Кодексом. Это EPCS в изображение Nios II скопирован в памяти программы, а затем перейти к оперативной памяти для запуска. Поскольку программа elf2flash выходного изображения, загрузчиком изображение на процедуры, движется расположение и структура толкование должно быть последовательным инструменты elf2flash. FPGA данных конфигурации из начальный адрес EPCS смещением 0 магазина, рядом с конфигурационные данные следуют 32-разрядное целое число, указывающее длину сегмента, а затем 32-битного адресного, направляет разделе программы выполнения программы адрес, и мы решаем это с длиной и известный как "процесс записи", "программа записи", то, что блок изображения. Программа может иметь более одного блока, так что это больше, чем один "Процесс записи" и блока изображения. Загрузчик должен знать длину данных FPGA конфигурации читать назад содержание данных конфигурации, различные типы конфигурации длиной FPGA в данных отличается, так что голова должна читать данные конфигурации для настройки длины информации данных, а затем один за другим читать процесса длина сегмента и во время выполнения образ адрес, а затем переехал в цель программы сегменте работает изображения адреса. Чтобы получить доступ к EPCS, загрузчик сборки построен ряд позиционно-независимый код. EPCS дизайн магазина заключается в следующем:
Когда загрузчик читает L, L = 0, на глазах у всех программ, что запись была обработана, программа записывает это последнее, чтобы перейти к адресу, место казни. Очевидно, это должно вступления адрес. Если L = 0xFFFFFFFF (т.е. -1), затем игнорировать и вниз, так что даже FPGA данных конфигурации, а не только программы EPCS является безопасным. Когда данные EPCS конфигурации только тогда, когда нет программы, данные sof2flash конфигурации будет добавлена к концу в 4 байта 0xff, чтобы загрузчик не будет сбоев. Загрузчика рабочий процесс следующим образом:
3,2 EPCS контроллер EPCS контроллер руководство не подробно объяснить только EPCS рекомендуется использовать Альтера HAL функции для доступа. В самом деле EPCS контроллера состоит из двух отдельных компонентов: Rom. Размер 512 байт, что составляет 128 слов. Хотя выразил руководство EPCS контроллер Rom размер 1K байт, в самом деле, пока Nios II 5,1 EPCS контроллер Rom еще 512 байт, поэтому зарегистрировать смещение приведены в руководстве адреса должны быть внесены поправки. SPI Мастер контроллера. EPCS SPI последовательный интерфейс памяти, которые соответствуют стандартам. Nios II могут быть доступны через SPI Мастер EPCS серийный памяти. Две части адреса (с точки Nios II зрения, в байтах) следующим образом: Смещение Регистрация R / W Бит Описание 31 .. 0 0x000 Boot ROM памяти R Boot Loader кодекса epcs_controller_boot_rom.hex или epcs_controller_boot_rom.dat 0x004 ... 0x1FC 0x200 Rx данных R 31 .. 8 (Не реализовано) Rx данных (7 .. 0) 0x204 Tx данных W 31 .. 8 (Не реализовано) Tx данных (7 .. 0) 0x208 Статус R / W 31 .. 11 10 9 8 7 6 5 4 3 2 1 0 EOP E RRDY TRDY TMT TOE ROE 0x20C Cotrol R / W 31 .. 11 10 9 8 7 6 5 4 3 2 1 0 IEOP IE IRRDY ITRDY ITOE Ироэ 0x210 Защищены - 0x214 Slaver Включить R / W 31 .. 16 15 14 13 ... 3 2 1 0 SS_15 SS_14 SS_13 ... SS_3 SS_2 SS_1 SS_0 0x218 Конца пакета R / W 31 .. 8 (Не реализовано) Конец характер (7 .. 0) Rx регистр данных Nios II от Rx регистра данных считываются из EPCS в полученных данных. Когда приемник регистра сдвига получить полный 8 бит данных, регистр состояния RRDY бит установлен в 1, а данные входящего Rx данных регистра. Читайте Rx данных регистра будет RRDY немного рассеялся, но безрезультатно Rx данные для записи. Tx регистр данных Nios II пишет данных для передачи Tx регистра данных. TRDY позиции в регистре статуса 1 указывает Tx данных регистра готов к приему новых данных Nios II. Tx Данные записываются после TRDY бит установлен в 0, пока данные, передаваемые от Tx данных, передаваемых в регистр сдвига будет вновь установлен в 1. Статус Регистрация Регистр состояния содержит биты, чтобы указать текущее состояние. Почти каждый из всех, и регистр управления прерывания бит разрешения соответствующих. Nios II статуса можно прочитать в любое время зарегистрировать не повлияет зарегистрироваться. Запись в регистре статуса будет ясно ROE, ОО, и E из этих битов. В следующей таблице приведены значения каждого разряда:
Немного Название Смысл 3 ROE Получить перерасход ошибка. При Rx данных регистра данных с течением времени (RRDY 1), получают регистра сдвига дальше в Rx данных регистра писать, и что немного ROE устанавливается в 1. Новые данные будут перезаписаны старыми данными. Записать в регистр состояния ROE бит в 0. 4 TOE Отправить ошибки переполнения. Если данные Tx регистра данных не была передана для передачи регистра сдвига (TRDY равен 0), далее в Tx данных регистра писать, и что ОО будет установлен в 1. Новый номер игнорируется. Запись в регистр состояния могут быть устранены TOE 0. 5 TMT Передача регистра сдвига пусто. Если отправка процесс идет, и что ТМО 0, если передать регистра сдвига пуст, ТМО 1. 6 TRDY Передатчик готов принять новые передачи данных. Когда Tx данных регистра пустое время, TRDY 1. 7 RRDY Приемник готов передавать полученное число. При Rx данных регистра полный рабочий день, RRDY 1. 8 E Существует ошибка. Это логика или TOE и икры. ОО или ROE тех пор, пока есть 1, то он равен 1. Это является программа предоставляет удобное место, чтобы судья неправильно. Записать в регистр состояния E биты в 0. 9 EOP Пакет конце маркера. Флаг устанавливается в 1 при следующих обстоятельствах: 1. Байт EOP записывается в регистр данных ТХ 2. Байт EOP от Rx данных регистра читать EOP Конец зарегистрироваться пакетов байта Конец символов байт. Запись в регистр статуса может EOP бит в 0. Управление Регистрация регистр управления управляет работой SPI Master. Nios II можете прочитать регистр управления в любое время, без изменения его значения. Большинство бит регистра управления (ироэ, ITOE, ITRDY, IRRDY и IE) контроль за соответствующий бит в регистре статуса прерываний. Например, когда ироэ установлен в 1, чтобы ROE, когда статус 1 прерывания. Только тогда, когда регистра управления и stauts зарегистрироваться биты, соответствующие 1 случай, SPI Мастер прерывания будет.
Немного Название Смысл 3 Ироэ Допускается ROE прерывания условия. 4 ITOE TOE позволяет прерывать условия. 6 ITRDY TRDY условия, чтобы прервать. 7 IRRDY Разрешить прерывания RRDY условия. 8 IE E условия, чтобы прервать. 9 IEOP Разрешить прерывания EOP условий. 10 SSO Принудительное раб позволит зарегистрировать 1-бит Устройство для соответствующих ss_n эффективным, то есть, выходной уровень 0. Slave позволит зарегистрировать раб позволит зарегистрировать 1 указывает местоположение соответствующего сигнала ss_n может управляться эффективно (то есть, написанный в реестр бит управления единого входа 1, или записи данных в регистр данных ТХ готова начать передачу данных). Slave позволит зарегистрировать может быть больше 1, но потребность в дополнительной логики для работы с несколькими раб SPI конфликта. Конец пакетов Регистрация Конец зарегистрировать пакет содержит Конец характера, мастер Авалон читать, когда Rx регистр данных и конец характер, как байт, или пишите на Tx байт данных и конец Символ же время, SPI Мастер иметь флаг EOP. Если поддержка Авалон мастер endofpacket передачи сигнала прерывается.
EPCS контроллера в случае SPI мастер, используя следующие параметры: 8 бит данных; SPI SCLK тактовой частотой 20 МГц; MOSI (ASDO) на выходе при падении края SCLK; MISO (DATA0), отобранных по фронту SCLK; SCLK начального начала фазы 0; MSB первого выхода, LSB, после выхода; целевой задержкой 100US (т.е. выход ss_n начинает диск выход низкого до SCLK часов задержки импульса 100US). 3,3 EPCS серийный части памяти Устройства Альтера имеют полное руководство по устройству EPCS ясно выражена. В читать байт, читать и читать статус кремния ID операции, вопрос о команде, данных в скором времени будет Данные ноги EPCS из трубки. Таким образом, контроль порядка EPCS и продолжать посылать виртуальных данных (например, 0 или любое значение), при отправке виртуальных данных, полученных EPCS для передачи данных, вы можете получить доступ к желаемой информации. SPI интерфейс для отправки и получения одновременно, с целью получения данных, вы должны послать что-то, даже если эти данные не друг с другом, а также передачи команд или данных, вы также получите что-то в то же время, хотя они не обязательно является то, что вам нужно.