BM1BT1-B. Сервисные разъёмы. Подключение UART. Прошивка SPI flash.

На плате присутствуют два сервисных разъёма, предназначенных для подключения к консоли UART и прошивки загрузочной флешки.

  1. XP3: 20-pin разъём для диагностики, подключения UART и программирования загрузочной SPI flash. Расположен на краю правой стороны платы рядом с BMC.
  2. XP4: 2-pin разъём (джампер) для включения защиты записи загрузочной SPI flash. Практика показывает, что наличие установленного джампера не влияет на возможность перезаписи содержимого флешки. Расположен около микросхемы DD27 за разъёмом Ethernet.

XP3 XP4

Распиновка разъёма XP3

Контакт Наименование Назначение
1 VDD1V8_STBY
2 CONN_BMC_SWDIO
3 CONN_BMC_SWCLK
4 BMC_RESET
5 BT_I2C2_SCL_3V3
6 BT_I2C2_SDA_3V3
7 BMC_GOLDEN_BOOT_SS SPI SS
8 BMC_GOLDEN_BOOT_CLK SPI CLK
9 BMC_GOLDEN_BOOT_MISO SPI MISO
10 BMC_GOLDEN_BOOT_MOSI SPI MOSI
11 BT_UART0_TX_TO_CONSOLE TX
12 BT_UART0_RX_FROM_CONSOLE RX
13 CONN_UART_RX_FROM_BMC BMC RX
14 CONN_UART_TX_TO_BMC BMC TX
15 NC
16 NC
17 NC
18 NC
19 NC
20 GND GND

Подключение UART

Консоль

Контакты 11, 12, 20 разъёма XP3 предназначены для подключения к консоли. Используйте адаптер USB to TTL, поддерживающий сигналы уровня 1.8V. Подойдёт адаптер на базе FT232RL, позволяющий выбрать уровень сигнала при помощи джампера.

FT232RL USB TTL adapter

Внимание: использование несовместимого адаптера может повредить электронные компоненты платы! Требуется адаптер TTL 1.8V!

Консоль BMC

Контакты 13, 14, 20 разъёма XP3 предназначены для подключения к консоли BMC. Требования к адаптеру аналогичны предыдущему пункту.

Внимание: использование несовместимого адаптера может повредить электронные компоненты платы! Требуется адаптер TTL 1.8V!

Программирование загрузочной flash

Контакты 7-10, 20 разъёма XP3 предназначены для подключения 1.8V SPI-программатора. Предполагается подключать лишь линии данных, питание от программатора (VCC) на плату подавать не требуется.

Ниже описана работа с программатором TL866A в качестве проверенного варианта работы с загрузочной флешкой. Вы можете использовать любой другой программатор, поддерживающий интерфейс SPI и микросхемы памяти, работающие с напряжением 1.8V.

Внимание: использование несовместимого программатора может повредить электронные компоненты платы! Требуется программатор SPI 1.8V!

1. Подключение программатора

При использовании TL866A потребуется 1.8V адаптер, который можно приобрести в известном китайском онлайн-магазине. Его можно найти по ключевым словам "SPI 1.8V adapter". Адаптер представляет собой небольшую плату с микросхемой 74ALVC164245 и 16-pin ZIF кроваткой.

1.8V SPI adapter

Требуется при помощи проводов соединить контакты ZIF адаптера с соответствующими контактами разъёма XP3. Порядок подключения описан в таблице ниже.

Программатор XP3 Назначение
1 7 SS (CS)
2 9 MISO (DI IO1)
4 20 GND
5 10 MOSI (DI IO0)
6 8 CLK (SCK)

Рекомендую использовать утилиту minipro [1] для работы с программатором. Установка производится по инструкции из readme.

2. Подключение к консоли

Подключите TTL-адаптер к консоли BMC. Если у вас есть два адаптера, то для удобства процесса вы можете также сразу подключить и обычную консоль.

3. Включение платы

Подключите блок питания к плате. Вы должны увидеть сообщения типа следующих в консоли BMC:

L: [MAIN] Timer module init
L: [MAIN] mITX-BMC 1.2rc1 INIT
L: [MAIN] Pins module init

Включите плату нажатием кнопки питания.

4. Включение режима программирования

Непосредственно после включения введите в консоли BMC следующую команду:

pins cpu_off

5. Проверка работы программатора

Следующая команда поможет удостовериться в правильности подключения программатора:

minipro -p 'W25Q128FW(1.8V)@SOIC8' -D

Прочитайте прошивку несколько (два-пять) раз подряд, чтобы убедиться в надёжном соединении контактов и отсутствии наводок, влияющих на процесс:

minipro -p 'W25Q128FW(1.8V)@SOIC8' -r $(date +%Y%m%d-%H%I%S).rom

После выполнения серии тестов сравните полученные файлы:

md5sum *.rom | sort

Контрольные суммы всех считанных прошивок должны совпадать. Если это не так - проверьте схему подключения и повторите тест.

Сохраните текущую прошивку! Она пригодится в том случае, если запись новой прошивки завершится неудачей.

6. Запись прошивки

При необходимости вы можете записать новую версию прошивки в устройство:

minipro -p 'W25Q128FW(1.8V)@SOIC8' -w my.rom

7. Завершение работы

Отключите блок питания платы.

Отключите программатор, если больше не собираетесь его использовать (например, тестировать другую прошивку).

8. Проверка

Переключите TTL-адаптер от консоли BMC в обычную консоль, если у вас есть лишь один адаптер.

Подключите блок питания к плате.

Включите плату нажатием кнопки питания. Проверьте, что всё работает. Если что-то пошло не так - повторите процедуру, записав ранее сохранённую прошивку.