[Из песочницы] Обновление прошивки VoCore: UART
Недавно нам с друзьями пришло несколько VoCore, которые заказывали летом. Мы сразу же начали их изучать и всячески экспериментировать. В ходе моих попыток настроить одну, система была убита и мини-компьютер больше не загружался. Через несколько минут было найдено несколько страниц, посвященных VoCore, и инструкция по использованию kermit.Чтобы перепрошить сей девайс, нам понадобится преобразователь USB-UART и проводочки, чтобы это всё соединить. На картинке ниже указаны, где находится питание и порт UART:
Втыкаем монтажные проводки и загибаем концы, чтобы не не паять. Контакт получается стабильным.
Была такая проблема, что плата видела только 13М RAM вместо положенных 32М. На форуме VoCore посоветовали подключить общий провод к другому контакту GND, но это не помогло. Поэтому у меня питание идет напрямую от USB.
Далее включаем kermit, передаем в него параметры и подключаемся:
C-Kermit> set line /dev/ttyUSB0 C-Kermit> set speed 57600 C-Kermit> set serial 8N1 C-Kermit> set carrier-watch off C-Kermit> set flow-control none C-Kermit> set prefixing all C-Kermit> set modem none C-Kermit> set file type bin C-Kermit> set file name lit C-Kermit> connect Connecting to /dev/ttyUSB0, speed 57600 Escape character: Ctrl-\ (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by? to see other options. ---------------------------------------------------- Передергиваем питание вокорки и нажимаем 'x' (по умолчанию у нас есть 1 секунда): U-Boot for VoCore (based on RT5350)… Version: May 30 2014 20:52:36
Press 'x' to console…
VoCore> Переводим вокорку в режим приёма данных: VoCore> loadb ## Ready for binary (kermit) download to 0×80100000 at 57600 bps… Теперь нажимаем Ctrl+\ и затем C, чтобы вернуться в меню kermit. Заливаем прошивку: C-Kermit> send vocore.bin Пока прошивка передаётся, можно пойти попить чайку, у нас есть на это примерно 12 минут…
После того, как прошивка скачалась, снова подключаемся к консоли:
C-Kermit> connect Connecting to /dev/ttyUSB0, speed 57600 Escape character: Ctrl-\ (ASCII 28, FS): enabled Type the escape character followed by C to get back, or followed by? to see other options. ---------------------------------------------------- ## Total Size = 0×00380004 = 3807876 Bytes ## Start Addr = 0×80100000 Сравниваем полученный размер с размером исходного файла — он должен быть одинаковым. Запоминаем его.Далее стираем, что у нас было: VoCore> erase linux
Erase linux kernel block! From 0×50000 length 0×7B0000 raspi_erase: offs:50000 len:7b0000 … Записываем свой линукс (размер указывайте свой!): VoCore> cp.linux 380004 current count: 3407876
Copy linux image[3807876 byte] to SPI Flash[0×00050000]… raspi_write: to:50000 len:340004 … VoCore> Если что-то пошло не так и ОС не загрузилась, то БЕЗ ПАНИКИ делаем всё заново. У меня получилось с первого раза, чего и вам желаю.При удачном исходе загрузка пройдет успешно:
U-Boot for VoCore (based on RT5350)… Version: May 30 2014 20:52:36
Press 'x' to console…
Booting image at bc050000 . Image Name: MIPS OpenWrt Linux-3.10.36 Created: 2014–07–21 20:50:55 UTC Image Type: MIPS Linux Kernel Image (lzma compressed) Data Size: 982138 Bytes = 959.1 kB Load Address: 80000000 Entry Point: 80000000 Load Kernel: …
Verifying Checksum … OK Uncompressing Kernel Image … OK После такого достижения я рассказал свою историю друзьям. Они, в свою очередь, обозвали меня дураком и поведали, что можно восстановить настройки командой:
firstboot