[wiki:WikiStart Плата SW-01][[BR]] [[BR]] == Полезные хитрости == [[span(style=color: #FF0000, ''Внимание! Данное руководство предназначено для опытных пользователей. Выполнение некорректных команд может привести к потере работоспособности платы. '')]] - Отладочный лог в 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'}}} - Команды мониторинга [[attachment:monitoring.txt]]. Например, запрос миба платы из браузера{{{ http://192.168.0.215/api.php?json={"cmd":"getMIB","slot":15} }}} - Команды из консоли {{{send xx xx ....}}}, данные команды. - Полный snmp oid {{{1.3.6.1.4.1.32109.9999.4..}}} - Для того чтобы процесс swd не запускался повторно (если его убить) нужно создать файл {{{touch /tmp/restarting-swd}}} - Убить swd {{{killall swd}}} - Отправка сырых данных по шине SPI(swd должен быть убит в это время) {{{spictl 1 6 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}}} После обновления вернуть всё как было {{{ touch /etc/opkg/all-feed.conf src/gz all https://repo.adc-line.ru/sw-01/ipk/all touch /etc/opkg/armv5te-feed.conf src/gz armv5te https://repo.adc-line.ru/sw-01/ipk/armv5te touch /etc/opkg/at91sam9g20ek-feed.conf src/gz at91sam9g20ek https://repo.adc-line.ru/sw-01/ipk/at91sam9g20ek }}} [[BR]] **ИНСТРУКЦИЯ по устранению циклического перезапуска платы (тормозит jffs)** [[BR]] 1. Отключить swd использование watchdog таймера добавлением опции -w (в файле {{{/etc/init.d/swd.sh}}} в переменной {{{ARGS}}} добавить опцию {{{-w}}}, после сохранения файла перезапустить). 2. Дать плате запуститься и поработать минут 10. 3. Вернуть все обратно (убрать добавленную опцию -w и перезапустить swd). [[BR]][[BR]] **ИНСТРУКЦИЯ по скипанью плохих блоков NAND FLASH** [[BR]] 1. Подключить терминал к технологическому порту RS-232. 2. Подать питание на плату SW-01. 3. При появлении надписи "Hit any key to stop autoboot" нажать ENTER. 4. Ввести команду nand markbad
где
- адрес дефектного блока. 5. Нажать ENTER. Как вычислить адрес плохого блока: в адресе, который сообщает linux, обнулить 17 младших бит, а затем прибавить адрес начала раздела с файловой системой (адреса разделов linux пишет при старте, файловая система находится в разделе "root", сейчас его адрес 0x3a0000). [[BR]] Как проверить в u-boot, что блок не читается: выполнить команду nand read 0x22000000
0x20000 и контролировать наличие ошибки. [[BR]][[BR]] **ИНСТРУКЦИЯ перепрограммирования платы** 1. Подключить шнур USB 2. Подключить терминал в COM 3. Замкнуть пинцетом точки как на фото [[Image(romboot.jpg)]] 4. Подать питание 5. В терминале должна появиться надпись RomBOOT 1. Разомкнуть точки (убрать пинцет) 6. ОС определит коммуникационное устройство на шине USB (например /dev/ttyACM0). 7. Запустить sam-ba (2.14), в появившемся диалоге в строке “Select the connection” выбрать USB-устройство, “Select your board” выбрать “at91sam9g20-ek”, нажать “Connect”. 8. В окне sam-ba выбрать вкладку “!NandFlash”. 9. В секции scripts выбрать “Enable !NandFlash” и нажать кнопку “Execute”. 10. Стереть содержимое, Erase all 11. Далее по методике