Собственно, сабж. Я в процессе оптимизаций PendSV_Handler() перестарался - соптимизировал доставание из стека регистра LR. А этого делать нельзя, ибо там хранится значение exc_return. И если вдруг os_context_switch_hook() попортит LR, то всё сразу накроется. Баг нестрашный, в том смысле, что с ним прошивка либо работает нормально, либо совсем не работает. То есть, баг не плавающий. Но лучше исправить. Для порта GCC я уже залил исправленный вариант в репозиторий. В порте IAR баг тоже есть, надеюсь Андрей его скоро исправит.
--------------------
Если бы я знал, что такое электричество...
|