Ansersion 发表于 2021-9-12 21:13

【中科蓝讯AB32VG1 RISC-V评估板】尝试使用RTThread多任务

<p>由于学习和工作的需要,之前用过的系统是FreeRTOS和ucOS。RTThread也听周边的朋友聊过,说是一款不错的国产RTOS。乘借这次EE厚爱,给我了这次测评的机会,正好尝试学习和了解一下RTThread。</p>

<p>一个RTOS最基本也是最终要的功能就是任务调度,以下我们将尝试启动两个RTThread任务,分别打印各自的信息。<br />
</p>

<p>如上图所示,我们初始化并分别启动了2个线程,thread_1和thread_2。函数rt_thread_create用于初始化任务各项信息,_rt_thread_startup用于启动任务。&nbsp;</p>

<p>&nbsp;我们看到,两个任务的功能很简单,仅仅是每个1000毫秒打印一次信息。</p>

<pre>
<code>rt_thread_t rt_thread_create(const char *name,
                           void (*entry)(void *parameter),
                           void       *parameter,
                           rt_uint32_t stack_size,
                           rt_uint8_tpriority,
                           rt_uint32_t tick)</code></pre>

<p>上图是rt_thread_create的原型,第1个参数是线程名称,第2个是线程函数入口,第3个是线程参数,第4个是栈大小,第5个是优先级,第6个是时间片。</p>

<p>其中最有意思的是第6个参数,这是我在其他RTOS中没有见过的设置,可以让用户设置线程时间片,这让RTOS的用户可以对线程的控制更具灵活性。</p>

<p>&nbsp;以上即运行结果截图。</p>

火辣西米秀 发表于 2021-9-13 08:46

<p>rt_thread_create的原型的六个参数,在设置设置线程时间片确实是很灵活的</p>
页: [1]
查看完整版本: 【中科蓝讯AB32VG1 RISC-V评估板】尝试使用RTThread多任务