首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

liteos 异常接管(十五)

1 概述 1.1 基本概念 异常接管是操作系统对在运行期间发生异常的情况进行处理的一系列动作,譬如打印异常发生时当前函数调用栈信息、 cpu现场信息、任务的堆栈情况等。...异常接管作为一种调测手段,可以在系统发生异常时提供给用户有用的异常信息,譬如异常的类型、发生异常时系统的状态等,方便用户定位分析问题。...Huawei LiteOS异常接管,在系统发生异常时的处理动作是显示异常发生时正在运行的任务信息(包括任务名、任务号、堆栈大小等),以及cpu现场等信息。...2 开发指导 2.1 功能 异常接管为用户提供以下几种异常类型: 异常名称 描述 值 OS_EXCEPT_UNDEF_INSTR 未定义的指令异常 1 OS_EXCEPT_SWI 软中断异常 2 OS_EXCEPT_PREFETCH_ABORT...预指取指令异常 3 OS_EXCEPT_DATA_ABORT 数据中止异常 4 OS_EXCEPT_FIQ FIQ异常 5 2.2 开发流程 异常接管一般的定位步骤如下: 打开编译器编译后生成的.asm

97120
您找到你想要的搜索结果了吗?
是的
没有找到

liteos简介(一)

在Hi3559A中,liteos是用于Cortex-A53,用于处理MPP 媒体业务逻辑的; ?...Huawei LiteOS基础内核是最精简的Huawei LiteOS操作系统代码,包括任务管理、内存管理、时间管理、通信机制、中断管理、队列管理、事件管理、定时器、异常管理等操作系统基础组件,可以单独运行...Huawei LiteOS Kernel 的优势 高实时性,高稳定性。 超小内核,基础内核体积可以裁剪至不到10K。 低功耗。 支持动态加载、分散加载。 支持功能静态裁剪。...异常接管 异常接管是指在系统运行过程中发生异常后,跳转到异常处理信息的钩子函数,打印当前发生异常函数调用栈信息,或者保存当前系统状态的一系列动作。...Huawei LiteOS异常接管,会在异常后打印发生异常的任务ID号、栈大小,以及LR、PC等寄存器信息; 动态加载 动态加载是一种软件加载链接技术,不对组成程序的目标文件进行一次性链接加载,等到程序要运行时才进行链接加载

1.8K10

liteos分散加载(十四)

2.2 功能 Huawei LiteOS系统中的分散加载模块为用户提供如下接口。...注意事项 分散加载第一阶段拷贝过少或者拷贝偏移地址没有根据存储介质的差异进行对齐都会导致系统异常,因此使用时要按照编译最后给出的大小进行uboot加载镜像。...用户需保证提取的库文件列表是支持关键业务运行的超集,否则会导致分散加载第一阶段中的代码访问到第二阶段中的代码或数据,从而导致系统异常。...分散加载进指令异常。...通过查看系统异常时pc的位置是否超出分散加载第一阶段的范围,如果是则应该是第一阶段库文件列表涵盖不全,导致有符号未被归拢到第一阶段的代码、数据段中,需要结合系统镜像反汇编文件定位到异常pc所在函数名,找到该函数定义所在的库

99610

liteos任务(二)

Huawei LiteOS的任务模块可以给用户提供多个任务,实现了任务之间的切换和通信,帮助用户管理业务程序流程。这样用户可以将更多的精力投入到业务功能的实现中。...Huawei LiteOS是一个支持多任务的操作系统。在Huawei LiteOS中,一个任务表示一个线程。 Huawei LiteOS中的任务是抢占式调度机制,同时支持时间片轮转调度方式。...Huawei LiteOS的任务一共有32个优先级(0-31),最高优先级为0,最低优先级为31。 2 任务相关概念 2.1 任务状态 Huawei LiteOS系统中的每一任务都有多种运行状态。...3 运作机制 Huawei LiteOS任务管理模块提供任务创建、任务延时、任务挂起和任务恢复、锁任务调度和解锁任务调度、根据任务控制块查询任务ID、根据ID查询任务控制块信息功能。...4.2 功能 Huawei LiteOS 系统中的任务管理模块为用户提供下面几种功能。

94020

liteos内存(三)

Huawei LiteOS的内存管理分为静态内存管理和动态内存管理,提供内存初始化、分配、释放等功能。 动态内存:在动态内存池中分配用户指定大小的内存块。 优点:按需分配。...2.1.2 功能 Huawei LiteOS系统中的动态内存管理模块为用户提供下面几种功能,具体的API详见接口手册。...2.1.4 平台差异性 无 2.2 编程实例 2.2.1 实例描述 Huawei LiteOS运行期间,用户需要频繁的使用内存资源,而内存资源有限,必须确保将有限的内存资源分配给急需的程序,同时释放不用的内存...通过Huawei LiteOS内存管理模块可以保证高效、正确的申请、释放内存。 本实例执行以下步骤: 初始化一个动态内存池。 在动态内存池中申请一个内存块。 使用这块内存块存放一个数据。...3.2 功能 Huawei LiteOS的静态内存管理主要为用户提供以下功能。

91620

liteos 中断机制(四)

Huawei LiteOS的中断支持: 中断初始化。 中断创建。 开/关中断。 恢复中断。 中断使能。 中断屏蔽。 Huawei LiteOS的中断机制支持中断共享。...Huawei LiteOS中所有的中断源优先级相同,不支持中断嵌套或抢占。 中断处理程序:当外设产生中断请求后, CPU暂停当前的任务,转而响应中断申请,即执行中断处理程序。...1.3 运作机制 Huawei LiteOS的中断机制支持中断共享: 中断共享的实现依赖于链表,对应每一个中断号创建一个链表,链表节点中包含注册的中断处理函数和函数入参。...Huawei LiteOS的中断机制支持中断底半部: 中断底半部的实现基于workqueue,在中断处理程序中将工作分为顶半部和底半部,底半部处理程序与work关联,并挂载到合法workqueue上。...2.2 功能 Huawei LiteOS 系统中的中断模块为用户提供下面几种功能。

88320

LiteOS内核教程03 | 任务管理

LiteOS内核的任务管理 Huawei LiteOS 内核提供任务的创建、删除、延迟、挂起、恢复等功能,以及锁定和解锁任务调度,支持任务按优先级高低的抢占调度及同优先级时间片轮转调度。 1.1....任务 在 LiteOS 中,一个任务就是一个线程,多个任务按照优先级进行抢占式调度,达到多个任务“同时”运行的目的。 1.2....Huawei LiteOS 的任务一共有 32 个优先级 (0-31),最高优先级为 0,最低优先级为 31。...因为是LiteOS的内核是抢占式调度内核,所以: 高优先级的任务可打断低优先级任务,低优先级任务必须在高优先级任务阻塞或结束后才能得到调度。 1.5....任务相关的接口定义在osal.c中,基于LiteOS的接口实现在 liteos_imp.c文件中: 接口名 功能描述 osal_task_create 创建任务 osal_task_kill 删除任务(

1.2K20
领券