anonymous wrote on Sunday, September 02, 2012:
I didn’t found a complete article or faq or whatever explanation on what user-mode can do and what cannot (in addition to memory accesses).
This generic question arose when I tried to use critical sections. This issue was answered already by Richard in bug #3035224:
This is the intended behavior. Only privileged tasks can disable
So the first restriction is inability to enter critical sections (taskENTER_CRITICAL / taskEXIT_CRITICAL). I think this pitfail should be added to FAQ with following symptom: processor catches hardfault exception in prvRaisePrivilege(). But it would be better if kernel wouldn’t allow task to enter critical section (as bug submitter already suggested) and signal it in user-friendly manner (at least debug assertion may be inserted in vPortEnterCritical()).
Are there any more pitfails inexperienced/unmindful users should be aware of ?