【EG800Z-CN】获取开机原因
thumbnail

【EG800Z-CN】获取开机原因

本案例使用移远通信EG800Z-CN开发板和UniRTOS,实现了一个获取模组开机原因的简单示例。在程序开发过程中,难免会遇到模组重启的情况,此时可通过获取开机原因来判断异常重启的根源,这对调试程序异常十分有利。

  • 开机原因

项目概述

本案例使用移远通信EG800Z-CN开发板和UniRTOS,实现了一个获取模组开机原因的简单示例。在程序开发过程中,难免会遇到模组重启的情况,此时可通过获取开机原因来判断异常重启的根源,这对调试程序异常十分有利。

功能特性

基于专用API的精准开机溯源
  • 实时开机原因识别:程序启动后立即调用底层功能函数,精准获取并解析本次系统上电的原因。
  • 全面原因覆盖:支持识别多种开机触发源,包括但不限于:主电源上电(Power-On)、软件指令重启(Soft Reset)等。
  • 单次高效查询:仅需一次函数调用即可完成原因获取,无需持续轮询,资源消耗极低。

开发准备

硬件要求

软件要求

快速上手

下载项目

示例代码位于UniRTOS官方创客仓库,点此访问下载

添加项目到UniRTOS SDK

SDK新增Demo,固件编译和烧录请参考UniRTOS板块的快速启动

硬件连接

使用USB数据线连接开发板和电脑即可。

日志展示

代码概览

主要功能接口

unir_test_demo_init  
  • 功能:这是整个UART演示功能的入口点。它的主要职责是创建并启动一个独立的任务(线程),让具体逻辑在后台运行,而不阻塞主程序。
  • 关键操作
    • 任务创建:调用qosa_task_create来创建一个名为uart_demo的新任务。这个新任务将执行unir_pwrkey_demo_boot_cause函数。
  • 重要性这是用户需要在自己的应用初始化流程中调用的函数,以启动UART功能。
unir_pwrkey_demo_boot_cause 
  • 功能获取开机原因,根据结果打印信息。
  • 关键操作
    • 获取原因:调用qosa_power_get_boot_cause,得到开机原因返回值。
    • 日志打印:根据返回值,选择对应的结果,输出日志。

    常见问题

    程序一直在自己重启?

    这是由于unir_pwrkey_demo_process中的自动重启函数导致的。请根据测试需求自行选择是否使用,如无需使用,请将其注释掉。

    沟通无界,服务无限

    了解更多关于移远公司、产品和技术支持的信息。