Например TDA7294

Форум РадиоКот • Просмотр темы - Бесконечный цикл...
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 15:22:21

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 41 ]  1, ,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 18:23:04 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: 0
Добрый вечер всем!!
Такой у меня завис с пониманием процессов. Что происходит с программой, когда она заканчивается?
Она выгружается из памяти? Или не выгружается, но считается выгруженной? То есть она перестает принимать, допустим, прерывания, действия которых в ней описаны? Или принимает, но не выполняет?
Это как-то связано с тем, что в ассемблерном коде в конце есть волшебное слово END?
Заранее благодарю за весьма содержательные ответы по теме!!!!!!!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 18:49:08 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: 0
khch писал(а):
Она выгружается из памяти?
Она выгружается из флеш памяти со стиранием страниц где она находилась. :)))


Спасибо большое. Надеюсь ответ полностью отражает реальное положение дел, не несет саркастическую нагрузку,на что может указывать лицо кота с широкой лыбой.

Да. Меня крайне смущает наличие while (1) {пустой}
Нет, не в первый раз, я тут с вами (в том числе) обсуждал другой вопрос.
Просто изучаю и мириться с тем, что "так должно быть, не парься" не хочу.

Добавлено after 2 minutes 44 seconds:
Постойте.... Да вы издевайтесь!!!! Как это из флеш?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:05:55 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Для полного понимания процесса рекомендую изучить стартап. В нём всё видно, как инициализируются данные, запускается main() и что происходит после выхода из неё. Прерывания, кстати, продолжат обрабатываться.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:18:39 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: 0
Вы всё-таки упускаете немаловажный аспект! - после стирания флешь, команда 'END' выключает питание процессора. 8)


Слово флеш пишется без мягкого знака. Умник хренов.
Хорошо, что ты хоть в чем-то что-то понимаешь - можешь выёживаться. Интересно было бы видеть тебя в какой-нибудь незнакомой тебе дисциплине. Какой ты умный тогда бываешь.... "грамматическая ошибка на уровне 4 класса"....

Добавлено after 52 seconds:
Для полного понимания процесса рекомендую изучить стартап.

Что за стартап? Ткнёте носом?


Последний раз редактировалось khch Сб сен 01, 2018 19:21:14, всего редактировалось 1 раз.

Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:19:59 
Электрический кот
Аватар пользователя

Карма: 2
Рейтинг сообщений: 33
Зарегистрирован: Сб фев 04, 2017 12:16:42
Сообщений: 1020
Откуда: Украина
Рейтинг сообщения: 0
... флешь ... плешь ... какая разница :)))

_________________
... ардубино и наебиэкспресс убивают творчество в зародыше.


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:24:51 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 0
Что за стартап? Ткнёте носом?
Каким компилятором пользуетесь, чтобы поточнее ткнуть. А то он разный бывает.

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:26:55 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: 0
... флешь ... плешь ... какая разница :)))


Разница заключается в том, что человек начитанный\читавший не позволит себе такое: ему будет больно смотреть на слово, которое он написал очевидно не так, каким его всегда видел в книгах.
А такие ошибки себе позволяет человек, который просто слышал это слово. И работает с предметом обсуждения исключительно по устному обьяснению более опытных коллег. Ну выдрессирован просто на длинную серию однотипных процессов. так что нех тут блестеть знаниями.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:30:01 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1155
Рейтинг сообщения: -3
Слово флеш пишется без мягкого знака. Умник хренов.
Хорошо, что ты хоть в чем-то что-то понимаешь - можешь выёживаться. Интересно было бы видеть тебя в какой-нибудь незнакомой тебе дисциплине. Какой ты умный тогда бываешь.... "грамматическая ошибка на уровне 4 класса"....

Хех, очередное чмо из подворотни вылезло и обгадилось....

Добавлено after 1 minute 8 seconds:
Разница заключается в том, что человек начитанный\читавший не позволит себе такое: ему будет больно смотреть на слово, которое он написал очевидно не так, каким его всегда видел в книгах.

Существо, вы разве понимаете значение слова "книга"? Я думаю что нет. 8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:31:09 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: 0
Что за стартап? Ткнёте носом?
Каким компилятором пользуетесь, чтобы поточнее ткнуть. А то он разный бывает.


Неважно. Разберусь без умников.
Раздулись тут. Типа все ходячие компиляторы, а вокруг одно говно, кто не с ними.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:32:53 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1155
Рейтинг сообщения: -8
Неважно. Разберусь без умников.
Раздулись тут. Типа все ходячие компиляторы, а вокруг одно говно, кто не с ними.

... а оно ещё обиделось и дальше поплыло... кто бы мог подумать... а ведь и правда - плывёт и не тонет.... :)))

Предупреждение, для начала. Fakir.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:34:10 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 1
Млять, а ведь хотел уже кинуть стартап для изучения. Ну и разбирайся сам, хамло.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:38:12 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: -1
Слово флеш пишется без мягкого знака. Умник хренов.
Хорошо, что ты хоть в чем-то что-то понимаешь - можешь выёживаться. Интересно было бы видеть тебя в какой-нибудь незнакомой тебе дисциплине. Какой ты умный тогда бываешь.... "грамматическая ошибка на уровне 4 класса"....

Хех, очередное чмо из подворотни вылезло и обгадилось....

Добавлено after 1 minute 8 seconds:
Разница заключается в том, что человек начитанный\читавший не позволит себе такое: ему будет больно смотреть на слово, которое он написал очевидно не так, каким его всегда видел в книгах.

Существо, вы разве понимаете значение слова "книга"? Я думаю что нет. 8)


Ожидаемо. ничего другого это оно не высрало бы в любом случае. Спорить не буду: опустишь до себя, а на этом уровне я тебе не ровня.

Добавлено after 3 minutes 47 seconds:
Млять, а ведь хотел уже кинуть стартап для изучения. Ну и разбирайся сам, хамло.


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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:40:03 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1155
Рейтинг сообщения: -5
Млять, а ведь хотел уже кинуть стартап для изучения. Ну и разбирайся сам, хамло.

оно ещё забыло поучить Вас как правильно слово "стартап" писать... :write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 19:42:15 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: -1
... а оно ещё обиделось и дальше поплыло... кто бы мог подумать... а ведь и правда - плывёт и не тонет.... :)))


:) уровень дискуссии.....
Хорошо, что я не знаю тех книг, которые знаешь ты.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 20:38:12 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
khch писал(а):
Постойте.... Да вы издевайтесь!!!! Как это из флеш?
Просто шучу на что указывает смайлик.
По вопросам похоже что вы первый раз видите МК, но до этого писали для компа.
Нужно понимать что процессор все равно что-то выполняет (или спит если выполнена соответствующая инструкция). Если программа находится во флеше, то как она оттуда будет выгружаться? Если выполняется из оперативки, тогда при завершении функции ее конечно можно оттуда выгрузить, но это редкость в МК.

Вот здесь я выкладывал код стартапа для M0 (без таблицы прерываний и обработчиков по умолчанию). https://radiokot.ru/forum/viewtopic.php ... 7#p3443117
Видно что если программа выйдет из main то зациклится в инструкции.
Код:
b .
Если этого не сделать, инструкции будут выполняться дальше (как писал выше процессор должен что-то выполнять), а что там будет неизвестно. В лучшем случае произойдет исключение с переходом в один из обработчиков прерываний типа HardFault. Но может выполнится какой-то фрагмент кода который выполняться не должен что приведет к непредсказуемым последствиям, особенно если это медицинское, военное или космическое оборудование.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 20:52:25 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: 0
Вообще-то я подразумевал оперативку.
Хорошо, я задам вопрос иначе.
"Нужно понимать что процессор все равно что-то выполняет" - меня не устраивает. Почему он "всегда что-то выполняет"?
Если я удалю блок while (true) {} то что он будет выполнять?

Добавлено after 1 minute 36 seconds:
Дойдет до последней инструкции и что дальше????


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Сб сен 01, 2018 21:48:15 
Друг Кота
Аватар пользователя

Карма: 1
Рейтинг сообщений: 157
Зарегистрирован: Пн окт 11, 2010 19:00:08
Сообщений: 3328
Рейтинг сообщения: 0
khch писал(а):
Вообще-то я подразумевал оперативку.
Уточните модель МК. А то может вы спрашиваете про малину, а мы тут отвечаем подразумевая STM32.

khch писал(а):
"Нужно понимать что процессор все равно что-то выполняет" - меня не устраивает. Почему он "всегда что-то выполняет"?
Потому что так устроен процессор. И это касается не только ARM, но и интеловских процев (x86, x64) что в компе и даже советского КР580ВМ80А. Найдите литературу о процессорах и прочитайте как они устроены и работают.

khch писал(а):
Если я удалю блок while (true) {} то что он будет выполнять?
Подключаете отладчик и смотрите что будет если убрать цикл. После выхода за пределы исходника смотреть нужно асм код. Скорее всего начнет выполнять "мусор" или какой-то участок кода если он расположен сразу же после main. Речь не про расположение в исходнике, а про то куда компилятор и линкер определят ту или иную функцию.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Вс сен 02, 2018 07:56:23 
Встал на лапы

Карма: -1
Рейтинг сообщений: -10
Зарегистрирован: Ср июл 18, 2018 11:51:59
Сообщений: 83
Рейтинг сообщения: 0
Я не могу смотреть отладчиком. Убирай-не убирай, в конце концов он оказывается в одном и том же месте. В каком-то цикле.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Вс сен 02, 2018 08:10:51 
Нашел транзистор. Понюхал.

Карма: 3
Рейтинг сообщений: 18
Зарегистрирован: Пн фев 05, 2018 18:03:00
Сообщений: 196
Рейтинг сообщения: 0
Процессор всегда выполняет поток команд, когда не спит, не выключен и не на "паузе". Этот процесс не может закончиться: если ядро активно, оно выполняет команды. Если это ну вообще совсем не надо - ставят бесконечный цикл и выполняется он. Как максимум ARMовский процессор еще можно запаузить (опкоды WFI и WFE), тогда он перестанет выполнять фоновую программу до очередного события или прерывания. При сильном желании в даташите можно найти описание как сделать interrupt-driven программу, где фон всегда остановлен WFE или WFI и активируются только прерывания на какие-то события. Но это довольно специфичный способ написания программы, требующий мыслить исключительно "машинами состояний" (state machine).

Ах да... из main или что там у вас в случае микроконтроллера некуда возвращаться. Main как правило никто не запускал (в смысле, операционки или другой программы). Поэтому вернуться - некуда. Когда main только получает управление, у вас может совершенно пустой стек. Поэтому предыдущего адреса на который можно было бы вернуться - просто не существует. Startup в каком-то случае может вызывать main (потратив немного стэка) и что-то делать в случае если main вдруг с какого-то перепуга удумает вернуться. Но это явно ошибочная ситуация, поэтому обычно код который после вызова main вешает процессор, чтобы он не наломал дров. Если активен watchdog, он через какое-то время перезагрузит систему.

В реальных системах watchdog обычно активен, из соображений поддержания системы в рабочем состоянии без участия людей. Поэтому с практической точки зрения цикл вида while (1) имеет примерно такой смысл: софт совсем спятил! поэтому прекратим пытаться делать что либо и подождем пока вачдог перезагрузит, чтобы начать с чистого листа. Ну или пока это у разработчика, он может вачдогом не пользоваться и вместо этого поизучать систему в явно ошибочном состоянии, пытаясь понять как такое получилось.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Бесконечный цикл...
СообщениеДобавлено: Вс сен 02, 2018 08:30:52 
Поставщик валерьянки для Кота
Аватар пользователя

Карма: 18
Рейтинг сообщений: 403
Зарегистрирован: Вт май 01, 2018 19:44:47
Сообщений: 2479
Рейтинг сообщения: 2
linuxdude, вы явно понимаете как что работает, но делаете довольно смелые обобщения на основе частного опыта. Тем самым формулируете в общем случае ошибочные утверждения. Если бы ТС не кинулся оскорблять всех без разбора, я бы ещё вчера кинул пример стартапа, в котором отлично видно кто кого вызывает и что делается после main.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 41 ]  1, ,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 30


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y