Недавно нам с друзьями пришло несколько 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 0x80100000 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 = 0x00380004 = 3807876 Bytes
## Start Addr = 0x80100000
Сравниваем полученный размер с размером исходного файла — он должен быть одинаковым. Запоминаем его.
Далее стираем, что у нас было:
VoCore> erase linux
Erase linux kernel block !!
From 0x50000 length 0x7B0000
raspi_erase: offs:50000 len:7b0000
...........................................................................................................................
Записываем свой линукс (размер указывайте свой!):
VoCore> cp.linux 380004
current count: 3407876
Copy linux image[3807876 byte] to SPI Flash[0x00050000]....
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
Автор: kot9pko