Удалить после переноса в шапкуЧасть первая - Подключение UART см. выше
Часть Вторая Разбивка памяти MTD и загрузка устрйства на AML8726-M (c03ref и stvm3)
Примечание. f16ref и stvmc имеют много реализаций разбивки памяти и именно поэтому из-за не полной прошивки превращаются в "кирпичи".
Разбивка памяти stvm3 и c03refВыводы:
1. Разбивка SPI одинаковая
2. Разделы boot, recovery и ubootenv скрыты, то есть из ядра при записи в эти разделы будем попадать на NAND, а не SPI
3. SPI из ядра(система и рековери) прошивается через разделы spi и ubootwhole соответственно
4. Разбивка NAND абсолютно разная, поэтому без прошивки SPI изменить c03ref на stvm3 никак нельзя
Прядок загрузки c03ref0. Firmware start - оно запускает u-boot
1. Загрузка u-boot из SPI (Если SPI не доступно то из NAND или SD, на это и рассчитано замыкание контактов , но работает не всегда и на карте теоретически обязательно должен быть u-boot)
1.1. Инициализация DRAM 512MiB
1.2. Инициализация NAND 4GiB
1.3. Инициализация NAND partition table из aml nand env valid addr - т.е. таблица хранится по определенному адресу (Напимер a2000 - c03ref, a4000 - stvm3)
1.4. Инициализация MMC: SDIO Port A: 0
1.5. Инициализация SPI M25X16 2MiB
1.6. Загрузка лого из NAND
1.7. Инициализация OSD
1.8. Обработка кнопки Recovery - ENTER U-BOOT SWITCH MODE !!!!
get_adc_sample(4): 0x3ff, get_key(): 0 - Normal Start...
get_adc_sample(4): 0x0, get_key(): 1 - Recovery Start...
2. Normal Start...
2.1. Загрузка из NAND
2.2. Загрузка лого из NAND
2.3. Загрузка ядра (boot) из NAND
2.4. Запуск ядра
2.4.1. NAND partition table
2.4.2. SPI partition table
...
3. Recovery Start...
3.1. Попытка загрузить uImage_recovery из SD 0:1 - Файл должен называться именно uImage_recovery, Раздел должен быть именно 0:1, т.е. иногда система назначает 0:5 и с такой SD рековери не запустится
3.2. Попытка загрузить uImage_recovery из SD 0:2
3.3. Попытка загрузить uImage_recovery из SD 0:3
3.4. Попытка загрузить uImage_recovery из SD 0:4
3.5. Попытка загрузить рековери из NAND or SPI
3.6. Запуск ядра (Recovery)
3.6.1. NAND partition table
3.6.2. SPI partition table
Прядок загрузки stvm3Все то же самое, за исключением Recovery (Особенность u-boot)
3. Recovery Start...
3.1. Попытка загрузить рековери из NAND or SPI - Т.е. на stvm3 u-boot не пытается загрузить Recovery с SD и поэтому обычные методы восстановления с SD не работают, а если Recovery поврежден в SPI, то и замыкание контактов не поможет.
3.2. Запуск ядра (Recovery)
3.2.1. NAND partition table
3.2.2. SPI partition table
Вывод:Есть несколько возможных варианта восстановления (и степени тяжести "обкирпичивания" коробки):
1. Устройство не загружается, зависает на зеленом андройде, Recovery загружается
Решение первое: Вайпы.
Решение второе: Перепрошивка.
2. Устройство не загружается, A9 появляется, зависает до появления зеленого, или на экране мусор, или постоянная перезагрузка, Recovery загружается
Решение: Прошиваем spi или ubootwhole через update.zip. Перезагружаемся в Recovery(тут обновятся данные MTD). Еще раз перезагружаемя в Recovery и прошиваем основную прошивку два раза.
3. Устройство не загружается, A9 появляется (u-boot стартует), зависает до/полсе появления зеленого, или на экране мусор, или постоянная перезагрузка, Recovery не загружается
Решение: Подключаемся по UART, останавливаем загрузку и вручную командами переписываем SPI, при желании и NAND (но можно и через Recovery)
4.Устройство не загружается, A9 не появляется - u-boot с SPI не стартует
Решение первое: Делаем загрузочную SD, вставляем и включаем, по-идее u-boot с SD стартует сам, т.к. родной u-boot не стартует (О чем есть сообщения пользователей).
Решение второе: Если само не запустилось, пробуем замыкание контактов.
Примечание. Отсутствие изображения не говорит о том, что у вас сразу 4-й вариант. Возможно просто не совместимое разрешение HDMI. (На других ввыводах вообще изображения нет при загрузке)
Второй и третий варианта будут рассмотрены подробнее,
с описанием создания spi/ubootwhole из u-boot ubootenv и recovery
c описанием созадния update.zip для прошивки spi/ubootwhole - он же метод создания прошивки для восстановления из бэкапа
с описанием востановления прошивки в SPI и NAND через команды в UART
Сообщение отредактировал del-y-sid - 03.02.13, 16:19