Инструменты пользователя

Инструменты сайта


rk3568:rk3568-rhos-kitsbimx8

Использование отладочной системы из процессорного модуля rk3568-rhos и несущей платы KitSBiMX8

Минимально необходимая инструкция по работе с указанным отладочным набором.

Выполняемые действия

  • Прошивка начальных загрузчиков
  • Загрузка системы с внешних накопителей и из сети
  • базовая проверка основных накопителей и интерфейсов

Полная проверка может требовать дополнительных работ по конфигурированию (установки джамперов) отладочной платы KitSBiMX8 и не описана в данном документе.

Минимально необходимый комплект оборудования

Проверьте наличие и исправность следующих элементов

  1. Плата KitSBiMX8 с предварительно установленными конфигурационными переключателями (по возможности и ее схема электрическая принципиальная)
  2. Плата процессорного модуля rk3568-rhos (по возможности и ее схема электрическая принципиальная)
  3. Источник питания на напряжение в диапазоне от 12 до 25 Вольт, мощностью не мене 25 Ватт
  4. Персональный компьютер с установленной операционной системой Linux (рекомендуется последний из доступных LTS релизов Ubuntu Linux)
  5. Кабель с разъемом для соединения платы KitSBiMX8 и источника питания собранный с соблюдением требований полярности подключения
  6. Кабель USB 2.0 A-B для подключения отладочной консоли
  7. Кабель USB 2.0 A-microB для прошивки модуля

Дополнительное рекомендуемое оборудование

  1. Кабель HDMI
  2. Монитор с видеовходом HDMI
  3. NVMe накопитель, способный работать с 2-lane PCIe 3.0 интерфейсом
  4. microSD карта памяти
  5. проводное сетевое соединение с комплектом необходимых кабелей
  6. плата в форм-факторе PCIe x4, поддерживающая OS Linux
  7. ЖКИ монитор с интерфейсом LVDS, с комплектом кабелей для подключения

Проверка и установка конфигурационных переключателей

Поверьте наличие, и при необходимости установите два конфигурационных переключателя на XP14 в позиции 1-2 и 3-4 (системная консоль на USB type B интерфейсе).

Проверьте возможность временно замыкать конфигурационный переключатель XP43 (используется для перевода RK3568 в MaskRom режим, для загрузки через USB интерфейс).

Проверьте наличие, и при необходимости установите два конфигурационных переключателя на XP67 в позиции 1-2 и 3-4 (I2C интерфейс для базовой периферии - RTC, Audio Codec).

Проверьте наличие и при необходимости установите конфигурационные переключатели для правильной работы USB-концентратора

  • XP74 в позиции 1-2
  • XP61 установлен
  • XP15 в позиции 1-2

todo: description

XP62 1-2 - LCD_EN_12V
XP23 2-3 - LCD_RL/UL
XP24 1-2 - LCD_LVDS_SEL
XP25 1-2 - LCD_EN_3V3
XP60 2-3 - LCD_PWM
XP63 2-3 - LCD_BL_EN
XP78 установлен DSI_EN

XP71 1-2 - SPI conncted to FLASH

XP34 1-2, 3-4 - SMB I2C connect to bus multiplexer
XP69 1-2,3-4,5-6,7-8 - SPI connect to level shifter
XP68 1-2,3-4 - I2C connected to EEPROM

XP28 и XP45 сняты (PCIe CLKREQn принудительно ноль - отключено).

XP56 установлен (GPIO_PWR_OFF)
XP57 установлен (DIS AUTO ON)
XP58 установлен (PWR_INT)

Первое включение

Подключите плату KitSBiMX8 к источнику питания, включите источник питания. Кратко нажмите кнопку SB2.

Должны загореться контрольные светодиоды VD132, VD133, VD139 расположенные рядом с разъемом питания и кнопкой SB1. Потребляемая мощность при этом не должна превышать 50мВт.

Нажмите и удерживайте нажатой кнопку SB2, В течении 5-10 секунд светодиоды должны погаснуть.

Подключите кабель USB 2.0 A-B к плате KitSBiMX8 (XS13) и персональной ЭВМ. На персональной ЭВМ должен обнаружиться устройство «Future Technology Devices International, Ltd FT232 Serial (UART) IC». Запустите терминал с параметрами соединения 115200n8 на обнаруженном порту.

Подключите кабель USB 2.0 A-microB к плате KitSBiMX8 (XS12) и персональной ЭВМ. На плате должен загореться светодиод VD32, расположенный рядом с разъемом XS12.

Установите модуль rk3568-rhos в слот на плате KitSBiMX8. Включите плату с процессорным модулем кратко нажав и отпустив кнопку SB2. Проконтролируйте сообщения в терминале. При их наличии установлен «прошитый» модуль, при отсутствии - чистый. Обратите внимание - в ряде случаев сообщения появляются при изменении настроек терминала на 1500000n8 - это показатель того, что модуль содержит штатную программу от производителя.

Перевод в MaskRom режим

При установки «чистого» модуля, после подачи питания на персональной ЭВМ должно обнаружиться устройство «Fuzhou Rockchip Electronics Company» с VID 0x2207 и PID 0x350a. При установке прошитого модуля, его необходимо перевести в режим загрузки. Для этого отключите плату удерживая кнопку SB2 до момента выключения светодиодов VD132, VD133, VD139. Замкните и удерживайте замкнутыми контакты 1-2 XP43. Включите плату кратким нажатием на кнопку SB2 (VD132, VD133, VD139 должны загореться). Проконтролируйте перевод в MaskRom режим отсутствием сообщений о загрузке в терминале и появлении устройства «Fuzhou Rockchip Electronics Company» на персональной ЭВМ. Разомкните контакты 1-2 XP43. Модуль rk3568-rhos готов к установке прошивки.

Сборка и установка начального загрузчика U-Boot

Сборка

$ git clone https://github.com/MinimumLaw/rkbin.git
$ git clone https://github.com/MinimumLaw/ravion-uboot.git -b ravion-v2-2024.04
$ cd ravion-uboot

Подготовительный этап завершен. На данный момент далее необходимо применить патч для работы интерфейса Ethernet

phy-fixup.patch
diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 63b3e46f1..161cb6b05 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -755,6 +755,15 @@ int phy_reset(struct phy_device *phydev)
 		return -1;
 	}
 
+	reg = phy_read(phydev, devad, 0x0467);
+	if ((reg & 0x0300) != 0x0200) {
+	    pr_err("PHY Strap failed (0x%04x), set correct!\n", reg);
+	    reg = (phy_read(phydev, devad, 0x0017) | (1<<9));  /* RGMII mode */
+	    phy_write(phydev, devad, 0x0017, reg);
+	    reg = (phy_read(phydev, devad, 0x0019) | (1<<15)); /* Auto-MDX mode */
+	    phy_write(phydev, devad, 0x0019, reg);
+	}
+
 	return 0;
 }
 

Применить указанный патч можно с помощью команды

$ patch -p1 < phy-fixup.patch

Контролируем правильность применения патча по диагностическим сообщениям и по выводу команды

$ git diff

После применения указанного патча необходимо выполнить сборку загрузчика. Для этого запускаем сборочный скрипт.

$ ./build_rk3568j_rhos.sh

Проконтролировать правильность сборки по отсутствию сообщений о критических ошибках в терминале и наличию итогового файла «u-boot-rockchip.bin»

Установка

Убедитесь, что устройство находится в MasRom режиме и позволяет контролировать системную консоль через терминал.

$ sudo ./rk3568_flash.sh 

Процесс загрузки контролировать через сообщения на ЭВМ, а так же в терминале.

Работа с загрузчиком U-Boot

ToDo: Переменные среды в загрузчике не рабочие. Необходима персонализация модуля и указание правильных переменных среды для загрузки. Это надо описать отдельно.

Сборка и установка начального загрузчика EDK II

Клонируем локально репозитарий RHOS-RK3568

$ git clone https://github.com/MinimumLaw/rhos-rk3568-uefi.git

Инициализируем необходимые подмодули, для этого переходим в созданный каталог

$ cd rhos-rk3568-uefi/

и запускаем

$ git submodule update --init --recursive

Дожидаемся завершения синхронизации субмодулей. Все готово для сборки EDKII.

Сборка прошивки EDKII

Для сборки отладочной версии необходимо запустить

$ ./build-debug-rk3568-rhos.sh

Для сборки релизной версии необходимо запустить

$ ./build-release-rk3568-rhos.sh

В любом случае мы получим файл «RK3568-RHOS_EFI.img» в текущем каталоге. Это и есть итоговый файл прошивки.

Загрузка прошивки в плату

Загрузка собранной прошивки в плату осуществляется с помощью скрипта

flash-rk3568-rhos.sh

Убедитесь, что плата находится в MaskRom режиме. Контролируйте процесс загрузки по сообщениям скрипта и информации в терминале.

Сборка ядра Linux

$ git checkout https://github.com/MinimumLaw/ravion-kernel.git
$ cd ravion-kernel

Поправить скрипт build64.sh в части используемого кросс-компилятора, пути до корневого каталога целевой системы и других необходимых параметров сборки. Запустить сборку ядра.

$ ./build64.sh

Проконтролировать правильность сборки ядра по диагностическим сообщениям сборочной системы.

Известные проблемы

  1. На данный момент работоспособность Ethernet интерфейса в U-Boot без применения патча не гарантируется. Нужен либо патч, либо аппаратная доработка модулей. Предположительная причина - проблемы с элементной базой.
  2. На данный момент загрузчики U-Boot и EDKII работают с основного аппаратного раздела eMMC накопителя. Необходимо перенести их на аппаратные разделы BOOT0/BOOT1 и обеспечить работу с них
  3. На данный момент в EDKII поддерживается только HDMI и последовательная консоль. Необходимо обеспечить работу видеоинтерфейса MIPI DSI
  4. На данный момент в EDKII поддерживаются не все накопители NVMe (в частности не поддерживается Patriot P300)
rk3568/rk3568-rhos-kitsbimx8.txt · Последнее изменение: 2024/06/10 12:01 — 127.0.0.1