реклама на сайте
подробности

 
 
AnMD
сообщение Aug 29 2013, 08:32
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 6-09-11
Пользователь №: 67 029



Добрый день. Необходима помощь.

В данный момент занимаемся разработкой девайса следующей конфигурации:
cpu: TI AM3715
ram: 2 микросхемы K4X1G163PC(по 128MB) - в данный момент одна микросхема отключена софтварно.
ethernet: 2 контроллера KSZ8851SNLI(интерфейс подключения SPI)
flash: 2 микросхемы MT29F2G(по 256MB) - в данный момент одна микросхема отключена софтварно.
также подключена камера по интерфейсу с которой получаем картинку, обрабатываем и отдаем на внешку по ethernet или кладем на флешку(по запросу).

Все это дело работает под управлением ядра linux-3.9.2.
Файловая система с набором необходимого софта собрана при помощи buildroot-2013.05.
Кросскомпилятор которым собирается ядро и весь самописный софт gcc-4.6.4.

Вся связь, дебаг и все такое осуществляется через преобразователь rs232-USB.


Проблема заключается в том что система нестабильна и переодически зависает. Тесты проводились на 22-х тестовых образцах данного устройства, поэтому неисправность одного конкретного экзепляра можно исключить. Проблема повторяется на всех устрйоствах.

Сначала грешили на связку(ethernet-SPI), но серия испытаний с отключенным ethernet'ом опровергла данные подозрения(отключали ethernet исключением процедуры инициализации в ядре).

При опросе через ethernet(выкачивание картинки, опрос состояния по протоколу modbus TCP), появление проблем происходит значительно быстрее.

Характерные признаки начала проблем с системой:
1)Полностью отваливается сеть.
2)Команды вводимые в консоли, выполняются только по двойному нажатию enter.
3)Выполнение некоторых комманд приводит к полному повисанию консоли(возможно и всего устройства). Например команды top.
4)Иногда могут сами по себе в консоли появляться сообщения - хелп по SysRQ.

CODE

[78238.108581] SysRq : HELP : loglevel(0-9) reBoot Crash show-all-locks(D) terminate-all-tasks(E) memory-full-oom-kill(F) kill-all-tasks(I)
thaw-filesystems(J) saK show-memory-usage(M) nice-all-RT-tasks(N) powerOff show-registers(P) show-all-timers(Q) unRaw Sync show-task-states(T) Unmount show-blocked-tasks(W) dump-ftrace-buffer(Z)



Dmesg ничего интересного не выдает. Работа якобы в нормальном режиме.

Подскажите что может вызывать описаные симптомы. Возможно кто-то уже сталкивался с таким повдением.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Tarbal
сообщение Aug 29 2013, 19:10
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 351
Регистрация: 21-05-10
Пользователь №: 57 439



У этого процессора есть ножка, которую можно использовать как вывод разных внутренних clocks. Если она подключена, то можно попробовать если частоты правильные и не меняются когда проблемы начинаются. В конфигурации выхода есть возможность поделить. Если не поделить, то частоты выше 100 мегагерц непросто смотреть осциллографом или чем другим.
Что помню там есть два выхода, второй может быть подключен к разным источникам.
Проверьте если частоты не изменяются.

Тест проделайте:
Поставьте эту же систему на Beagleboard. Там почти такой же процессор.
Ну для начала рут файл систему записать на устройство с биглбордом и попробовать те же условия.

Это даст вам информацию, что виновато верхний уровень или кернел, бутлоадер и икхлоадер.

Цитата(Dron_Gus @ Aug 29 2013, 18:46) *
Судя по выскакивающему Magic SysRq я бы сказал, что у Вас какая-то проблема с последоваельным портом или преобразователем USB-serial. Если его совсем отключить, устройство виснет?

Кстати да!
Можно запретить в конфигурации кернела CONFIG_MAGIC_SYSRQ и перестроить кернел.

А проверить стазу можно вот так:
echo 0 >/proc/sys/kernel/sysrq


in /proc/sys/kernel/sysrq:
0 - disable sysrq completely
1 - enable all functions of sysrq
>1 - bitmask of allowed sysrq functions (see below for detailed function
description):
2 - enable control of console logging level
4 - enable control of keyboard (SAK, unraw)
8 - enable debugging dumps of processes etc.
16 - enable sync command
32 - enable remount read-only
64 - enable signalling of processes (term, kill, oom-kill)
128 - allow reboot/poweroff
256 - allow nicing of all RT tasks

You can set the value in the file by the following command:
echo "number" >/proc/sys/kernel/sysrq


Сообщение отредактировал Tarbal - Aug 29 2013, 19:14
Go to the top of the page
 
+Quote Post
AnMD
сообщение Aug 30 2013, 10:04
Сообщение #3





Группа: Новичок
Сообщений: 7
Регистрация: 6-09-11
Пользователь №: 67 029



Цитата(Tarbal @ Aug 29 2013, 23:10) *
У этого процессора есть ножка, которую можно использовать как вывод разных внутренних clocks. Если она подключена, то можно попробовать если частоты правильные и не меняются когда проблемы начинаются. В конфигурации выхода есть возможность поделить. Если не поделить, то частоты выше 100 мегагерц непросто смотреть осциллографом или чем другим.
Что помню там есть два выхода, второй может быть подключен к разным источникам.
Проверьте если частоты не изменяются.


Частоты проверяли. Понижали и смотрели осциллографом. Все стабильно.

Цитата(Tarbal @ Aug 29 2013, 23:10) *
Тест проделайте:
Поставьте эту же систему на Beagleboard. Там почти такой же процессор.
Ну для начала рут файл систему записать на устройство с биглбордом и попробовать те же условия.

Это даст вам информацию, что виновато верхний уровень или кернел, бутлоадер и икхлоадер.

Биглборда у нас нет. Но есть Mistral'евский кит с данным процом. Попробуем залить ядро на него.

Цитата(Tarbal @ Aug 29 2013, 23:10) *
Кстати да!
Можно запретить в конфигурации кернела CONFIG_MAGIC_SYSRQ и перестроить кернел.

А проверить стазу можно вот так:
echo 0 >/proc/sys/kernel/sysrq


in /proc/sys/kernel/sysrq:
0 - disable sysrq completely
1 - enable all functions of sysrq
>1 - bitmask of allowed sysrq functions (see below for detailed function
description):
2 - enable control of console logging level
4 - enable control of keyboard (SAK, unraw)
8 - enable debugging dumps of processes etc.
16 - enable sync command
32 - enable remount read-only
64 - enable signalling of processes (term, kill, oom-kill)
128 - allow reboot/poweroff
256 - allow nicing of all RT tasks

You can set the value in the file by the following command:
echo "number" >/proc/sys/kernel/sysrq


Отключить SysRq не проблема. Но появление сообщения скорее симптом, а не причина. Поэтому отключение SysRq не излечивает девайс, а лишь убирает симптом.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AnMD   Зависание embedded linux на ARM.   Aug 29 2013, 08:32
- - Tarbal   Цитата(AnMD @ Aug 29 2013, 12:32) Добрый ...   Aug 29 2013, 12:49
|- - AnMD   Цитата(Tarbal @ Aug 29 2013, 16:49) Перед...   Aug 29 2013, 13:52
- - Dron_Gus   Судя по выскакивающему Magic SysRq я бы сказал, чт...   Aug 29 2013, 14:46
|- - Tarbal   Цитата(AnMD @ Aug 30 2013, 14:04) Частоты...   Aug 30 2013, 11:36
|- - psL   Ядро обычно по-тихому не валится. Нужно включить в...   Aug 30 2013, 12:29
|- - AnMD   Цитата(Tarbal @ Aug 30 2013, 15:36) Еще в...   Aug 31 2013, 05:10
|- - psL   Цитата(AnMD @ Aug 31 2013, 09:10) Дебаг и...   Aug 31 2013, 06:00
|- - AnMD   Цитата(psL @ Aug 31 2013, 10:00) Консоль ...   Aug 31 2013, 07:40
|- - psL   Цитата(AnMD @ Aug 31 2013, 11:40) не совс...   Aug 31 2013, 13:33
|- - sasamy   Цитата(AnMD @ Aug 31 2013, 11:40) Тест па...   Aug 31 2013, 16:36
|- - psL   Цитата(sasamy @ Aug 31 2013, 20:36) забав...   Sep 1 2013, 06:33
- - sasamy   Цитата(AnMD @ Aug 29 2013, 12:32) Характе...   Aug 31 2013, 07:09
- - Tarbal   послал емайл   Aug 31 2013, 16:40
- - Tarbal   Кстати если в системе есть гнездо для флеш карточк...   Aug 31 2013, 18:14
- - kurtis   1. Я не очень знаком с ядрами от TI, но обычно у п...   Sep 2 2013, 10:13


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th July 2025 - 20:41
Рейтинг@Mail.ru


Страница сгенерированна за 0.01405 секунд с 7
ELECTRONIX ©2004-2016