打印
[综合信息]

【华大测评】+ LiteOS初识

[复制链接]
984|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
海洋无限|  楼主 | 2020-10-7 11:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前也有计划一直LiteOS到开发板上,但是没计划这么快放上来,在网上找了下,有将LiteOS移到STM上的,那移到华大开发板应该也很easy,按照https://www.cnblogs.com/huaweicloud/p/11861249.html进行移植,基本不要做其他处理,就可以跑起来了,急着需要修改下clk进行。具体步骤就不写了,按照参考**一步一步来就行了。看来LiteOS也是做了不少工作,让移植变得超级简单。首先就是看下点灯程序,任务名字没做修改
  UINT32 uwRet = LOS_OK;
  TSK_INIT_PARAM_S task_init_param;
   
  task_init_param.usTaskPrio = 4;
  task_init_param.pcName = "RxTask";
  task_init_param.pfnTaskEntry = (TSK_ENTRY_FUNC)Led1Task;
  task_init_param.uwStackSize = 512;
  uwRet = LOS_TaskCreate(&RX_Task_Handle, &task_init_param);
      if (uwRet != LOS_OK)
      {
  //        printf("Led1Task create failed,%X\n",uwRet);
          return uwRet;
      }
      
  task_init_param.usTaskPrio = 4;
  task_init_param.pcName = "TxTask";
  task_init_param.pfnTaskEntry = (TSK_ENTRY_FUNC)Led2Task;
  task_init_param.uwStackSize = 512;
  uwRet = LOS_TaskCreate(&TX_Task_Handle, &task_init_param);
      if (uwRet != LOS_OK)
      {
  //        printf("Led2Task create failed,%X\n",uwRet);
          return uwRet;
      }
  return LOS_OK;
main函数如下:
  UINT32 uwRet = LOS_OK;  
  
DISANLE_SYSTEM_IRQ();

  system_init();
  peripheral_init();
  system_config();
  
  LOS_KernelInit();
  uwRet = AppTaskCreate();
  if(uwRet != LOS_OK) {
//      printf("LOS Creat task failed\r\n");
      //return LOS_NOK;
  }
  LOS_Start();
   
ENANLE_SYSTEM_IRQ();
下载后就看到LED开始闪烁了,正好出去玩,代码跑了2天。当然这个只是刚开始,仅仅是基本功能,里面的很多mem、membox等function都还没进行测试呢,任重而道远,LiteOS目前比较热,大家没事也可以学习下,据说内核设计的很精巧,我还没详细看,总的来说比我想象中简单很多,可能所有的坑别人都帮忙处理过了吧。

使用特权

评论回复
沙发
zeshoufx| | 2020-10-9 09:11 | 只看该作者
谢谢分享【LiteOS初识】

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:永远忠于年轻时的梦想!

38

主题

532

帖子

1

粉丝