2014-02-21 7 views
3

У меня возник вопрос относительно Uboot. Я с нетерпением жду возможности создать совет на базе ARM. Теперь я хочу сжечь Uboot до флешки NAND, прикрепленной к моему контроллеру. Как я могу выполнить эту операцию?Как сжечь uboot на борту NAND flash

http://www.stlinux.com/u-boot/target-install Что я получил по этой ссылке, так это то, что - STx7111 Mboard - есть последовательный порт, который способен связываться с GDB. И из GDB мы используем для записи следующего файла u-boot. Этот файл записывается в RAM или NAND flash gdb?

Затем выполнение переходит к этой программе u-boot «u-boot». Теперь эта программа «u-boot» будет записывать фактический файл u-boot.bin на флешку NAND.

У каждого контроллера есть последовательный порт, который способен связываться с GDB? Выполняет ли каждый контроллер этот подход, чтобы сжечь загрузчик uboot в свою флэш-память NAND?

Просьба предложить.

+0

Один сервер GDB на хосте ПК не будет делать то, что вы хотите. Вам нужен клиент GDB на целевой плате или соединение JTAG/ICE. – sawdust

ответ

4

Что я Из этой ссылки видно, что - STx7111 Mboard - имеет некоторый последовательный порт, который способен связываться с GDB. А из GDB мы используем для записи следующего файла u-boot. Этот файл записывается в RAM или NAND flash gdb?

Нет, вы не читали эту статью точно.
GDB используется только как интерфейс для JTAG.
Этот первый шаг - загрузить исполняемый файл (копию U-Boot) в ОЗУ.

У каждого контроллера есть последовательный порт, способный связываться с GDB?
Выполняет ли каждый контроллер этот подход, чтобы сжечь загрузчик uboot в свою флэш-память NAND?

Вам не следует делать (или пытаться сделать) радикальные обобщения (в этом и других ваших проводках).
Возможности и возможности микроконтроллеров, микропроцессоров и SoC («контроллеры» - это что-то еще) настолько широка, что может быть сделано очень мало обобщений. Редко существует только «один способ» для выполнения этих процедур.

Чтобы от записи копию U-Boot (или любой файл изображения) в NAND флэш, есть два шага:

  • передать файл изображения из хост-компьютера (или устройства хранения) в локальную память;

  • стереть блоки вспышки NAND, а затем записать файл изображения в флэш-память NAND с ECC, если необходимо, и узнать о плохих блоках.

Это не тривиальные шаги, поэтому необходима подходящая утилита.Существуют, по крайней мере, три подхода:

  • Микроконтроллер может быть сконфигурирован (с помощью входных контактов) в режиме «приема и записи файла изображения» при включении питания. Жестко закодированная программа в ПЗУ загружает изображение и записывает его во встроенную вспышку.

  • В SoC ROM есть загрузчик, который имеет возможности для связи с ПК с ПК через RS232 или USB и может выступать в качестве клиентской части проприетарной служебной программы. На главном ПК вы будете запускать серверную часть этой служебной программы. Эта схема позволит передавать файлы и читать &, записывая воспоминания цели. Утилита Atmel SAM-BA подходит для этой категории.

  • Используйте утилиту с открытым исходным кодом, такую ​​как U-Boot, которая настраивается и расширяема для поддержки внешней флэш-памяти NAND и любых других типов памяти на вашей плате, а также имеет возможности передачи файлов. Консоль для U-Boot обычно является последовательным портом UART/USART, но может быть настроена на использование адаптера USB-RS232.

В случае использования программы, как U-Boot для установки программ в памяти NAND, курица по сравнению с яичным возникает ситуация: как получить эту программу загружаются в первую очередь? Два общих подхода:

a. Установите утилиту (т. Е. U-Boot) на SD-карту с любым необходимым загрузчиком, а затем загрузите SoC из SD-карты. Это предполагает, что у SoC есть эта возможность загрузки, но для этой схемы требуется наименьшая функциональность оператора.

b. Загрузите утилиту (т. Е. U-Boot) с помощью JTAG, например Segger J-Link, которая позволит вам перенести файл изображения в ОЗУ (при условии, что оперативная память была правильно инициализирована, если это необходимо), а затем запустите его выполнение. J-Link может быть сопряжен с использованием собственной программы JLINK или GDB.

После того, как U-Boot является резидентом и выполняется, у вас есть все возможности. U-Boot не может записывать себя в флеш-память NAND, поэтому вам нужно загрузить еще одну копию U-Boot, чтобы записать ее в NAND (или любой другой тип).

0

Если вы загружаете что-то с помощью GDB, то оно должно быть загружено в ОЗУ. Используя gdb, вы запустите этот двоичный файл (u-boot), и двоичный файл предоставит вам приглашение u-boot, которое вы используете для записать другое изображение (это может быть u-boot.img (настроено для запуска из FLASH), изображение ядра Linux или любое другое изображение) во вспышку (это может быть NOR или NAND).

Смежные вопросы