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

Внимание: использование несовместимого адаптера может повредить электронные компоненты платы! Требуется адаптер 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 кроваткой.

Требуется при помощи проводов соединить контакты 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 в обычную консоль, если у вас есть лишь один адаптер.
Подключите блок питания к плате.
Включите плату нажатием кнопки питания. Проверьте, что всё работает. Если что-то пошло не так - повторите процедуру, записав ранее сохранённую прошивку.

