您好!
我非常不熟悉 RTOS 编程、并且获得了一个已经完成一些工作的项目(也是由具有有限 RTOS 经验的人员完成的)。 它主要是从各种不同的 SDK 示例编译的代码。 它现在都在工作、所以这不是问题。 我只是对线程/任务创建有一些一般性问题、在文档中找不到答案。
我们的当前设置如下所示:
int main()
{
pthread_create( ..., *thread_A, ...); // created in detached state
BIOS_start();
}
void *thread_A()
{
GPIO_init();
...
pthread_create( ..., *thread_B, ...); // created in detached state
pthread_create( ..., *thread_C, ...); // created in detached state
}
首先、我不确定这个"线程内的线程"结构来自哪里。 这是做它的方法吗?这是不是错误的、它还没有中断? 一位同事认为这与设置内核和空闲任务有关、所有其他线程应在 Thread_A 中创建 在从 pthread 切换到任务时也是如此? 您能否从其他任务中创建任务、或者这是否会使调度和调试(即执行分析)变得混乱?
我们的任务基本上会永远运行。 在启动时、系统以何种模式运行、以及需要执行哪些任务。 您能否在另一个任务中"捆绑"任务并根据状态(与上面的代码类似)启动这一个任务? 或者、您是否以"平坦"的方式(从主程序中)启动任务并决定是否需要启动每个任务?
很抱歉、有很多问题、但我在文档或论坛中找不到答案。
谢谢、大家好、
最大