LinkIt One: vm_timer_create_precise fails

Hi! I’m trying to get an example from the CodeLite For RePhone to work, but vm_timer_create_precise() fails. It works on the RePhone device, but when I port it to a LinkIt One, I get the following debugging output on the UART:

Here’s the code from where vm_timer_create_precise is called:

</s><i> </i>void handle_sysevt( VMINT message, VMINT param ) { char errSt[100]; my_uart_log( "handle_sysevt: begin\n" ); switch( message ) { case VM_EVENT_CREATE: my_uart_log( " VM_EVENT_CREATE\n" ); sys_timer_id = vm_timer_create_precise( 1000, (vm_timer_precise_callback)sys_timer_callback, NULL ); if( sys_timer_id < 0) { sprintf( errSt, "%s %d\n", "create timer fail:", sys_timer_id ); my_uart_log( errSt ); } break; case VM_EVENT_QUIT: my_uart_log( " VM_EVENT_QUIT\n" ); break; default: sprintf( errSt, "%s %d\n", " Other VM_EVENT_ %d\n", message ); my_uart_log( errSt ); } my_uart_log( "handle_sysevt: end\n" ); } <e>

I believe I have the latest libraries - from 2014, it appears. Any idea why this fails on the LinkIt One?

Curiously, a similar example using vm_thread_create works. The firmware on the LinkIt One was updated.