Найти тему
Solo лаборатория

OrangePi 2G-iot: Загрузка с NAND (Android)

Так как стабильной версии прошивки для microSD не обнаружено, будем искать стабильный образ для NAND. На официальном сайте представлена специальная программа, которая обеспечивает прошивку NAND памяти. Правда для этих целей подходит не абы какой образ, а только один из представленных и тот использует в качестве операционной системы Android. Что нам совсем не интересно, но нужно разобраться как использовать эту память и есть ли стабильная рабочая прошивка для этой платы.

План такой воспользоваться представленной программой и понять, что из себя представляет данный образ. А так же каким образом происходит программирование и чтение памяти NAND.

Скачав архив с утилитой мы обнаружили, что она под Windows. В комплекте с ней также идет драйвер для COM-порта. Забегая вперед хочу сказать, что у нас получилось прошить память из под Windows только после установки драйверов из комплекта с утилитой. Для прошивки используется интерфейс microUSB, через который по умолчанию подается питание на плату. При загрузки платы в режим PDL в Linux определяется новое устройство /dev/ttyACM0. Через это устройство и происходит процесс прошивки памяти.

Основной экран утилиты  OrangePi_2G-IOT_Update
Основной экран утилиты OrangePi_2G-IOT_Update

Процесс прошивки следующий. Устанавливаем конфигурационные переключатели по умолчанию. Переключатель загрузки устанавливаем в режим загрузки с NAND. Устанавливаем драйверы и запускаем программу OrangePi_2G-IOT_Update.exe. После чего в программе жмем кнопку "Load BIN" выбираем в открывшемся окне файл образа для загрузки. И жмем кнопку "Download". Далее переводим плату в режим PDL (зажимаем кнопку и подаем питание). И тогда начнется процесс загрузки образа в NAND память. По завершению этого процесса произойдет сброс и в отладочном терминале наблюдаем лог загрузки Android.

Интересно, что в момент прошивки в отладочный терминал так же выводится масса интересной информации о ходе прошивки чипа. В будущем нам это поможет анализировать протокол с помощью которого происходит загрузка данных в чип. Пока что будем его называть "PDL протокол".

Лог снятый во время прошивки можно взять здесь.

В заключении, что бы использовать данную память в своих целях нам будет необходимо разобрать формат образа используемый утилитой для прошивки или разобраться в протоколе PDL для передачи данных на плату. Первое нам позволит создать для загрузки свой собственный образ без Android. А второе позволит использовать для этих целей Linux и заливать данные куда и как нам хочется.