Bootloader: различия между версиями

→‎Обновление загрузчика: ещё немного поправил
(переписал всё)
(→‎Обновление загрузчика: ещё немного поправил)
Строка 29: Строка 29:
{{Anchor|update}}
{{Anchor|update}}


Текущую версию загрузчика можно узнать, считав 8 holding регистров с адреса 330:
Текущую версию загрузчика можно узнать, считав 8 holding регистров с адреса 330, например, с помощью [[modbus_client]]:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t3 -r330 -c8 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x03 -r330 -c8 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
</syntaxhighlight>
</syntaxhighlight>


Строка 82: Строка 82:


==== Чтение сигнатуры ====
==== Чтение сигнатуры ====
Для начала нам нужно считать сигнатуру устройства, чтобы понимать, какие загрузчик и прошивки нужны:
Для начала нам нужно считать сигнатуру устройства, чтобы понимать, какие загрузчик и прошивки нужны.
 
Сделать это можно прочитав 12 holding регистров с адреса 290, например, с помощью [[modbus_client]]:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x03 -r290 -c12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')
echo -e $(modbus_client -mrtu -pnone -s2 /dev/ttyRS485-1 -a1 -t0x03 -r290 -c12 | grep Data | sed -e 's/.*Data://' -e 's/ 0x00/\\x/g')