智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2188|回复: 3
打印 上一主题 下一主题

[Kinetis ARM微控制器] Kinetis K60 移植Huawei LiteOS

[复制链接]

26

主题

441

帖子

0

精华

知名人物

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
41695
QQ
威望
3920
贡献
37275
兑换币
290
注册时间
2011-3-16
在线时间
250 小时
跳转到指定楼层
1#
发表于 2017-1-24 22:08:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
告别裸机,用上国产RTOS HuaweiLiteOS来玩转你的智能车吧

固件库使用超核电子CHK-LIB
Huawei LiteOS简介:
Huawei LiteOS 是华为面向IoT领域,构建的“统一物联网操作系统和中间件软件平台”,以轻量级(内核小于10k)、低功耗(1节5号电池最多可以工作5年),快速启动,互联互通,安全等关键能力,为开发者提供 “一站式” 完整软件平台,有效降低开发门槛、缩短开发周期。

2015年,华为在HNC网络大会上,正式推出了“ 1+2+1 ”物联网战略,即“一个物联网平台,两种接入方式,一个轻量级物联网操作系统”。


轻量级的物联网操作系统,终端设备智能化使能平台


自发布以来,Huawei LiteOS以1个轻量级、低功耗,快速启动内核为基础,增加N个框架:通过支持多传感协同,使得终端数据采集更智能,数据处理更精准;通过支持长短距连接,实现全连接覆盖,提供多Profile支持与共享支撑更多业务场景,同时可伸缩连接能力有显著提升;通过支持基于JavaScript的应用开发框架,统一应用开发平台,使得产品开发更“敏捷”;Huawei LiteOS为开发者提供设备智能化使能平台,有效降低开发门槛、缩短开发周期。

Huawei LiteOS通过开源开放提供统一开放的API,可广泛应用于智能家居、穿戴式、车联网、制造业等领域,并与奋进、杭州熊迈、海康威视、海尔、美的、Intel、WRTNode等企业和机构共建开放物联网生态,帮助合作伙伴快速开发物联网产品,加速物联网产业发展。






2、 基础架构
开放的API,屏蔽底层差异,让应用开发者只需关注上层应用开发。友好的兼容性使得已熟悉在 Linux 系统上开发应用的开发者,能够非常平滑的切换到 Huawei LiteOS 系统上开发,同时由于 Huawei LiteOS 系统的精简内核特性,使得开发者更容易理解内核。


轻量级内核:更小体积、更低功耗、更快响应

     合作伙伴和第三方开发者基于 Huawei LiteOS Kernel 能够快速开发智能硬件,产品具备快速启动、低功耗等竞争力。

传感框架:更低时延、更高精度,传感智能化
降低 50% 时延,2X +精确度,采集算法 ->智能算法


互联引擎:更多协议、更广互通,联接智能化
互联互通中间件,支持短距、LTE、NB-IoT 等多种互联技术,解决IoT不同协议的设备互联互通,覆盖家庭互联、穿戴互联、工业互联等多种场景,在业务层面提供开放API和业务Profile,方便开发者开发应用,实现不同设备间互操。


运行引擎:更轻框架、更好性能,应用智能化
面向物联网的应用开发框架
•         使能轻量级物联网设备JavaScript开发
•         JS框架、JS虚拟机和OS协同优化性能和功耗
高性能、轻量级 JavaScript 虚拟机
•         极小的ROM和内存占用空间
•         提供独立用户空间和应用隔离,保护应用安全






main文件如下,主要任务创建实例如下:
/**
  ******************************************************************************
  * @file    main.c
  * @Author  Supowang  Any question please send mail to 512965803@qq.com
  * @version V1.0
  * @date    2016-12-07
  * @BRIEF   Huawei LiteOS 移植DEMO
  ******************************************************************************
  * @attention
  *  Huawei LiteOS Source Code :http://developer.huawei.com/ict/cn/site-iot/product/liteos
  * GitHub:https://github.com/LiteOS
  * Huawei LiteOS
  ******************************************************************************
  */
/* Includes ------------------------------------------------------------------*/
// Huawei LiteOS相关头文件
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "los_base.h"
#include "los_config.h"
#include "los_typedef.h"
#include "los_hwi.h"
#include "los_task.ph"
#include "los_sem.h"
#include "los_event.h"
#include "los_memory.h"
#include "los_queue.ph"
//Kinetis相关头文件
#include "gpio.h"
#include "common.h"
#include "uart.h"

UINT32 g_TestTskHandle;
void hardware_init(void)
{
          DelayInit();
    DelayMs(10);   
    UART_QuickInit(UART3_RX_PC16_TX_PC17, 115200);
    GPIO_QuickInit(HW_GPIOD, 6, kGPIO_Mode_OPP);
    GPIO_QuickInit(HW_GPIOD, 7, kGPIO_Mode_OPP);
}

VOID task1(void)
{
        UINT32 uwRet = LOS_OK;
        UINT32 count=0;
        while(1)
        {
                count++;
                printf("This is task 1,count is %d\r\n",count);
                PDout(6) = !PDout(6);
                uwRet = LOS_TaskDelay(1000);
                if(uwRet !=LOS_OK)
                        return;
        }
}
UINT32 creat_task1(void)
{
        UINT32 uwRet = LOS_OK;
        TSK_INIT_PARAM_S task_init_param;
        task_init_param.usTaskPrio = 1;
        task_init_param.pcName = "task1";
        task_init_param.pfnTaskEntry = (TSK_ENTRY_FUNC)task1;
        task_init_param.uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
        task_init_param.uwResved = LOS_TASK_STATUS_DETACHED;
        uwRet = LOS_TaskCreate(&g_TestTskHandle,&task_init_param);
        if(uwRet !=LOS_OK)
        {
                return uwRet;
        }
        return uwRet;
}

VOID task2(void)
{
        UINT32 uwRet = LOS_OK;
        UINT32 count=0;
        while(1)
        {
                count++;
                printf("This is task 2,count is %d\r\n",count);
                PDout(7) = !PDout(7);
                uwRet = LOS_TaskDelay(2000);
                if(uwRet !=LOS_OK)
                        return;
        }
}

UINT32 creat_task2(void)
{
        UINT32 uwRet = LOS_OK;
        TSK_INIT_PARAM_S task_init_param;
        task_init_param.usTaskPrio = 1;
        task_init_param.pcName = "task2";
        task_init_param.pfnTaskEntry = (TSK_ENTRY_FUNC)task2;
        task_init_param.uwStackSize = LOSCFG_BASE_CORE_TSK_DEFAULT_STACK_SIZE;
        task_init_param.uwResved = LOS_TASK_STATUS_DETACHED;
        uwRet = LOS_TaskCreate(&g_TestTskHandle,&task_init_param);
        if(uwRet !=LOS_OK)
        {
                return uwRet;
        }
        return uwRet;
}

UINT32 osAppInit(void)
{
        UINT32 uwRet = 0;
        hardware_init();
        uwRet = creat_task1();
        if(uwRet !=LOS_OK)
        {
                return uwRet;
        }
        uwRet = creat_task2();
        if(uwRet !=LOS_OK)
        {
                return uwRet;
        }
        return LOS_OK;
}
/*********************************************END OF FILE**********************/


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

8

主题

399

帖子

0

精华

跨届大侠

挖掘机六段

Rank: 10Rank: 10Rank: 10

积分
9832

活跃会员奖章优秀会员奖章论坛元老奖章

威望
4423
贡献
2999
兑换币
2961
注册时间
2013-11-16
在线时间
1205 小时
2#
发表于 2017-1-26 17:39:37 | 只看该作者
浪险~
回复 支持 反对

使用道具 举报

3

主题

35

帖子

0

精华

金牌会员

菜鸡

Rank: 6Rank: 6

积分
1875
QQ
威望
952
贡献
587
兑换币
609
注册时间
2015-11-21
在线时间
168 小时
3#
发表于 2017-1-29 18:25:50 | 只看该作者
顶一波,希望后面的老司机来点有技术含量的评测
回复 支持 反对

使用道具 举报

0

主题

200

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
3274
QQ
威望
1770
贡献
1054
兑换币
1200
注册时间
2015-10-12
在线时间
225 小时
毕业学校
渤海湾岸钣金学院
4#
发表于 2017-1-30 12:15:05 | 只看该作者
前排混脸熟
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 14:34 , Processed in 0.064879 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表