I found something like bug: interrupt vectors mismatch for LCD, TIM9, TIM10, TIM11.
Here is contents of ChibiOS_2.6.1\os\hal\platforms\STM32L1xx\hal_lld.h, lines 356...362:
Code: Select all
#define EXTI9_5_IRQHandler Vector9C /**< EXTI Line 9..5. */
#define TIM9_IRQHandler VectorA0 /**< TIM9. */
#define TIM10_IRQHandler VectorA4 /**< TIM10. */
#define TIM11_IRQHandler VectorA8 /**< TIM11. */
#define LCD_IRQHandler VectorAC /**< LCD. */
#define TIM2_IRQHandler VectorB0 /**< TIM2. */
And here is copy from datasheet stm32L1xx (RM0038, "STM32L100xx, STM32L151xx, STM32L152xx and STM32L162xx advanced ARM-based 32-bit MCUs", DocID15965 Rev 8):
23 30 settable EXTI9_5 EXTI Line[9:5] interrupts 0x0000_009C
24 31 settable LCD LCD global interrupt 0x0000_00A0
25 32 settable TIM9 TIM9 global interrupt 0x0000_00A4
26 33 settable TIM10 TIM10 global interrupt 0x0000_00A8
27 34 settable TIM11 TIM11 global interrupt 0x0000_00AC
28 35 settable TIM2 TIM2 global interrupt 0x0000_00B0