Организация памяти STM

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25259
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Организация памяти STM

Сообщение КРАМ »

При разрушении стека этот метод не работает, а так да...
Реклама
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Организация памяти STM

Сообщение MLX90640 »

Для обнаружения причины есть биты и регистры ошибок, их и нужно читать. Кагбе вот.
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25259
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Организация памяти STM

Сообщение КРАМ »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4322372#p4322372"]Для обнаружения причины[/uquote]
Разговор шел не о причине, а о МЕСТЕ возникновения исключения.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Организация памяти STM

Сообщение jcxz »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4322301#p4322301"]Может, стоит вначале почитать контекст предыдущего поста, прежде чем писать столь длинный мессаг?[/uquote]Какой "контекст"? Этот бред:
[uquote="MLX90640",url="/forum/viewtopic.php?p=4321680#p4321680"]исключение - исключительная ситуация, ну то есть "катастрофа, всё пропало!". Дальнейшая работа микроконтроллера будет невозможна, он переходит в специальный режим и остается в нем до сброса.[/uquote]что-ли?

А вы уже прочитали мануал на ядро, где описано что такое "исключение"? Если бы его открыли, то нашли бы там например следующее:
"Enables SysTick exception request:
0 = counting down to zero does not assert the SysTick exception request
1 = counting down to zero asserts the SysTick exception request.
Software can use COUNTFLAG to determine if SysTick has ever counted to zero.
"
в описании "SysTick Control and Status Register".
Что такое "exception" перевести сможете?
Т.е. по вашему - после первого же exception-а от SysTick остаётся только перегрузиться. Работать никак нельзя. :)))
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Организация памяти STM

Сообщение MLX90640 »

Согласно мануалу, исключение - это исключительная ситуация. Ошибки - это подмножество исключительных ситуаций. А контекст темы касался именно ошибок. Так что сам ты "бред", сударь :) Ичись читать, а не спорить
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25259
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Организация памяти STM

Сообщение КРАМ »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4322904#p4322904"]Согласно мануалу, исключение - это исключительная ситуация.[/uquote]
Вообще-то читаем мануал в части его Глоссария:
ARM Architecture Reference Manual писал(а):Exception
Handles an event. For example, an exception could handle an external interrupt or an Undefined instruction.
Далее читаем мануал в части раздела "Исключения":
ARM Architecture Reference Manual писал(а):A2.6 Exceptions
Exceptions are generated by internal and external sources to cause the processor to handle an event, such as
an externally generated interrupt or an attempt to execute an Undefined instruction. The processor state just
before handling the exception is normally preserved so that the original program can be resumed when the
exception routine has completed. More than one exception can arise at the same time.
The ARM architecture supports seven types of exception. Table A2-4 lists the types of exception and the
processor mode that is used to process each type. When an exception occurs, execution is forced from a fixed
memory address corresponding to the type of exception. These fixed addresses are called the exception
vectors.
Изображение
*) по картинке с таблицей в цитате следует кликнуть для увеличения.
Из чего следует, что никаких "караул все пропало" или "исключительной ситуации" из обсуждаемого термина Exception не следует, а данный термин полностью синонимичен термину Non-maskable interrupt в других архитектурах.
Обрабатывается как обычное прерывание, потому что по сути ничем от него не отличается.
А уж если совсем строго по терминологии Мануала, то ЛЮБОЕ ПРЕРЫВАНИЕ классифицируется как Mode of Exception. Смотрим таблицу в цитате.
[uquote="MLX90640",url="/forum/viewtopic.php?p=4321680#p4321680"]работа микроконтроллера будет невозможна, он переходит в специальный режим и остается в нем до сброса.[/uquote]Никакого "специального режима" нет. Просто в обработчике ПО ДЕФОЛТУ startup-а тупо записан зацикливающий branch (B). Если туда написать возврат из прерывания, то получим игнорирование исключения. Можно уйти на иное тело обработчика и там разрулить исключение.
Реклама
Аватара пользователя
MLX90640
Опытный кот
Сообщения: 848
Зарегистрирован: Ср авг 03, 2022 05:22:56

Re: Организация памяти STM

Сообщение MLX90640 »

Ну тогда следует почитать мануал чуть дальше показанного.
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25259
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Организация памяти STM

Сообщение КРАМ »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4323034#p4323034"]почитать мануал чуть дальше[/uquote]
Зачем? Если у вас есть возражения по существу, то цитируйте дальше сами. Могу только намекнуть, что "дальше" в этом параграфе мануала расписаны все типы исключений в порядке указанном в представленной таблице. И среди них есть и обычные IRQ.
jcxz
Мудрый кот
Сообщения: 1717
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Организация памяти STM

Сообщение jcxz »

[uquote="MLX90640",url="/forum/viewtopic.php?p=4322904#p4322904"]Согласно мануалу, исключение - это исключительная ситуация. Ошибки - это подмножество исключительных ситуаций. А контекст темы касался именно ошибок.[/uquote]Ясно, предпочитаем крутиться как уж на сковородке, лишь бы не признавать свою ошибку. Всё с вами ясно. Эксперд млин....
Ответить

Вернуться в «ARM»