鸿蒙OpenHarmony【小型系统运行案例】 (基于Hi3516开发板)

news2025/1/12 16:07:43

运行

启动系统

在完成Hi3516DV300的烧录后,还需要设置BootLoader引导程序,才能运行OpenHarmony系统。

  1. 在Hi3516DV300任务中,单击Configure bootloader(Boot OS)进行配置即可。

    icon-note.gif

      说明:  DevEco Device Tool针对Hi3516DV300开发板的BootLoader设置进行了适配,无需开发者手动修改。

    bootloader

  2. 提示如下图中的重启开发板的提示信息时,重启开发板,然后在控制台输出“SUCCESS”表示设置成功。

    reset_success

  3. 在任务栏单击Monitor按钮,启动串口工具。

    monitor

  4. 当界面打印回显信息,单击Enter按钮,直到界面显示OHOS #信息,表示系统启动成功。

    reboot-success

运行“Hello World”

系统启动成功后,通过以下步骤运行“Hello World”。

  1. 在启动界面进入bin目录。

    cd bin

  2. 进入bin目录后可以看到helloworld文件,通过以下命令运行helloworld程序。

    ./helloworld

    界面打印“Hello World!”,程序运行成功。

    zh-cn_image_0000001360320977

鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

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

应用实例

本示例将运行源码中的camera示例代码,通过本示例可以实现使用开发板进行拍照、录像及预览等功能。

  • 本示例源码路径为“applications/sample/camera/media/camera_sample.cpp”。
  • 在运行本示例前需先完成编译烧录、运行镜像等步骤,相关操作请参考小型系统快速入门。

      说明:  开发板启动后默认会加载launcher应用,应用的图形界面默认显示在媒体图层上方,会影响camera_sample的演示结果,因此需要在编译或是打包时去掉launcher应用。  修改方法:将“build/lite/components/applications.json”中camera_sample_app组件的targets中"//applications/sample/camera/launcher:launcher_hap"整行注释或删除。
  • 本示例编译结果路径为“out/hi3516dv300/ipcamera_hi3516dv300_liteos/dev_tools/bin”,为让文件能在单板中执行,可将示例文件通过读卡器复制至TF卡中,或者修改camera_sample的编译脚本将结果文件复制至rootfs.img中。

    修改源码路径“applications/sample/camera/media/BUILD.gn”中第一处的output_dir。

    • 修改前:output_dir = "$root_out_dir/dev_ools"
    • 修改后:output_dir = "$root_out_dir/"

    重新执行源码仓编译并烧写入单板后,可在单板bin目录下找到camera_sample文件。

      须知:  实例运行拍照和录像功能需要插入TF卡(最大容量支持128GB),系统启动后自动将TF卡挂载至/sdcard目录,如果在启动后插入则需要手动挂载。查看拍照和录像内容可将TF卡中内容复制到电脑中进行查看,预览功能无需TF卡。
  • 接下来可通过以下步骤运行示例:
  1. 通过cd命令进入可执行程序的末端路径,启动camera_sample,执行命令如下图。

    图 1 启动示例[]()

    title=

    运行后的控制命令如串口打印所示,按s键停止当前操作(包括录像和预览),按q键退出示例程序。

  2. 按1进行拍照,拍照的文件格式为jpg,存储在/sdcard,文件名Capture*

    图 2 输入拍照指令后串口打印日志[]()

    title=

    若想查看保存文件,可在退出程序后进入文件系统查看,退出后重新进入请回到步骤1。

    图 3 查看文件图[]()

    title=

  3. 按2进行录像,录像的文件格式为mp4,存储在/sdcard,文件名Record*,按s键停止

    图 4 输入录像指令后串口打印日志[]()

    title=

  4. 按3进行预览,预览图像直接送至显示屏,按s键停止。

    图 5 输入预览指令后串口打印日志[]()

    title=

    预览效果如下

    图 6 预览效果[]()

    title=

  5. 按q键退出

    图 7 输出退出指令后串口打印日志[]()

    title=

最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。

而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点

如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。

高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》

针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。

《鸿蒙 (OpenHarmony)开发学习视频》

图片

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》

OpenHarmony北向、南向开发环境搭建

图片

《鸿蒙开发基础》

  1. ArkTS语言

  2. 安装DevEco Studio

  3. 运用你的第一个ArkTS应用

  4. ArkUI声明式UI开发

  5. .……

图片

《鸿蒙开发进阶》

  1. Stage模型入门

  2. 网络管理

  3. 数据管理

  4. 电话服务

  5. 分布式应用开发

  6. 通知与窗口管理

  7. 多媒体技术

  8. 安全技能

  9. 任务管理

  10. WebGL

  11. 国际化开发

  12. 应用测试

  13. DFX面向未来设计

  14. 鸿蒙系统移植和裁剪定制

  15. ……

图片

《鸿蒙开发实战》

  1. ArkTS实践

  2. UIAbility应用

  3. 网络案例

  4. ……

图片

 获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》

总结

鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发

并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1618537.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python爬虫之爬取微博评论(4)

一、获取单页评论 随机选取一个微博,例如下面这个 【#出操死亡女生家属... - 冷暖视频的微博 - 微博 (weibo.com) 1、fnf12,然后点击网络,搜索评论内容,然后预览,就可以查看到网页内容里面还有评论内容 2、编写代码…

【无线通信】OQPSK

调制 sps 8; RolloffFactor 0.2; FilterSpanInSymbols 10;bits randi([0, 1], 224*8, 1); % 1792symbols bits*2 - 1; % 1792 re -symbols(2:2:end); % 896 im -symbols(1:2:end); % 896pFilterTx comm.RaisedCosineTransmitFilter(...Shape, Square root, ...Rollo…

【全网首发】Mogdb 5.0.6新特性:CM双网卡生产落地方案

在写这篇文章的时候,刚刚加班结束,顺手写了这篇文章。 前言 某大型全国性行业核心系统数据库需要A、B两个物理隔离的双网卡架构方案,已成为行业标准。而最新发布的MogDB 5.0.6的CM新增支持流复制双网段部署,用于网卡级高可用容灾(…

LlamaIndex 加 Ollama 实现 Agent

AI Agent 是 AIGC 落地实现的场景之一,与 RAG 不同,RAG 是对数据的扩充,是模型可以学习到新数据或者本地私有数据。AI Agent 是自己推理,自己做,例如你对 AI Agent 说我要知道今天上海的天气怎么样,由于 AI…

WAF防范原理

目录 一、什么是WAF 二、纵深安全防御 WAF的组网模式 WAF配置全景 WAF端 服务器 攻击端 拦截SQL注入,XSS攻击,木马文件上传 要求: 使用WAF,通过配置策略要求能防御常见的web漏洞攻击(要求至少能够防御SQL、XSS、文…

阿赵UE学习笔记——30、HUD简单介绍

阿赵UE学习笔记目录 大家好,我是阿赵。   继续学习虚幻引擎,这次来学习一下HUD的基础使用。 一、 什么是HUD HUD(Head-Up Display),也就是俗称的抬头显示。很多其他领域里面有用到这个术语,比如开车的朋友可能会接触过&#xf…

实现Spring底层机制(三)

文章目录 阶段4—实现BeanPostProcessor机制1.文件目录2.初始化方法实现1.编写初始化接口InitializingBean.java2.MonsterService.java实现初始化接口3.容器中的createBean方法增加初始化逻辑,判断对象类型是否是InitializingBean的子类型,如果是&#x…

BI项目规划第二讲:BI项目实施方案这样设计就够了

在上一篇文章中,我们对BI项目规划中的确定项目范围、组建项目团队两方面进行了详细的解读。 随着项目团队的建立和角色分配的明确,接下来的工作将转向具体的项目实施策略,这是确保项目顺利进行的另一个关键环节。 BI项目实施方案是在项目开…

<前端>Electron-builder为公证后的app打更新信息latest.yml

MacOS下,Electron-builder可以很方便的为测试包app打更新信息(latest-mac.yml)。 但是,正式发布的时候,不可能用测试包app,因为还没有进行公证。如何为公证的app打latest-mac.yml呢。 其实观察latest-mac.y…

真实世界的密码学(四)

原文:annas-archive.org/md5/655c944001312f47533514408a1a919a 译者:飞龙 协议:CC BY-NC-SA 4.0 第十六章:加密何时何地失败 本章涵盖 使用加密时可能遇到的一般问题 遵循烘烤良好的加密的要点 加密从业者的危险和责任 问候…

【IR 论文】Query2doc — 使用 LLM 做 Query Expansion 来提高信息检索能力

论文:Query2doc: Query Expansion with Large Language Models ⭐⭐⭐⭐⭐ Microsoft Research, EMNLP 2023 文章目录 背景介绍Query2doc 论文速读实现细节实验结果和分析总结分析 背景介绍 信息检索(Information Retrieval,IR)指…

(5)步态识别论文研读——GaitDAN:基于对抗域适应的跨视角步态识别

GaitDAN: Cross-view Gait Recognition via Adversarial Domain Adaptation | IEEE Journals & Magazine | IEEE Xplore GaitDAN: Cross-view Gait Recognition via Adversarial Domain Adaptation 基于对抗与适应 摘要:视角变化导致步态外观存在显着差异。因…

虚假新闻检测——Adapting Fake News Detection to the Era of Large Language Models

论文地址:https://arxiv.org/abs/2311.04917 1.概论 尽管大量的研究致力于虚假新闻检测,这些研究普遍存在两大局限性:其一,它们往往默认所有新闻文本均出自人类之手,忽略了机器深度改写乃至生成的真实新闻日益增长的现…

stabel-TTS

文章目录 model arch model arch github测试网页 text encoder 换成DiT结构;decoder 用flow结构,text 到mel的时长对齐,使用MAS,和Glow-TTS的结构很像【encoder从transformer变成了diffusion】

初识C++ · 类和对象(中)(2)

前言:上篇文章已经介绍了6个默认成员函数中的3个函数,分别是构造函数,析构函数,拷贝构造函数,本文介绍的是后三个,赋值运算符重载,const成员函数,取地址操纵符重载。 目录​​​​​…

【Mysql】用frm和ibd文件恢复mysql表数据

问题 总是遇到mysql服务意外断开之后导致mysql服务无法正常运行的情况,使用Navicat工具查看能够看到里面的库和表,但是无法获取数据记录,提示数据表不存在。 这里记录一下用frm文件和ibd文件手动恢复数据表的过程。 思路 1、frm文件&…

371D - Vessels

思路&#xff1a;用并查集维护&#xff0c;如果当前容器没有满&#xff0c;就指向自己&#xff0c;否则指向下一个容器。 这样就可以快速 find 到下一个没有满的容器&#xff0c;从而模拟询问 1。 代码&#xff1a; void solve(){int n;cin >> n;vector<int>p(n …

刷题之Leetcode242题(超级详细)

242.有效的字母异位词 力扣题目链接(opens new window)https://leetcode.cn/problems/valid-anagram/ 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s "anagram", t "nagaram" 输出: true 示例 2…

运维想要不背锅,职责与注意事项,你得仔细看看!

在IT领域&#xff0c;运维人员常常面临着“背锅”的情况。当系统出现故障、服务中断或性能下降时&#xff0c;运维人员往往成为首要责任人。然而&#xff0c;真正的问题并不仅仅是“背锅”&#xff0c;而是在问题发生后如何合理应对和解决。在进行IT运维管理时&#xff0c;我们…

(七)小案例银行家应用程序-申请贷款-some方法和every方法

some方法 ● 我们先回顾一下includes方法 console.log(movements.includes(-130));只要数组中存在-130这个值&#xff0c;就会返回true&#xff0c;否则就会返回flase ● 而some方法只要达成某一个条件就会返回true&#xff0c;否则就返回flase const someMethod movement…