Например TDA7294

Форум РадиоКот • Просмотр темы - In vino veritas
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Вс ноя 02, 2025 16:21:40

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


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



Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1081 ]    , , , , 5, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 20, 2015 17:12:59 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
BOB51 писал(а):
Периферия имеется в любом МК и в любой комбинации.

Вот так вот с ходу, не читая и не думая... :)))
Есть да не та.

BOB51 писал(а):
Ну а Ваша, уважаемый dosikus, сторчка
"BOB51, весьма сомнительные потуги считать себя умнее Сишных компиляторов."
простое хамство при отсутствии "чего по теме сказать". 8)


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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 20, 2015 19:30:43 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Вот уж настырный "профлудист-dosikus", снова прицепился. 8)
Как в прошлый раз, когда доказывать начали "хайль АРМ!" и "STM юбер аллес!" с более чем в три раза превышающим исходный материал флудом.
Это вместо своих вариантов разбора прикладных возможностей указанных МК с соответствующим приложением. :(
Так вот и сейчас - всего-то только один из мелконачальных вариантов "ответных действий" весьма бурную реакцию вызвал - я здесь ассемблер разбираю, а не СИ (при всем уважении к знатокам данного языка).
Есть замечания/наработки по материалам изложенным в теме - милости просим, а флуд плодить... :wink:
Я ж в Ваш срач на viewtopic.php?f=62&t=35768 не вмешиваюсь.
Да и ассемблер даже для STM8 вычитывать не заставляю - просьба не флудить для "выпуска пара" после очередного тамошнего (viewtopic.php?f=62&t=35768) поцарапца. 8)


Теперь к конкретным вопросам по мере ознакомления с документацией на систему команд.

Покопался еще немного в системе команд и немножко в части аппаратной поддержки CPU.
Вылез на повестку дня вопросец – как будет исполняться загрузка стека (и будет ли таковая вообще) если внешнее прерывание будет обслуживаться после команд HALT/WFI при условии, что CFG_GCR AL=1?
Согласно того же PM0044 стр.15 такой статус CFG_GCR AL=1 дает указание для IRET не возвращать содержимое стека при выходе из прерывания при предваряющей прерыванию команде WFI/HALT.
НО…
Тут весьма странная «ловушка» имеет место:
Если, как предполагать по документации, внешнее прерывание всегда обеспечивает сохранность контента (Y, X, A, CC) в стек, то при возврате мы можем иметь проблемы с содержимым стека.
Далее о какой части контента стека идет речь – ведь адрес возврата будет в любом случае отработан? Если о кусочке из Y, X, A, CC то там должна быть коррекция содержимого указателя стека как минимум… Плюс лишние операции по загрузке стека на входе в прерывание, от которых данная фишка собственно и должна избавлять по замыслам изготовителя...
Можно лишь предположить, что в вышеуказанной ситуации прерывание в любом случае выполнит начальную загрузку стека по общим правилам, а вот IRET должна скорректировать указатель стека на адрес возврата и выскочить на нужное место без восстановления Y, X, A, CC. При том, что машина должна знать что такое действие для IRET выполняется только в случае с предшествующим прерыванию WFI/HALT и не касается нормального режима работы. Однако это только моё предположение…
В описании команд WFI/HALT о такой ситуации информации не имеется. В описании системы прерываний также нишыша не нашел…
Второй вопросец – о каких линиях прерывания идет речь в командах
JRIH и JRIL – статус состояния «какой-то» линии, но какой конкретно?
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пн июн 22, 2015 09:25:14 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Поскольку листочки шпаргалки пока находятся в работе и редактировании по мере изучения материала посчитал лучшим вариантом выкладывать последнюю версию на img.radiokot.ru
http://img.radiokot.ru/files/20529/on52hrgey.GIF
http://img.radiokot.ru/files/20529/on52bp1cb.GIF
:write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Пн июн 22, 2015 18:54:49 
Друг Кота
Аватар пользователя

Карма: 75
Рейтинг сообщений: 621
Зарегистрирован: Ср дек 24, 2008 09:58:58
Сообщений: 3761
Рейтинг сообщения: 0
Медали: 3
Мявтор 1-й степени (1) Мявтор 2-й степени (1) Мявтор 3-й степени (1)
BOB51 писал(а):
как будет исполняться загрузка стека ...

Такая-же feature реализована в ARM-ax. Именно, имеется возможность не возвращаться назад из прерывания. Об этом написано во многих книгах, а здесь на форуме также упомянуто, например, в моей статье. Прочитайте абзац в ней, начинающийся словами "В программе приняты меры по минимизации нагрузки на стек.".

BOB51 писал(а):
Второй вопросец – о каких линиях прерывания идет речь в командах
JRIH и JRIL – статус состояния «какой-то» линии, но какой конкретно?

Имеется в виду состояние пина INT.


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вт июн 23, 2015 10:27:23 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
По стеку... и сонным режимам - цель то понятна...
Вот только механизм "по умолчанию" скрыт. :(
Вход в прерывание - обязательное хранение всех данных или вход с заранее урезанным комплектом - только адрес возврата. Выход явно по укороченному варианту - следовательно аппаратно скорректировано содержимое указателя стека. В принципе ничего сверхестественного, учитывая порядковость загрузки стека при прерывании. Но при входе обязательная загрузка должна быть - ибо возможно и изменение условий возврата по состоянию исполнения программы. Экономия в шесть обращений к стеку... Ну да и ладно...
А вот обязательное наличие "теневого заголовка" при входе из прерывания необходимо учесть при любимых мною условных возвратах с подстановкой адреса возврата.
Интересно, а в обычном режиме без WFI/HALT этот механизм "урезанного возврата" работать будет или исключительно режим сна ему привержен? Для рутинных процедур с упором на бит-манипуляции непосредственно с регистрами ОЗУ/РСФ излишнее содержимое стека без особой надобности...
Некоторая аналогия по скоростному теневому стеку при работе с 18-й серией ПИКа - одначе у ПИКа та информация "глухопрограммнонедоступна" в отличии от стандартного размещения в STM и может быть применена для обычных CALL, а не только прерываний.
Зато право использования того "теневого стека" в ПИК18 полностью под контролем программиста - RETURN 1 /RETFIE 1 с испольлзованием шустростека или RETURN 0 /RETFIE 0 (по умолчанию) без него.
У энхансед среднемладшей ПИКушки "шустрик" хош и не может быть отключен и всего одноуровневый (используется также как и в STM только системой прерываний) - зато программно доступен для чтения/записи.
Насчет пина INT... Подождемс до распечатки/прочитания референс мануала... Чую там мнооогоо еще "всячческой мелочевки" для приставучего изучения...
:write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 27, 2015 12:40:37 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Уммррр... :sleep:
Наконец закончил изготовление РТМ (референс ноте) к тому STM8S/AF
http://img.radiokot.ru/files/20529/ors7a3rl3.jpg
теперь хош можно беглое знакомство с аппаратно/периферийными примочками сделать.
Бум почитамс биллетристику... :write:
Но сие только для "вступительного знакомства" сгодится ибо там еще два раздела пр программированию флеша и протоколу swim да по каждой микрухе свой даташит с дополнением по обнаруженным ерратам -то уже конкретика под программу и схемотехнику.
:write:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 27, 2015 13:18:46 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
BOB51 писал(а):
Уммррр... :sleep:
Наконец закончил изготовление РТМ (референс ноте) к тому STM8S/AF


Это что? Записки ***сшедшего? :)))
Цитата:
Бросая в воду камешки, смотри на круги, ими образуемые; иначе такое бросание будет пустою забавою


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 27, 2015 14:57:50 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Просто интерес к истинному положению дел, скрытому для пользователей высокоуровневых компиляторов. 8)
А вобщем-то верно деньги и время частично "на ветер" - ибо вряд-ли далее теоретических изысков я с тем stm8 заниматься буду. :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Сб июн 27, 2015 15:16:46 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
BOB51 писал(а):
Просто интерес к истинному положению дел, скрытому для пользователей высокоуровневых компиляторов. 8)

Представляете, дедуля, это только вам так кажется .
Нам же видно все и все анализируем. да и вы попробуйте листинг просмотреть.
Но вот приверженцам асма очень многое скрыто и не доступно , попробуйте угадать что ... :)))
Да и ограничены они во всем ...

BOB51 писал(а):
А вобщем-то верно деньги и время частично "на ветер" - ибо вряд-ли далее теоретических изысков я с тем stm8 заниматься буду. :)))


Прискорбно, а в них так много вкусного ... :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 07:50:33 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Чем больше читаю-тем больше вопросов...
Или изделие сырое - так пользователи высокоуровневых языков вполне поведением изделий довольны...
Или имеем дело с своеобразным "трояном" от храдварных приложений от самой STM...
Иначе объяснить такое количество опечаток в описании системы команд на ассемблере как-то затруднительно (разве что изготовитель на основу составляющей того же компилятора Си "забил" ).
Из всех уже изученных - самое наплевательское отношение к базовой документации... :(
Второй минус - при наличии развитой периферии отсутствует вариант псевдографического конфигуратора аналогично применяемому у Силабса. :roll:

for dosikus
анализ созданной программы по листингу машинных команд/мнемоник асссемблера
даавненько не пользовался... ну в дремучие времена начала изучения асма как-то был атавизм... одначе на то попозже симулятор-отладчики понавыдумывали.
Можно конешно изредка глянуть по нюансам - но брать такой анализ за основу работы... :sleep:
для специалиста по СИ...
ну Вы и загнули... это вроде декомпиляции с высокоуровневого только с предварительной машинной обработкой для распечатки... УВЫ ТОЛЬКО МОЖНО ПОСОЧУСТВОВАТЬ...
:cry:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 09:16:49 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
Внимательно смотрим, изучаем, завидуем ... :)))
И никаких ваших страшилок...
Вам, дедуля, пора пересматривать свои догмы и менять свое мировоззрение.
Не понятно где вы набрались этой чуши, напел что ли кто-то ...

Спойлер
Код:
22397                     ; 1878    INTERRUPT void TIM1_UPD(void)
22397                     ; 1879    
22397                     ; 1880 {
22398                        switch   .text
22399  0000               f_TIM1_UPD:
22403                     ; 1882   GPIOB->ODR|=0x02;
22405  0000 72125005         bset   20485,#1
22406                     ; 1883   TIM1->CCR1L=sin_table[count];
22408  0004 be00             ldw   x,L3_count
22409  0006 af000000         ldf   a,(f_sin_table,x)
22410  000a c75266           ld   21094,a
22411                     ; 1884    count++;
22413  000d be00             ldw   x,L3_count
22414  000f 1c0001           addw   x,#1
22415  0012 bf00             ldw   L3_count,x
22416                     ; 1885    if(count>=22335)count=0;
22418  0014 be00             ldw   x,L3_count
22419  0016 a3573f           cpw   x,#22335
22420  0019 2503             jrult   L13
22423  001b 5f               clrw   x
22424  001c bf00             ldw   L3_count,x
22425  001e               L13:
22426                     ; 1886   TIM1->SR1 = 0;
22428  001e 725f5255         clr   21077
22429                     ; 1887    GPIOB->ODR&=~0x02;
22431  0022 72135005         bres   20485,#1
22432                     ; 1888  }
22435  0026 80               iret




Изображение

Изображение

Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 09:30:16 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
А чему завидовать? 8)
Обычная рутина. Только подход "шиворот-навыворот" - не изучение документации вначале с последующим применением, а "научный тык" с приведением результата к недоработанной документации (или та документация имеет часть "сознательного сокрытия").
Кстати именно по работе компилятора пришлось в РМ0044 исправления вносить при работе со шпорами.
Да и такой метод - не панацея, при критической некорректности компилятор просто выбросит код ошибки (верный только для первой из имеющихся в списке -остальные могут поменяться после устранения лидирующей и последующей попытки обработки) но листинга в результате не выдаст.
Так что ничегошшеньки существенного к уже известному не добавлено.
8)
Вот только не слишком понятно - КАКИМ БОКОМ К STM8 ПОСЛЕДНИЙ СКРИН С МНЕМОНИКАМИ ОТ ПИКа?
:))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 09:38:26 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
BOB51 писал(а):
Обычная рутина. Только подход "шиворот-навыворот" - не изучение документации вначале с последующим применением, а "научный тык" с приведением результата к недоработанной документации (или та документация имеет часть "сознательного сокрытия").



Гы... А вот зачем вы перевернули все с ног на голову? :)))
Кто вам сказал что это для изучения действия команд или изучения ассемблера ?
Я выше уже озвучил - знание ассемблера крайне желательно,
причем осознав действие команд единожды -легко въехать в архитектуру любого камня.
Но только не фанатам асма .

Милай, это для контроля самой программы . Контроля эффективности и раздутости.

Садитесь 2 !!!

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

BOB51 писал(а):
Вот только не слишком понятно - КАКИМ БОКОМ К STM8 ПОСЛЕДНИЙ СКРИН С МНЕМОНИКАМИ ОТ ПИКа?
:))


А то что предыдущий от STM32 - это нормально? :)))
Я привожу сие скрины чтобы показать вам что это прерогатива не только STM или какой-то одной архитектуры .

PS. Когда же до вас дойдет - что со своим раздутым фанатизмом вы теряете очень многое ?????????????
Тем более ища блох там где их нет, и ища какими-то странными методами - на своей волне....


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 09:58:02 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
dosikus в своем репертуаре - флуда много, личностных наездов еще больше - а пользы НИКАКОЙ - от скуки с кем-бы поцапаться.
8)
Ибо изучение системы команд по листингам хош и с помощью машинной обработки (того же дизассемблера) как вынужденная мера при отсутствии необходимой информации в документации изготовителя есть показатель качества того изготовителя. :)
Архитектура МК в каждом отдельном семействе "в общих чертах" всегда одинакова, а вот, чтоб эффективно использовать то или иное семейство надо или знать тонкости конкретного кристалла (для самостоятельной работы) или пользоваться вариантом высокоуровневых сред в качестве простого/продвинутого пользователя, причем учитывая особенности начинки вполне перспективны и средства визуальной разработки.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 10:07:02 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
BOB51 писал(а):
а пользы НИКАКОЙ


Дык пока вы не начнете слушать и продолжите нести свой беллетристический бред , толку действительно не будет.

Озвучу что от вас ускользает :
1) в STM8 и STM32 вкусны не только ядро а больше ПЕРИФЕРИЯ .
2) На асме вы не сможете эффективно использовать ни ядро ни периферию . Потонете на этапе изучения...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 10:16:05 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Видимо по этой причине Вы (в отличии от Ser60) и не в состоянии ответить на те вопросы, которые я ранее задавал.
Не нравится такой подход - просто не участвуйте в обсуждении и не захламляйте тему флудом.
8)
При нормальной документации - изучение периферии дело вполне приемлемое по мере надобности работы с определенным набором устройств (все сразу всеравно никогда не применяется).
:beer:

Странно... Мне обычно за однократное беспочвенное цитирование модераторы замечания вшкваривали... :roll:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 10:24:04 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
BOB51 писал(а):
Видимо по этой причине Вы (в отличии от Ser60) и не в состоянии ответить на те вопросы, которые я ранее задавал.


Отвечать на что ? Вы сами себе создаете трудности и пытаетесь их "эффективно" решать? :)))
Повторюсь - не тем вы занимаетесь...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 10:35:00 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
:))) ГЫ-ГЫ!
Каждый занимается тем, что считает для себя интересным. Кому еще интересно - тот прочитает, кому не интересно - не будет встрявать в не интересующее его обсуждение.
Неужто Вы возомнили себя исключительным лицом с правами определять чего мне (или кому другому) можно думать, изучать, делать, а чего нельзя?
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 11:26:37 
Друг Кота
Аватар пользователя

Карма: 30
Рейтинг сообщений: 156
Зарегистрирован: Пн июл 28, 2008 22:12:01
Сообщений: 3604
Рейтинг сообщения: 0
BOB51 писал(а):
Неужто Вы возомнили себя исключительным лицом с правами определять чего мне (или кому другому) можно думать, изучать, делать, а чего нельзя?
8)


Отнюдь , мне совершенно фиолетово чем вы страдаете. Занимайтесь и далее .
Мои посты будут в противовес вашим , дабы новички не приняли вас за истину в первой инстанции и не пошли за вами .
Сусанин блин... :)))

Рекомендую ветку переименовать - "Как я пытался нестандартно изучать архитектуру и асм, или записки ***сшедшего" :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: In vino veritas
СообщениеДобавлено: Вс июн 28, 2015 12:01:39 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1484
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15239
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Ну это уважаемый dosikus и есть позиция "просто подосрать не имея чего по делу сказать" 8)

А пока вернёмся к "нашим баранам"... и размышлениям по прочитанному из даташитов:

Есть достаточно критичные «разночтения» по вопросам обработки стека,прерываний…
RM0016 стр.24:
«The WFI/HALT instructions save the context in advance. If an interrupt occurs while the
CPU is in one of these modes, the latency is reduced.»
Т.е. дословно:
«WFI/HALT инструкции сохраняют контекст заранее. Если прерывание происходит пока CPU - в одном из этих состояний, время реакции уменьшено.»

Однако ни в описании WFI ни в описании HALT нет никакого намека на работу со стеком…
Возможно авторами руководства имелось ввиду, что требуется предусмотреть сохранение контекста программным методом до выполнения WFI/HALT – однако в таком случае фраза звучала бы соответствующим образом.

В то же время, учитывая описание п.6.4 (RM0016 стр.62-63) можно прийти к заключению, что установленный перед исполнением команды бит AL=1 в CFG_GCR вызовет сохранение в стек контента для пробуждающего прерывания только при его первом исполнении.
Далее пробуждающее прерывание будет исполняться с автовозвратом в точку ожидания до тех пор, пока при его исполнении не будет установлен AL=0.
После чего IRET выполнит возврат в основную программу с полным восстановлением контента.

Мндяаа… Хош сонный режим и есть относительная экзотика, но вывод весьма интересный – реально WFI/HALT ничего таки в стек не грузят.
Мое предположение:
Если перед их выполнением был установлен AL=1, то ассоциированное с режимом пробуждения контрольно-дежурное прерывание при первом исполнении выполнит полную загрузку стека и вернет программу в точку ожидания (на тот же адрес где выполняется WFI/HALT ?) . Так будет продолжаться до тех пор, пока при исполнении фрагмента контрольно-дежурного прерывания не будет произведен сброс AL=0. После чего завершающая фрагмент контрольно-дежурного прерывания команда IRET выполнит полный возврат к основной программе.
Дополнительная задачка – можно или нельзя пользоваться таковым режимом при нескольких возможных источниках прерываний пробуждения ?
Интересно может кому больше про тот режим известно...
:dont_know:


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Эта тема закрыта, Вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 1081 ]    , , , , 5, , , ...  

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


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

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


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

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


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