wiki:Hacks

Version 12 (modified by san, 3 months ago) ( diff )

--

Плата SW-01

Полезные хитрости

Внимание! Данное руководство предназначено для опытных пользователей. Выполнение некорректных команд может привести к потере работоспособности платы.

  • Отладочный лог в sw-01: в файле /etc/init.d/swd.sh в переменной ARGS добавить опцию -l7, после сохранения файла перезапустить
  • Перезапуск swd /etc/init.d/swd.sh restart
  • Просмотр последних сообщений лога "на лету" с фильтрацией по слоту tail -F /var/permlog/messages | grep "slot 07"
  • Обновление ПО ПЛИС fpgactl -f /usr/share/sw/sw.rbf
  • Посмотреть законфигурирована ли ПЛИС fpgactl -s
  • Резет кассеты spictl 81 01 00 00
  • Лог swd:cat /var/permlog/messages
  • Вывод лога в реалтайме с грепом по слоту: swd -d 2>&1 |grep 'slot 01'
  • Команды мониторинга monitoring.txt. Например, запрос миба платы из браузера http://192.168.0.215/api.php?json={"cmd":"getMIB","slot":15}
  • Команды из консоли send <slot> xx xx ...., данные команды.
  • Полный snmp oid 1.3.6.1.4.1.32109.9999.4.<slot>.<oid>
  • Для того чтобы процесс swd не запускался повторно (если его убить) нужно создать файл touch /tmp/restarting-swd
  • Убить swd killall swd
  • Отправка сырых данных по шине SPI(swd должен быть убит в это время) spictl 1 6 <slot> xx xx xx xx ... , xx - данные в hex. Данные отправляются как есть, контрольную сумму, флаги 7E и esq -нужно самому.
  • Обновление напрямую через opkg. Если репозиторий свой(локальный) то в файлах конфига opkg нужно прописать адреса к репозиторию вместо https://repo.adc-line.ru/sw-01/ipk/. В примере репозиторий на ftp://192.168.0.5:2100: /etc/opkg/all-feed.conf src/gz all ftp://192.168.0.5:2100/all, /etc/opkg/armv5te-feed.conf src/gz armv5te ftp://192.168.0.5:2100/armv5te, /etc/opkg/at91sam9g20ek-feed.conf src/gz at91sam9g20ek ftp://192.168.0.5:2100/at91sam9g20ek

После обновления вернуть всё как было

echo 'src/gz all https://repo.adc-line.ru/sw-01/ipk/all' > /etc/opkg/all-feed.conf
echo 'src/gz armv5te https://repo.adc-line.ru/sw-01/ipk/armv5te' > /etc/opkg/armv5te-feed.conf
echo 'src/gz at91sam9g20ek https://repo.adc-line.ru/sw-01/ipk/at91sam9g20ek' > /etc/opkg/at91sam9g20ek-feed.conf


ИНСТРУКЦИЯ по устранению циклического перезапуска платы (тормозит jffs)

  1. Отключить swd использование watchdog таймера добавлением опции -w (в файле /etc/init.d/swd.sh в переменной ARGS добавить опцию -w, после сохранения файла перезапустить).
  2. Дать плате запуститься и поработать минут 10.
  3. Вернуть все обратно (убрать добавленную опцию -w и перезапустить swd).



ИНСТРУКЦИЯ по скипанью плохих блоков NAND FLASH

  1. Подключить терминал к технологическому порту RS-232.
  2. Подать питание на плату SW-01.
  3. При появлении надписи "Hit any key to stop autoboot" нажать ENTER.
  4. Ввести команду nand markbad <address> где <address> - адрес дефектного блока.
  5. Нажать ENTER.

Как вычислить адрес плохого блока: в адресе, который сообщает linux, обнулить 17 младших бит, а затем прибавить адрес начала раздела с файловой системой (адреса разделов linux пишет при старте, файловая система находится в разделе "root", сейчас его адрес 0x3a0000).
Как проверить в u-boot, что блок не читается: выполнить команду nand read 0x22000000 <address> 0x20000 и контролировать наличие ошибки.

ИНСТРУКЦИЯ перепрограммирования платы

  1. Подключить шнур USB
  2. Подключить терминал в COM
  3. Замкнуть пинцетом точки как на фото

  1. Подать питание
  2. В терминале должна появиться надпись RomBOOT
  3. Разомкнуть точки (убрать пинцет)
  4. ОС определит коммуникационное устройство на шине USB (например /dev/ttyACM0).
  5. Запустить sam-ba (2.14), в появившемся диалоге в строке “Select the connection” выбрать USB-устройство, “Select your board” выбрать “at91sam9g20-ek”, нажать “Connect”.
  6. В окне sam-ba выбрать вкладку “NandFlash”.
  7. В секции scripts выбрать “Enable NandFlash” и нажать кнопку “Execute”.
  8. Стереть содержимое, Erase all
  9. Далее по методике

Attachments (2)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.