Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Por qué solo se crean un máximo de 8 señales cuando se ejecuta UCOS en STM32?

¿Por qué solo se crean un máximo de 8 señales cuando se ejecuta UCOS en STM32?

Consulte el código fuente de la función de creación de señales

/display/osiidoc/Semaphore+Management

Puede ver directamente la tasa de éxito de la creación de señales en el código

Unique Al igual que con el número total de señales, se realiza verificando la cadena de tablas OSEventFreeList para ver si quedan recursos. Sin el código completo a mano, no estoy seguro de cuál es la estructura de la cadena de tablas OSEventFreeList o dónde se encuentra el código de inicialización. Pero lo que sí es seguro es que la longitud inicial de la cadena determina cuántas señales se pueden asignar como máximo.

Si necesita más señales, debe modificar los parámetros del código de inicialización de OSEventFreeList. Además, modificar este parámetro puede requerir modificar otras partes de asignación de recursos de memoria (no he analizado el código fuente, por lo que no puedo estar seguro).