Баг (или фича) весёлый оказался NVIC_DisableIRQ(TMR1_IRQn); //Disable Timer1 interrupt
//CLK->CLKSEL1 = (CLK->CLKSEL1 & ~CLK_CLKSEL1_TMR1_MASK) | CLK_CLKSEL1_TMR1_HIRC;
CLK->APBCLK |= CLK_APBCLK_TMR1_EN; //Enable Timer1 clock source
TIMER1->CTL = 0; // &= ~TIMER_CTL_TMREN;//Disable Timer1
TIMER1->CTL |= TIMER_CTL_MODESEL_CONTINUOUS;//Select Continuous mode for operation mode
TIMER1->PRECNT = 0 & TIMER_PRECNT_PRESCALECNT_MASK;// Set Prescale [0~255]
TIMER1->CTL |= TIMER_CTL_TMREN;//Enable Timer1
CLK->CLKSEL1 = (CLK->CLKSEL1 & ~CLK_CLKSEL1_TMR1_MASK) | CLK_CLKSEL1_TMR1_LIRC;
Если включать таймер только от HIRC (возможно потому, что оно AHBCLK, и где-то в FAQ нашлась фраза о тактировании "контроллера таймеров" от HCLK, хотя разрешение клока по APBCLK), то уже после разрешения можно сменить источник тактирования. Иначе на тестовом выходе (PC.0 - CLK->TESTCLK = TESTCLK_MCLK_EN | TESTCLK_MCLK_SEL_TMR1;)даже видно как переключается, но флаг активности таймера в дауне и по факту таймер стоит.
И ухода в PowerDown не видать. Может, из-за отладчика, а может из-за какой другой багофичи:( типа если включен тестовый клокаут или какой другой особенный потребитель, то нефиг выключать. Но WFI отрабатывает, только генераторы выключать не хочет, ну и в PDWU_handler не попадает - типо фичи ядра работают, а фичи кетайсев не очень.
Всё больше впечатление, что кетайсы не хотят их продавать, иначе такого бы не было - диск с демушками под другие камни, стартапы перепутаны, таргеты в кейловых проектах с голыми ядрами вместо чипов, линкер в опциях прибит гвоздями к имени файла стартапа, примеры явно накромсаны от других камней, документация как для врагов, на форуме регистрация в 4 подхода, создать сообщение форма есть, а кнопы "запостить" нет:) Доставляет.
PS На их форуме таки
рассказали , что под отладчиком только IDLE.
PPS Без отладчика уход в PowerDown работает. Таймер, тактируемый от LIRC, будит. На тестовом выходе видно как гасится/включается HIRC.