【GD32L233C-START评测】RTX操作系统
[复制链接]
感谢论坛活动提供评估板学习研究,收到板子有一段时间了,开始评测之旅。
首先新建项目添加操作系统,本次评测以ARM官方的RTX为基础,移植也比较方便,添加文件,修改配置及RTE即可。
使用比较简单,主函数初始化并启动RTOS:
int main(void)
{
stack_init();
bsp_Init();
SystemCoreClockUpdate();
osKernelInitialize(); // Initialize CMSIS-RTOS
thread_init();
if (osKernelGetState() == osKernelReady)
{
osKernelStart(); // Start thread execution
}
osThreadYield();
while (1)
{
osDelay(100000);
}
}
int thread_init (void)
{
//系统任务创建
//系统对象创建
os_obj.mid_file = osMutexCreate(osMutex(file_mutex));
os_obj.mid_printf = osMutexCreate(osMutex(printf_mutex));
os_obj.mid_malloc = osMutexCreate(osMutex(malloc_mutex));
os_obj.tid_sys_task = osThreadCreate(osThread(task_system),NULL);
return(0);
}
先创建system任务点灯,代码如下:
void task_system(const void *argument)
{
while (1)
{
led4.dis();
led1.en();
osDelay(500);
led1.dis();
led2.en();
osDelay(500);
led2.dis();
led3.en();
osDelay(500);
led3.dis();
led4.en();
osDelay(500);
}
}
附上测试工程:
software.rar
(2.57 MB, 下载次数: 11)
|