Pull to refresh

Обновление прошивки VoCore: UART

DIY
Sandbox
Недавно нам с друзьями пришло несколько 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
Tags:
Hubs:
Total votes 22: ↑20 and ↓2 +18
Views 11K
Comments Comments 7