liteos专题

HI3556V200 Linux+Liteos双系统学习(6)----Liteos能否延时1us?

作为一个Liteos新手,了解了Liteos的大致流程以及原理后,便直接编译代码运行Liteos。在一个功能中,需要延时1us,看到Liteos内核源码中有usleep函数,便直接使用此函数,但是测试发现,这个延时1us效果不太对,远远大于1us,有点怪异… 起初以为是代码哪里有问题,仔细检查代码,没有发现有异常的地方。不得已,看下Liteos端的usleep是如何实现的。 在Liteos内核

HI3556V200 Linux+Liteos双系统学习(3)----双系统架构

前面简单介绍了SDK相关的目录结构,接下来就要了解下,所谓的Linux+Liteos双系统到底是个什么情况? HI3556V200这颗SOC包含两个CPU,简单来说可以在一个CPU上运行Linux系统,另一个CPU上运行Liteos系统,两个系统之间通过某种方式进行通信交互。 问题来了,为啥要运行双系统? Linux系统的优点就不用说了,毕竟是现在最大的开源系统,使用的地方很多。但是Linu

HI3556V200 Linux+Liteos双系统学习(2)----SDK简介

文章目录 1 SDK目录2 目录简介2.1 amp2.1.1 drv2.1.2 hisyslink2.1.3 mpp2.1.4 osal 2.2 build2.3 configs2.4 middleware2.4.1 ndk部分2.4.2 业务组件部分 2.5 osdrv2.5.1 components2.5.2 opensource2.5.3 platform2.5.4 rootfs_sc

HI3556V200 Linux+Liteos双系统学习(1)----前言

最近偶然得到了一块HI3556v200的开发板,简单看了看SDK,发现这款SOC性能比较强悍,支持H264/H265编码,并且最大支持四百万的SENSOR。另外,还自带Neon加速。因为这款SOC主打行车记录仪流媒体后视镜等消费类影像产品场景,所以支持快速开机,支持linux+liteos双系统。 看到介绍支持Linux+Liteos,顿时来了兴趣,因为不太了解Liteos。所以不知道Linux

LiteOS-A内核中的procfs文件系统分析

一、 procfs介绍 procfs是类UNIX操作系统中进程文件系统(process file system)的缩写,主要用于通过内核访问进程信息和系统信息,以及可以修改内核参数改变系统行为。需要注意的是,procfs文件系统是一个虚拟文件系统,不存在硬盘当中,而是系统启动时动态生成的文件系统,储存在内存中。procfs文件系统通常挂载在/proc目录下。 LiteOS-A是OpenAtom

浅谈OpenHarmony LiteOS-A内核之基础硬件——中断控制器GIC400

一、前言 OpenAtom OpenHarmony(以下简称“OpenHarmony”)采用多内核架构,支持Linux内核的标准系统、LiteOS-A的小型系统、LiteOS-M的轻量系统。 其中LiteOS-A要求设备具备一定的处理能力,对比LiteOS-M,LiteOS-A支持以下特性: (1)MMU支持:通过MMU支持内核态和用户态分离,支持虚拟单元; (2)支持独立进程:调度对象分别

OpenHamrony 实战开发——LiteOS-M内核的中断管理

在程序运行过程中,当出现需要由CPU立即处理的事务时,CPU暂时中止当前程序的执行转而处理这个事务,这个过程叫做中断。当硬件产生中断时,通过中断号查找到其对应的中断处理程序,执行中断处理程序完成中断处理。 通过中断机制,在外设不需要CPU介入时,CPU可以执行其他任务;当外设需要CPU时,CPU会中断当前任务来响应中断请求。这样可以避免CPU把大量时间耗费在等待、查询外设状态的操作上,有效提高系

给IMX6ULL编译鸿蒙Liteos-a

在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taobao.com/ (淘宝)      https://weidongshan.tmall.com/(天猫) 交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载) 交流群二:

【鸿蒙OS最新进展】鸿蒙内核liteos-a体验

上周鸿蒙2.0开源,想必很多人都想第一时间体验。 今天,百问网发布鸿蒙IMX6ULL烧写工具以及鸿蒙体验手册,欢迎下载体验。 一、鸿蒙IMX6ULL烧写工具&鸿蒙体验手册 下载: https://gitee.com/weidongshan/openharmony_for_imx6ull 上周六,华为才把我在内部写的代码发给我 那些代码写得太急太丑,我要修改后才能发布,否则就在全国人民面前丢脸了

002——编译鸿蒙(Liteos -a)

目录 一、鸿蒙是什么 二、Kconfig 2.1 概述 2.2 编译器 2.3 make使用 本文章引用了很多韦东山老师的教程内容,算是我学习过程中的笔记吧。如果侵权请联系我。 一、鸿蒙是什么 这里我补充一下对鸿蒙的描述         这张图片是鸿蒙发布时使用的,鸿蒙是一个很大的东西但是看起来他和linux差不多,其实内核和操作系统是两个东西,或者说他们是包含关

5.2.鸿蒙LiteOS-M los_dispatch

目录 一、cortex-m4 los_dispatch.S代码分析坚持就有收获 一、cortex-m4 los_dispatch.S代码分析 .syntax unified #.syntax [unified | divided], 指定arm 汇编语法规则.arch armv7e-m #指定平台, 与命令行参数-march同样的作用.fpu fpv4-

Liteos稳定性基本问题排查思路

目录 1 前言 4 1.1 目的 4 1.2 术语和缩写 4 1.3 基础命令介绍 4 2 稳定性相关问题 5 2.1 系统崩溃问题 5 2.2 系统卡住问题 7 2.3 空指针访问问题 9 2.4内存泄露问题 10 2.5内存被踩问题 10 2.5.1 栈踩内存问题 10 2.5.2 堆踩内存问题 11 2.5.2 全局变量踩内存问题 11 2.6线程死循环问题 12 2.7网络相关问题 12

LiteOS内存管理:TLSF算法

问题背景 TLSF算法主要是面向实时操作系统提出的,对于RTOS而言,执行时间的确定性是最根本的,然而传统的动态内存分配器(DMA,Dynamic Memory Allocator)存在两个主要问题: 最坏情况执行时间不确定(not bounded)或者复杂度过高。碎片化问题。 TLSF的提出,较好地解决了以上两个问题:将动态内存的分配与回收时间复杂度都降到了O(1)时间复杂度,并且采用了G

LiteOS学习笔记一

LiteOS笔记一 LiteOS简介(转自官方仓库)学习LiteOS的意义LiteOS代码目录IDE建议 LiteOS简介(转自官方仓库) Huawei LiteOS是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统。本项目属于华为物联网操作系统[Huawei LiteOS]源码,现有基础内核包括不可裁剪的极小内核和可裁剪的其他模块。极小内核包含任务管理、内存管理、异常管

LiteOS学习笔记一

LiteOS笔记一 LiteOS简介(转自官方仓库)学习LiteOS的意义LiteOS代码目录IDE建议 LiteOS简介(转自官方仓库) Huawei LiteOS是华为面向物联网领域开发的一个基于实时内核的轻量级操作系统。本项目属于华为物联网操作系统[Huawei LiteOS]源码,现有基础内核包括不可裁剪的极小内核和可裁剪的其他模块。极小内核包含任务管理、内存管理、异常管

基于HUAWEI LiteOS,华为云使能物联网蓬勃发展

在HUAWEI CONNECT 2019期间,华为云携手行业伙伴、客户举办OceanConnect IoT云服务开发者论坛,分享物联网开发者实践经验。华为IoT LiteOS专家向众多合作伙伴和开发者,全面介绍了HUAWEI LiteOS开放能力、行业创新及生态战略、开发者活动等,致力于物联网良性快速发展,实现合作伙伴及最终客户的商业成功。 当今中国物联网产业的发展已经在全球取得瞩目的成

小熊派华为物联网操作系统LiteOS裸机驱动移植04-E53_IA1扩展板驱动及使用

1.E53_IA1扩展板及其驱动 关于E53标准接口 E53接口标准的E取自扩展(Expansion)的英文首字母,板子的尺寸为5×3cm,故采用E53作为前缀来命名尺寸为 5×3cm 类型的案例扩展板,任何一款满足标准设计的开发板均可直接适配E53扩展板。 E53扩展板是根据不同的应用场景来设计的,以最大的程度在扩展板上还原真实应用场景,不同案例的扩展板根据不同的应用场景来命名后缀。例如:

小熊派华为物联网操作系统LiteOS裸机驱动移植05-E53_SF1扩展板驱动及使用

1.E53_SF1扩展板及其驱动 关于E53标准接口 E53接口标准的E取自扩展(Expansion)的英文首字母,板子的尺寸为5×3cm,故采用E53作为前缀来命名尺寸为 5cm*3cm 类型的案例扩展板,任何一款满足标准设计的开发板均可直接适配E53扩展板。 E53扩展板是根据不同的应用场景来设计的,以最大的程度在扩展板上还原真实应用场景,不同案例的扩展板根据不同的应用场景来命名后缀。例

小熊派华为物联网操作系统LiteOS裸机驱动移植03-E53_SC1扩展板驱动及使用

1.E53_SC1扩展板及其驱动 关于E53标准接口 E53接口标准的E取自扩展(Expansion)的英文首字母,板子的尺寸为5×3cm,故采用E53作为前缀来命名尺寸为 5×3cm 类型的案例扩展板,任何一款满足标准设计的开发板均可直接适配E53扩展板。 E53扩展板是根据不同的应用场景来设计的,以最大的程度在扩展板上还原真实应用场景,不同案例的扩展板根据不同的应用场景来命名后缀。例如:

鸿蒙LiteOs读源码教程+向LiteOS中添加一个简单的基于线程运行时的短作业优先调度策略

一、鸿蒙Liteos读源码教程 鸿蒙的源码是放在openharmony文件夹下,openharmony下的kernel文件夹存放操作系统内核的相关代码和实现。 内核是操作系统的核心部分,所以像负责:资源管理、任务调度、内存管理、设备驱动、进程通信的源码都可以在kernel文件夹里看到。 进入到kernel文件夹下后会看到liteos_a和liteos_m,我们只需要知道liteos_a是针

鸿蒙LiteOs读源码教程+向LiteOS中添加一个简单的基于线程运行时的短作业优先调度策略

鸿蒙Liteos读源码教程: 鸿蒙的源码是放在openharmony文件夹下,openharmony下的kernel文件夹存放操作系统内核的相关代码和实现。 内核是操作系统的核心部分,所以像负责:资源管理、任务调度、内存管理、设备驱动、进程通信的源码都可以在kernel文件夹里看到。 进入到kernel文件夹下后会看到liteos_a和liteos_m,我们只需要知道liteos_a是针对

有关LiteOS使用的相关分享

有关LIteOS的移植,首先移植的是STM32L431RCLQFP100的芯片,按照实验例程一步步操作,在操作完成后,有个小问题就是有个文件没找到,然后我就加载那个文件,导致了一系列更多的问题,不知道为什么,过了一天又能正常运行了,后续查看一下为什么会出现这种情况。之前用Cube一直过FreeRTOS的操作系统,按照指定格式直接创建任务即可,先初始化函数,然后编写这个函数就可以了,直接在这个函数里

基于STM32F103移植华为LiteOS—互斥锁

基本概念 互斥锁又称互斥型信号量,是一种特殊的二值性信号量,用于实现对共享资源的独占式处理。 任意时刻互斥锁的状态只有两种,开锁或闭锁。当有任务持有时,互斥锁处于闭锁状态,这个任务获得该互斥锁的所有权。当该任务释放它时,该互斥锁被开锁,任务失去该互斥锁的所有权。当一个任务持有互斥锁时,其他任务将不能再对该互斥锁进行开锁或持有。 多任务环境下往往存在多个任务竞争同一共享资源的应用场景,互斥锁可

liteOS-A学习笔记-1.环境搭建过程中遇到的问题+启动流程分析

韦东山老师教学视频 0.环境搭建过程中遇到的问题 1.解决THE FOLLOWING PACKAGES HAVE UNMET DEPENDENCIES问题!!! 终于搭建完成开发环境: 2.执行编译指令报错 Ubuntu下手动安装clang: apt-get install clang 进入《Configuring_ubuntu.sh》文件搜索clang,发现如下代码,这是该脚本