I just released pico]OS 1.1.1. Tickless mode is now stable, I have been running boards with it without any problems for long times. I added also some support for Nordic Semiconductor NRF51 chips (Cortex-M0 + BLE).
When working with NRF51 I added a way to selectively block Cortex-M0 interrupts by using NVIC, because it was the only way to get Nordic Semiconductor BLE Softdevices working with pico]OS. But it is a useful feature for all M0 chips because one doesn’t have to block all interrupts during critical sections. Only limitation is that SysTick cannot be used drive scheduler (as it cannot be blocked with NVIC).
To enable this feature add following lines to poscfg.h:
#define PORTCFG_NVIC_SCHED_LOCK 1 #define PORTCFG_NVIC_SCHED_LOCK_IRQS 0xffff #define PORTCFG_TICK_SYSTICK 0
PORTCFG_NVIC_SCHED_LOCK_IRQS is a mask which should include all interrupts that are going to call pico]OS services (0xffff is only an example).
There is also some retro-work: pico]OS runs again on 6502 when compiled with latest cc65 compiler.