Цитата(jcxz @ Jun 24 2015, 15:34) *
Вообще этот монитор как раз и создан для этих процессов и потоков. Если что.

Если он создан для процессов и потоков, это ещё не означает, что для тестирования и проверки как он работает, нам надо обязательно использовать процессы и потоки.

Цитата(jcxz @ Jun 24 2015, 15:34) *
Программно активировать любое прерывание через NVIC.
Путаете NVIC с периферией посылающей запросы к NVIC.

А в каком конкретно месте путаю?

Цитата(AHTOXA @ Jun 24 2015, 15:27) *
Ну, для полноты охвата тестамиsm.gif

Например, SysTick. Или, вот, PendSV. Взводится вот так:
Код
SCB->ICSR = SCB_ICSR_PENDSVSET_Msk;


О. Отлично.

Код
static void test4()
{
    NVIC_EnableIRQ(PendSV_IRQn);

    volatile uint32_t var = 0;
    __LDREXW(&var);

    SCB->ICSR |= SCB_ICSR_PENDSVSET_Msk;
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();
    __NOP();

    bool res = __STREXW(10, &var) == 0;
    led_on(res);
}

extern "C" void PendSV_Handler()
{
}


Монитор отловил нарушение доступа