Ник:
Пароль:

Контакты

E-mail: info@starterkit.ru
тел.: +7 922 680-21-73
тел.: +7 922 680-21-74
Телеграм: t.me/starterkit_ru
Партнеры:
otladka.com.ua - г.Киев

Способы оплаты

User Info


Добро пожаловать,
Guest

Регистрация или входРегистрация или вход
Потеряли пароль?Потеряли пароль?

Ник:
Пароль:

ПользователейПользователей:1
Поисковых ботовПоисковых ботов:2
ГостейГостей:1

ОбновитьПодробнееВсегоВсего:4
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9260-SIMXXX
at91sam9260-sk + watchdog
bitterman
Добавлено 16.07.2010 14:55 Сообщение: 21
bitterman
0

Пункты: 329
Регистрация: 05.02.2010
да у меня пока вообще по-глупому -- инитрд нужен только для того, чтобы сделать pivot_root на mtd1 :-) в общем, попробую его выкинуть. yaffs2 кстати у меня там.

а с бутстрапом на тему "без убута" поиграюсь, но чуть позже. пока инитрд нафиг :-) и получится вроде нормально -- один бутстрап для прошивки ядра (ну, пока не сделаю прошивку ядра в онлайне), один для продакшена :-)
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 16.07.2010 15:10 Сообщение: 22
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
Если u-boot нужен для отладки и прочего - а он действительно здорово выручает при отладке - можно сделать временный костыль - непосредственно перед передачей управления ядру пнуть для надежности собаку чтобы она обнулилась - авось начнет дотягивать :)
Спуститься к концу Подняться к началу
Персональная информация
bitterman
Добавлено 16.07.2010 16:43 Редактировалось 16.07.2010 16:43 Сообщение: 23
bitterman
0

Пункты: 329
Регистрация: 05.02.2010
я сам в этом направлении думал, поэтому тут первый пост такой и есть.

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

придётся комплектному убуту 1.1.5 добавить одну строчку в нужное место. ну, или сначала всё же выкинуть initrd :-)
Спуститься к концу Подняться к началу
Персональная информация
bitterman
Добавлено 17.07.2010 19:11 Сообщение: 24
bitterman
0

Пункты: 329
Регистрация: 05.02.2010
наконец-то добился
AT91SAM9 Watchdog enabled (heartbeat=15 sec, nowayout=0)

Убрал инитрд, сделал в common/cmd_bootm.c в u-boot где-нибудь после распаковывания ядра сброс вотчдога. по пути пришлось править хидер убута, потому что там стоял неправильный ключ записи в регистр вотчдога (было 0xFF << 24 вместо 0xA5 << 24).

Строчка есть, а вотчдог всё равно не алё. Проверяю я простым модулем hang.ko, который берёт один и тот же спинлок два раза при своей загрузке. Ядро упало (об этом длинное сообщение из серии

BUG: soft lockup - CPU#0 stuck for 61s! [insmod:437]
Modules linked in: hang(+)

и ещё много чего (включен режим отладки спинлоков).

Но система не перезагружается. Что плохо :(

А отсутствующий после перезагрузки по вотчдогу датафлеш связан с тем, что надо настраивать параметры ресет контроллера. Мол, нельзя долго держать датафлеш выключенным, иначе проц его так и не увидит при загрузке. С этим я ещё разберусь, надо это делать, наверно, ещё в бутстрапе.
Спуститься к концу Подняться к началу
Персональная информация
bitterman
Добавлено 17.07.2010 19:14 Сообщение: 25
bitterman
0

Пункты: 329
Регистрация: 05.02.2010
хотя нет. я думал, что ядро ещё и само по себе его должно корректно сбрасывать, но, похоже, не в этой ситуации.

заюзал watchdog из busybox, всё получилось :-)
Спуститься к концу Подняться к началу
Персональная информация
bitterman
Добавлено 17.07.2010 19:25 Сообщение: 26
bitterman
0

Пункты: 329
Регистрация: 05.02.2010
ну, имеется в виду, что у драйвера того вотчдога хитрое устройство. для сброса вотчдога пока не открыли /dev/watchdog оно использует таймер. который, судя по всему, ещё работает после того, как ядро уронили таким образом.

это такая вот версия.

сейчас сделаю нормальный ресет, чтобы датафлеш не пропадал.
Спуститься к концу Подняться к началу
Персональная информация
sasamy
Добавлено 17.07.2010 23:25 Редактировалось 17.07.2010 23:25 Сообщение: 27
sasamy
4.70

Пункты: 77331
Регистрация: 14.08.2009
А можно вкратце описать - что нужно сделать чтобы watchdog прикрутить - я думаю это будет полезная информация для многих и самому в будущем пригодится :) много раз искал на форуме свои же темы некоторой давности для быстрого старта :)
Спуститься к концу Подняться к началу
Персональная информация
bitterman
Добавлено 18.07.2010 01:33 Сообщение: 28
bitterman
0

Пункты: 329
Регистрация: 05.02.2010
добью правильный ресет датафлеша и распишу :-)
а пока у меня почему-то убут 1.1.5 перестал видеть езернет. на пинге виснет или ещё какие-нибудь гадости говорит. ну и tftp не работает :-)
Спуститься к концу Подняться к началу
Персональная информация
lexx666
Добавлено 07.08.2012 11:22 Сообщение: 29
lexx666
3.83

Пункты: 11780
Регистрация: 28.07.2011
Пол: Мужчина
Из: Барнаул
Заводил Watchdog на AT91SAM9G45.
1) Закоментировал выключение собаки в bootstrap
2) В U-Boot 2010.09 добавил в конфиг платы inlude/configs/at91sam9m10gm45ek.h сдедующее:
#define CONFIG_AT91SAM9_WATCHDOG
#define CONFIG_HW_WATCHDOG
скомпилил, залил на плату. U-boot перезагружаться перестал.
Tftpboot работает, пинги-шминги тоже :)
Ядро при загрузке перезагружается, что логично ибо поддержки собаки в ядре нету.
3) В ядре 2.6.36 добавил поддержку собаки - по менюшкам не помню, но по конфигу следующее строчки
CONFIG_WATCHDOG=y
CONFIG_AT91SAM9X_WATCHDOG=y

Скопмилил. Linux работает, не перезагружается. Вопрос как уронить ОСь, чтоб проверить, что ватчдог отрабатывает ? )))
Спуститься к концу Подняться к началу
Персональная информация
Форум » starterkit.ru » Отладочные платы » SK-AT91SAM9260-SIMXXX