ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
26 ноября
510408 Топик полностью
aoreh (25.04.2014 13:11 - 13:14, просмотров: 242) ответил fk0 на FreeRTOS про newlib знать ничего не должна. Это newlib при каждой необходимости получить errno должна вызывать функцию получения указателя на TLS. А последнего в FreeRTOS из коробки не предусмотрено.
Ну здрасьте, как же ж не предусмотрено А это тогда что?
void vTaskStartScheduler( void )
{
....
		#if ( configUSE_NEWLIB_REENTRANT == 1 )
		{
			/* Switch Newlib's _impure_ptr variable to point to the _reent
			structure specific to the task that will run first. */
			_impure_ptr = &( pxCurrentTCB->xNewLib_reent );
		}
		#endif /* configUSE_NEWLIB_REENTRANT */
}
..
void vTaskSwitchContext( void )
{
......
		#if ( configUSE_NEWLIB_REENTRANT == 1 )
		{
			/* Switch Newlib's _impure_ptr variable to point to the _reent
			structure specific to this task. */
			_impure_ptr = &( pxCurrentTCB->xNewLib_reent );
		}
		#endif /* configUSE_NEWLIB_REENTRANT */
}