Организация памяти STM
- Реклама
- Сообщения: 848
- Зарегистрирован: Ср авг 03, 2022 05:22:56
Для обнаружения причины есть биты и регистры ошибок, их и нужно читать. Кагбе вот.
[uquote="MLX90640",url="/forum/viewtopic.php?p=4322372#p4322372"]Для обнаружения причины[/uquote]
Разговор шел не о причине, а о МЕСТЕ возникновения исключения.
Разговор шел не о причине, а о МЕСТЕ возникновения исключения.
- Сообщения: 1803
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[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 остаётся только перегрузиться. Работать никак нельзя.
[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 остаётся только перегрузиться. Работать никак нельзя.
- Сообщения: 848
- Зарегистрирован: Ср авг 03, 2022 05:22:56
Согласно мануалу, исключение - это исключительная ситуация. Ошибки - это подмножество исключительных ситуаций. А контекст темы касался именно ошибок. Так что сам ты "бред", сударь
Ичись читать, а не спорить
- Реклама
[uquote="MLX90640",url="/forum/viewtopic.php?p=4322904#p4322904"]Согласно мануалу, исключение - это исключительная ситуация.[/uquote]
Вообще-то читаем мануал в части его Глоссария:
Из чего следует, что никаких "караул все пропало" или "исключительной ситуации" из обсуждаемого термина Exception не следует, а данный термин полностью синонимичен термину Non-maskable interrupt в других архитектурах.
Обрабатывается как обычное прерывание, потому что по сути ничем от него не отличается.
А уж если совсем строго по терминологии Мануала, то ЛЮБОЕ ПРЕРЫВАНИЕ классифицируется как Mode of Exception. Смотрим таблицу в цитате.
[uquote="MLX90640",url="/forum/viewtopic.php?p=4321680#p4321680"]работа микроконтроллера будет невозможна, он переходит в специальный режим и остается в нем до сброса.[/uquote]Никакого "специального режима" нет. Просто в обработчике ПО ДЕФОЛТУ startup-а тупо записан зацикливающий branch (B). Если туда написать возврат из прерывания, то получим игнорирование исключения. Можно уйти на иное тело обработчика и там разрулить исключение.
Вообще-то читаем мануал в части его Глоссария:
Далее читаем мануал в части раздела "Исключения":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). Если туда написать возврат из прерывания, то получим игнорирование исключения. Можно уйти на иное тело обработчика и там разрулить исключение.
- Сообщения: 848
- Зарегистрирован: Ср авг 03, 2022 05:22:56
[uquote="MLX90640",url="/forum/viewtopic.php?p=4323034#p4323034"]почитать мануал чуть дальше[/uquote]
Зачем? Если у вас есть возражения по существу, то цитируйте дальше сами. Могу только намекнуть, что "дальше" в этом параграфе мануала расписаны все типы исключений в порядке указанном в представленной таблице. И среди них есть и обычные IRQ.
Зачем? Если у вас есть возражения по существу, то цитируйте дальше сами. Могу только намекнуть, что "дальше" в этом параграфе мануала расписаны все типы исключений в порядке указанном в представленной таблице. И среди них есть и обычные IRQ.
- Сообщения: 1803
- Зарегистрирован: Вт авг 15, 2017 10:51:13
[uquote="MLX90640",url="/forum/viewtopic.php?p=4322904#p4322904"]Согласно мануалу, исключение - это исключительная ситуация. Ошибки - это подмножество исключительных ситуаций. А контекст темы касался именно ошибок.[/uquote]Ясно, предпочитаем крутиться как уж на сковородке, лишь бы не признавать свою ошибку. Всё с вами ясно. Эксперд млин....


