Перейти к содержанию
    

T113-S3 - возможности. Linux, bare metal, прошу помощи

18 часов назад, mantech сказал:

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

Завести сигнал с кнопки кроме входа RESET ещё и на какой-либо аналоговый вход МК (или, если аналоговых входов нет - на компаратор->GPIO).

Если схема такой кнопки: RC-цепочка (конденсатор (GND) + резистор (+Ucc)), а кнопка замыкает конденсатор на землю, то после отпускания там будет переключение уровня лог.0->лог.1 - завершение сигнала сброс -> старт CPU -> в начале программы измеряем напряжение на центральной точке RC-цепочки. Оно будет уже хоть и выше порога переключения лог.0->лог.1, но всё равно - ниже +Ucc. Также и при вкл. питания. А после WDT-сброса там будет напряжение, близкое к Ucc. Что позволит отличить сброс по кнопке или power on reset, от сброса по внутреннему WDT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/27/2024 at 9:14 AM, jcxz said:

Завести сигнал с кнопки кроме входа RESET ещё и на какой-либо аналоговый вход МК

лучше в ж..пу с повышением до 220В чтобы точно не забывал 🙂

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, repstosw сказал:

А по прерыванию вачдога, перед тем, как он сбросит ядро, нельзя ли вызвать запись в ячейку памяти?

Если внутренний WDT может только: или генерить прерывание или вызывать сброс (а при выборе режима "прерывание" не вызывает сброса), то это очень плохое решение. Так как при некоторых зависаниях может прерывание не сработать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Предлагаю обсуждение как сделать reset cause register там где его нет вынести в отдельную тему... проблема всеобщая, для T113 не специфическая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/27/2024 at 9:18 AM, jcxz said:

Так как при некоторых зависаниях может прерывание не сработать.

поставить ещё внешний wdt и побольше

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

8 минут назад, sasamy сказал:

поставить ещё внешний wdt и побольше

....и вернуться к той же невозможности определить причину сброса. Вы хотя-бы почитайте - о чём шла речь, в том что вы процитировали.

 

Достаточно какому-то багу привести к порче памяти и, например - снести таблицу прерываний, и прерывание от внутреннего WDT не сработает. Или из-за бага прерывания окажутся запрещёнными. Или ещё какая причина. Если WDT при этом не умеет генерить сброс через некоторое время после выставления сигнала прерывания, то получим зависание.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/27/2024 at 9:39 AM, jcxz said:

Достаточно какому-то багу привести к порче памяти

крутые у вас баги - память у внешнего wdt портят, но вообще если вы софтовые баги wdt лечите намекает что пора завязывать с тем что вы принимаете или с программированием

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, jcxz сказал:

Если схема такой кнопки:

 

1 час назад, jcxz сказал:

А после WDT-сброса там будет напряжение, близкое к Ucc.

К сожалению не будет, т.к. там нет буфера по выводу ресета и собака вызывает срабатывание ключа и так же, как и кнопка давит его на 0 при сбросе, поэтому не рекомендуют ставить большие емкости на линию сброса..

2 часа назад, sasamy сказал:

а оказывается у вас ватчдог вообще на постоянку включен намекает что пора смеяться

Ну вот сами над собой и посмеялись. В вашей системе что-то зависнет и привет черный ящик до переключения питания... А зависнуть может далеко не только по причине ошибки в программе, а еще кучи внешних факторов, например ЭМС...

1 час назад, GenaSPB сказал:

Предлагаю обсуждение как сделать reset cause register там где его нет вынести в отдельную тему...

Так тоже об этом думал, но раз везде говорят, что решения тут нет, поэтому просто предлагаю разговор на эту тему завершить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/27/2024 at 10:40 AM, mantech said:

Ну вот сами над собой и посмеялись. В вашей системе что-то зависнет и привет черный ящик до переключения питания

wdt по своей воле я никогда не включаю, система зависла - надо искать причину

 

On 7/27/2024 at 10:40 AM, mantech said:

А зависнуть может далеко не только по причине ошибки в программе, а еще кучи внешних факторов, например ЭМС

вот не зря я про Льва Толстого упонмянул - на словах вы всё знаете и умеете только почему у вас wdt включен когда устройство у вас в руках и вы его отлаживаете и зачем сбрасывать хардварным ресетом если вы можете загрузить код на исполнение ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 минуты назад, mantech сказал:

К сожалению не будет, т.к. там нет буфера по выводу ресета и собака вызывает срабатывание ключа и так же, как и кнопка давит его на 0 при сбросе, поэтому не рекомендуют ставить большие емкости на линию сброса..

Ну так добавьте диод (Шоттки) между RC-цепочкой и входом RESET. Или вообще - ключ (транзистор, логический элемент, etc.). То же мне "проблема"....

21 минуту назад, sasamy сказал:

wdt по своей воле я никогда не включаю

Сочувствую вашим пользователям. Если конечно они у вас ещё остались после такой практики....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/27/2024 at 11:11 AM, jcxz said:

Сочувствую вашим пользователям. Если конечно они у вас ещё остались после такой практики

т.е. у вас он всегда включен и вы лечите свои софтовые баги wdt как эталонный говнокодер - сочуствую вашему работодателю

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 минут назад, sasamy сказал:

т.е. у вас он всегда включен и вы лечите свои софтовые баги wdt как эталонный говнокодер - сочуствую вашему работодателю

Наличие WDT и исправление багов - никак не связанные вещи. И да - называть человека "говнокодером" даже не видев его кода - это явное хамство. За что вам - минус.

Я же вас говнокодером не называю? Хотя откуда мы знаем, что это не так?

 

PS: Насчёт неиспользования WDT потому как "религия не позволяет": А если скажем производитель самолёта, на котором вам нужно будет лететь, будет вашим единомышленником? И также не станет делать в самолёте системы пожаротушения, аварийных выходов и системы аварийного снабжения кислородом? Ведь не надо их делать - надо искать причину пожаров и разгерметизаций в самолётах. А средства спасения - "это придумали говнокодеры". А пока производитель ищет причину возгораний - пусть пассажиры горят.

PPS: И в зданиях и помещениях пожарные гидранты и огнетушители - тоже "придумали говнокодеры". Ведь пожаров просто не должно быть. А если они есть - "надо искать причину". А не заниматься спасением жильцов....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/27/2024 at 11:38 AM, jcxz said:

Наличие WDT и исправление багов - никак не связанные вещи.

напрямую связанные - если баг то надо начинать отладку - смотреть логи а не перезагружаться внезапно

 

On 7/27/2024 at 11:38 AM, jcxz said:

Ведь пожаров просто не должно быть. А если они есть - "надо искать причину"

какие-то нездоровые фантазии - где не должно быть пожаров надо искать горючие материалы и не допускать их возгарания, а не как вы предлагаете курить у бензоколонки в обнимку с огнетушителем

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

16 минут назад, sasamy сказал:

напрямую связанные - если баг то надо начинать отладку - смотреть логи а не перезагружаться внезапно

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

 

16 минут назад, sasamy сказал:

надо искать горючие материалы и не допускать их возгарания

Да, посоветуйте это браузерописателям)))

1 час назад, sasamy сказал:

т.е. у вас он всегда включен и вы лечите свои софтовые баги wdt

wdt это как красная кнопка в случае ядерной войны, но она должна быть, на всякий пожарный. И он чаще всего срабатывает от хардварных багов в реальной работе...

Это как охранная система, даже там, где мало воруют, и она должна быть постоянно включена, иначе нафига она нужна, такая охрана)))

Изменено пользователем mantech

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/27/2024 at 12:25 PM, mantech said:

если ваше устройство используется в каком-либо ответственном месте, а не просто показывает рекламу в браузере, то оно должно иметь функционал самовосстановления при критическом сбое

вы упорно увиливаете  - какое отвественное место у вас на столе при отладке ? пи..ец какой-то - вы придумаваете как узнать как был сброшен процессор вместо того чтобы его просто не сбраывать бесконтрольно. Я ведь не против того что в релизе wdt включен - но там ведь с ваших слов и хардварный сброс недоступен юзеру, зачем всё время виляете ?

Изменено пользователем sasamy

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...