Что я Из этой ссылки видно, что - 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 (или любой другой тип).
Один сервер GDB на хосте ПК не будет делать то, что вы хотите. Вам нужен клиент GDB на целевой плате или соединение JTAG/ICE. – sawdust