0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙OpenHarmony【轻量系统运行】 (基于Hi3861开发板)

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-04-23 09:50 次阅读

运行

联网配置

由于Hi3861为WLAN模组,您可以在版本编译及烧录后,通过如下操作,使开发板实现联网功能。

鸿蒙开发指导文档:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

  1. 保持Windows工作台和Hi3861 WLAN模组的连接状态,在PROJECT TASKS中,单击 Monitor ,打开串口终端。
    图1 打开DevEco串口终端
    zh-cn_image_0000001406299413

  2. 复位Hi3861 WLAN模组,终端界面显示“ready to OS start”,则启动成功。
    图2 Hi3861 WLAN模组复位成功示意图
    quickstart-ide-3861-running-restart

  3. 在DevEco的串口终端中,依次执行如下AT命令,启动STA模式,连接指定AP热点,并开启DHCP功能。

    AT+STARTSTA                             # 启动STA模式
    AT+SCAN                                 # 扫描周边AP
    AT+SCANRESULT                           # 显示扫描结果
    AT+CONN="SSID",,2,"PASSWORD"            # 连接指定AP,其中SSID/PASSWORD为待连接的热点名称和密码
    AT+STASTAT                              # 查看连接结果
    AT+DHCP=wlan0,1                         # 通过DHCP向AP请求wlan0的IP地址
    
  4. 查看Hi3861 WLAN模组与网关联通是否正常,如下图所示。

    AT+IFCFG                                # 查看模组接口IP
    AT+PING=X.X.X.X                         # 检查模组与网关的联通性,其中X.X.X.X需替换为实际的网关地址
    

    图3 Hi3861 WLAN模组联网成功示意图

    quickstart-ide-3861-running-success

调测验证

完成烧录及联网之后,用户可根据需要进行调试验证。目前调试验证的方法有以下两种,开发者可以根据具体业务情况选择。

  1. 通过printf打印日志
  2. 通过asm文件定位panic问题

由于本示例业务简单,采用printf打印日志的调试方式即可。下方将介绍这两种调试手段的使用方法。

printf打印

代码中增加printf维测,信息会直接打印到串口上。开发者可在业务关键路径或业务异常位置增加日志打印,如下所示:

void HelloWorld(void)
{
    printf("[DEMO] Hello world.n");
}

根据asm文件进行问题定位

系统异常退出时,会在串口上打印异常退出原因调用栈信息,如下文所示。通过解析异常栈信息可以定位异常位置。

=======KERNEL PANIC=======
**Call Stack*
Call Stack 0 -- 4860d8 addr:f784c
Call Stack 1 -- 47b2b2 addr:f788c
Call Stack 2 -- 3e562c addr:f789c
Call Stack 3 -- 4101de addr:f78ac
Call Stack 4 -- 3e5f32 addr:f78cc
Call Stack 5 -- 3f78c0 addr:f78ec
Call Stack 6 -- 3f5e24 addr:f78fc
Call Stack end***

为解析上述调用栈信息,需要使用到Hi3861_wifiiot_app.asm文件,该文件记录了代码中函数在Flash上的符号地址以及反汇编信息。asm文件会随版本打包一同构建输出,存放在./out/wifiiot/路径下。

  1. 将调用栈CallStack信息保存到txt文档中,以便于编辑。(可选)
  2. 打开asm文件,并搜索CallStack中的地址,列出对应的函数名信息。通常只需找出前几个栈信息对应的函数,就可明确异常代码方向。
    Call Stack 0 -- 4860d8 addr:f784c -- WadRecvCB
    Call Stack 1 -- 47b2b2 addr:f788c -- wal_sdp_process_rx_data
    Call Stack 2 -- 3e562c addr:f789c
    Call Stack 3 -- 4101de addr:f78ac
    Call Stack 4 -- 3e5f32 addr:f78cc
    Call Stack 5 -- 3f78c0 addr:f78ec
    Call Stack 6 -- 3f5e24 addr:f78fc
    
  3. 根据以上调用栈信息,可以定位WadRecvCB函数中出现了异常。
    hi3861-test
  4. 完成代码排查及修改。

HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151547.png

运行结果

示例代码编译、烧录、运行、调测后,重启开发板后将自动在界面输出如下结果:

ready to OS start
FileSystem mount ok.
wifi init success!
[DEMO] Hello world.

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 鸿蒙
    +关注

    关注

    57

    文章

    2339

    浏览量

    42805
  • HarmonyOS
    +关注

    关注

    79

    文章

    1973

    浏览量

    30143
  • OpenHarmony
    +关注

    关注

    25

    文章

    3713

    浏览量

    16254
收藏 人收藏

    评论

    相关推荐

    鸿蒙OpenHarmony【集成三方SDK】 (基于Hi3861开发板

    OpenHarmony致力于打造一套更加开放完善的IoT生态系统,为此OpenHarmony规划了一组目录,用于将各厂商的SDK集成到OpenHarmony中。本文档基于
    的头像 发表于 04-24 15:11 1105次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>【集成三方SDK】 (基于<b class='flag-5'>Hi3861</b><b class='flag-5'>开发板</b>)

    鸿蒙OpenHarmony系统 环境搭建】 (基于Hi3861开发板

    除上述[安装库和工具集]和[安装编译工具]外,针对Hi3861开发板还需要安装特定的编译工具。
    的头像 发表于 04-26 17:47 1876次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b> 环境搭建】 (基于<b class='flag-5'>Hi3861</b><b class='flag-5'>开发板</b>)

    鸿蒙OpenHarmony系统 烧录】 (基于Hi3861开发板

    针对Hi3861开发板,除了DevEco Device Tool
    的头像 发表于 05-10 16:59 1124次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b> 烧录】 (基于<b class='flag-5'>Hi3861</b><b class='flag-5'>开发板</b>)

    鸿蒙OpenHarmony系统 运行】 (基于Hi3861开发板

    由于Hi3861为WLAN模组,您可以在版本编译及烧录后,通过如下操作,使开发板实现联网功能。
    的头像 发表于 05-10 16:38 695次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b> <b class='flag-5'>运行</b>】 (基于<b class='flag-5'>Hi3861</b><b class='flag-5'>开发板</b>)

    盘点那些硬件+项目学习套件:Hi3861鸿蒙开发板及入门常见问题解答

    ,一个是鸿蒙应用开发,一个是鸿蒙设备开发。我们的Hi3861鸿蒙
    发表于 02-01 16:55

    Hi3861开发板介绍

    介绍Hi3861 WLAN模组的开发环境搭建、版本编译构建、烧录、源码修改、调试验证等方法。通过学习,开发者会对Hi3861 WLAN模组开发
    发表于 09-21 15:15

    OpenHarmony与小型系统入门概述

    。 本文将介绍如何基于Windows+Ubuntu环境进行OpenHarmony开发开发板 本文基于以下两款典型开发板进行开发介绍 :
    发表于 05-06 15:48

    如何使用 HiBurn 工具烧录鸿蒙的 .bin 文件到 Hi3861 开发板

    鸿蒙官方文档的Hi3861开发板第一个示例程序中描述了如何使用 DevEco Device Tool 工具烧录二进制文件到 Hi3861 开发板
    的头像 发表于 10-25 09:23 4677次阅读

    关于OpenHarmony系统开发

    还记得2020年9月OpenHarmony大会后,我开始在社区写了一些OpenHarmony系统开发的文章,基于
    的头像 发表于 01-24 14:54 1872次阅读

    基于鸿蒙系统+Hi3861的WiFi小车开发

    本文简单介绍鸿蒙系统 + Hi3861 的WiFi小车开发,适用于开发润和Hi3861
    的头像 发表于 03-03 09:31 5686次阅读
    基于<b class='flag-5'>鸿蒙</b><b class='flag-5'>系统</b>+<b class='flag-5'>Hi3861</b>的WiFi小车<b class='flag-5'>开发</b>

    自制Hi3861开发板(附原理图和电路图)

    OpenHarmony的发展已经进入了新的阶段,逐步把重点向富设备开发方向。OpenHarmony 3.x的各大特性也是针对富设备来的,但是仍然支持
    的头像 发表于 04-14 10:23 1w次阅读
    自制<b class='flag-5'>Hi3861</b><b class='flag-5'>开发板</b>(附原理图和电路图)

    Hi3861编译烧录更快捷

    更快捷 Hi3861作为OpenHarmony社区Top级开发板,相信很多鸿蒙智联设备开发者都在Linux上编译烧录过
    的头像 发表于 02-11 13:25 929次阅读

    润开鸿Hi3861开发板介绍

    Hi3861开发板是一片大约2cm*5cm大小的开发板,是一款高度集成的2.4GHz WLAN SoC芯片,集成IEEE 802.11b/g/n基带和RF(Radio Frequency)电路。支持
    的头像 发表于 04-27 10:59 3602次阅读
    润开鸿<b class='flag-5'>Hi3861</b><b class='flag-5'>开发板</b>介绍

    鸿蒙OpenHarmony系统编译】 (基于Hi3861开发板

    DevEco Device Tool支持Hi3861V100开发板的源码一键编译功能,提供编译工具链和编译环境依赖的检测及一键安装,简化复杂编译环境的同时,提升了编译的效率。
    的头像 发表于 04-22 15:19 561次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>轻</b><b class='flag-5'>量</b><b class='flag-5'>系统</b>编译】 (基于<b class='flag-5'>Hi3861</b><b class='flag-5'>开发板</b>)

    鸿蒙OpenHarmony南向:【Hi3861开发板介绍】

    Hi3861开发板是一片大约2cm*5cm大小的开发板,是一款高度集成的2.4GHz WLAN SoC芯片,集成IEEE 802.11b/g/n基带和RF(Radio Frequency)电路。支持,并配套提供开放、易用的
    的头像 发表于 05-06 17:19 1109次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>OpenHarmony</b>南向:【<b class='flag-5'>Hi3861</b><b class='flag-5'>开发板</b>介绍】