51CTO首页
AI.x社区
博客
学堂
精品班
直播训练营
企业培训
鸿蒙开发者社区
WOT技术大会
AIGC创新中国行
IT证书
公众号矩阵
移动端
短视频
免费课程
课程排行
直播课
软考学堂
全部课程
厂商认证
IT技术
2024年软考
PMP项目管理
软考资讯
在线学习
文章
资源
问答
课堂
专栏
直播
51CTO
鸿蒙开发者社区
51CTO技术栈
51CTO官微
51CTO学堂
51CTO博客
CTO训练营
鸿蒙开发者社区订阅号
51CTO题库小程序
51CTO学堂APP
51CTO学堂企业版APP
鸿蒙开发者社区视频号
鸿蒙开发者社区
首页
帖子
问答
资源
课堂
直播
发现
登录/注册
51CTO
中国优质的IT技术网站
51CTO博客
专业IT技术创作平台
51CTO学堂
IT职业在线教育平台
活动
短视频
专栏
极客Show
鸿蒙技术特刊
我的关注
全部帖子
操作系统
OpenHarmony
HarmonyOS
其他
应用开发
卡片开发
三方件
IDE
其他
设备开发
海思开发板
树莓派
其他
框架语言
C/C++
Java
JavaScript
ArkUI / eTS
其他
其他
物联网
云原生
数据库
操作系统
大数据
人工智能
开发语言
其他
社区版务
社区公告
社区生活
意见反馈
社区规则
社区活动
默认
发布时间
热度
原创
精华
热门标签
认证
技术团队
企业
移植案例与原理 - HDF驱动框架-OSAL
原创
精华
移植案例与原理HDF驱动框架OSAL【本文正在参与优质创作者激励】为了提升驱动代码在不同内核子系统间的可复用能力,OpenHarmonyHDF(HardwareDriverFoundation)驱动框架提供了OSAL(OperatingSystemAbstractionLayer)操作系统抽象层接口。OSAL为驱动程序提供了任务、定时器、互斥锁、信号量等基础库相关接口,使驱动相关的实现不再依赖于具体的内核或POSIX接口,是实现驱动可迁移的基石。OpenHarmonyHDF驱动框架已经在LiteOSM,L...
zhushangyuan_
2回复
1.6w浏览
HDF
移植
porting
c++奇点 模板初阶
原创
春节不停更,此文正在参加「星光计划春节更帖活动」https:harmonyos.51cto.composts9923模板初阶泛型编程使用函数重载虽然可以实现,但是有一下几个不好的地方1.重载的函数仅仅只是类型不同,代码的复用率比较低,只要有新类型出现时,就需要增加对应的函数2.代码的可维护性比较低,一个出错可能所有的重载均出错那能否告诉编译器一个模子,让编译器根据不同的类型利用该模子来生成代码呢?如果在C++中,也能够存在这样一个模具...
模块师
0回复
4688浏览
c++
过年不停更
c++暗物质 内存管理
原创
精华
春节不停更,此文正在参加「星光计划春节更帖活动」https:harmonyos.51cto.composts9923类与对象C++11的成员初始化新玩法C++11支持非静态成员变量在声明时进行初始化赋值,但是要注意这里不是初始化,这里是给声明的成员变量缺省值。再次理解封装C++是基于面向对象的程序,面向对象有三大特性即:封装、继承、多态。C++通过类,将一个对象的属性与行为结合在一起,使其更符合人们对于一件事物的认知,将属于该对象的所有东西打...
模块师
0回复
5692浏览
c++
过年不停更
移植案例与原理 - build lite编译构建过程
原创
精华
移植案例与原理buildlite编译构建过程【本文正在参与优质创作者激励】配置完毕产品解决方案、芯片开发板解决方案,就可以执行hbbuild进行编译。但是产品解决方案代码是如何被调用编译的?芯片开发板解决方案代码是如何被调用编译的?内核代码如何被调用编译的?解决了这些疑惑,会对buildlite编译构建过程有个更深入的理解。1、产品解决方案代码是如何被调用编译的在文件build\lite\BUILD.gn配置文件中的构建目标buildlite:prod...
zhushangyuan_
2回复
1.1w浏览
porting
移植
案例
编译构建
鸿蒙HarmonyOS应用开发之eTS和C++工程目录结构以及资源文件详解
原创
[春节不停更,此文正在参加「星光计划春节更帖活动](https:harmonyos.51cto.composts9923)作者:坚果的小跟班eTS工程目录结构FA应用的eTS工程目录结构如下图所示。etsdefaultpagesindex.ets文件:.ets结尾的ETS(ExtendedTypeScript)文件,这个文件用于描述UI布局、样式、事件交互和页面逻辑。etsdefaultapp.ets:用于全局应用服务逻辑和应用服务生命周期管理。Java目录:作为HarmonyOS应用或原子化服务的启动入口。resources...
坚果的小跟班
0回复
2.1w浏览
鸿蒙
过年不停更
c++虫洞 STL string
原创
春节不停更,此文正在参加「星光计划春节更帖活动」https:harmonyos.51cto.composts9923STL什么是STLSTL(standardtemplatelibaray标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架STL版本原始版本AlexanderStepanov、MengLee在惠普实验室完成的原始版本,本着开源精神,他们声明允许任何人任意运用、拷贝、修改、传播、商业使用这些代码,无需付费。唯一的条件就是...
模块师
0回复
6357浏览
c++
过年不停更
移植案例与原理 - utils子系统之KV存储部件 (1)
原创
精华
移植案例与原理utils子系统之KV存储部件Utils子系统是OpenHarmony的公共基础库,存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。公共基础库在不同平台上提供的能力:LiteOSM内核:KV(keyvalue)存储、文件操作、定时器、Dump系统属性。LiteOSA内核:KV(keyvalue)存储、定时器、JSAPI(设备查询,数据存储)、Dump系统属性。本文介绍下移植开发板时如何适配utils子系统之KV存储部件,并...
zhushangyuan_
4回复
8641浏览
porting
移植
案例
c++鬼森 类和对象 友元 再谈构造 static 内部类
原创
春节不停更,此文正在参加「星光计划春节更帖活动」https:harmonyos.51cto.composts9923类与对象类的6个默认成员函数如果一个类中什么成员都没有,简称为空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数const成员将const修饰的类成员函数称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改所以...
模块师
0回复
4844浏览
c++
过年不停更
HarmonyOS源码目录结构的理解
精华
本文目的:梳理HarmonyOS源码目录结构,介绍重要目录包含的内容与作用,便于学习开发过程有全局观,有针对性的研读开发。HarmonyOS源码文件之多,想要短时间内研读完成是比较困难的。对于我们刚刚学习此操作系统的开发来说,如果一个个目录去研读代码,需要花费大量的时间。本文从框架上简单解析HarmonyOS的目录结构,让开发者有针对性的研究它。下图将HarmonyOS源码的一级目录通过软件层进行了简单区分,可以结合HarmonyOS架构...
软通小精灵
5回复
2.6w浏览
HarmonyOS源码;
applications;
foundtion;
OpenHarmony喂狗源码解读之启动喂狗服务
原创
精华
openharmony3.1Beta启动喂狗服务解读一.喂狗功能介绍二.内核态配置三.用户态配置一.功能介绍watchdog的实现用于监视系统的运行,包括内核态watchdog模块和用户态watchdog服务程序。内核态watchdog模块通过devwatchdog这个字符设备与用户态通信。用户态程序一旦打开devwatchdog设备,就会在内核中启动N秒的喂狗定时器,此后,用户态程序需要保证在N秒之内向这个设备写入数据),每次写操作会导致重新设定定时器。如果用户态程序...
民之码农
2回复
1.1w浏览
OpenHarmony
Watchdog
喂狗
OpenHarmony喂狗源码解读之内核态源码
原创
精华
春节不停更,此文正在参加「星光计划春节更帖活动」https:harmonyos.51cto.composts9923[toc](OpenHarmony3.1Beta喂狗内核源码解读一、喂狗的芯片手册资料1.概述看门狗WatchDog用于系统异常情况下,一定时间内发出复位信号,以复位整个系统。系统提供2个WatchDog模块。2.特点WatchDog具备以下特点:内部具有一个32bit减法计数器。支持超时时间间隔(即计数初值)可配置。支持寄存器锁定,防止寄存器被误改。支持超时中断产生。...
民之码农
3回复
1.4w浏览
OpenHarmony
海思芯片
过年不停更
OpenHarmony喂狗源码解读之用户态源码
原创
精华
春节不停更,此文正在参加「星光计划春节更帖活动」https:harmonyos.51cto.composts9923[toc](OpenHarmony3.1Beta喂狗用户态源码解读一、用户代码分析1.程序等待ko加载创建字符设备cWaitAtStartup("devwatchdog");defineWAITMAXCOUNT10staticvoidWaitAtStartup(constcharsource){unsignedintcount0;structstatsourceInfo;unsignedintwaitTime500000;do{usleep(waitTime);count++;}while((stat(source,&sourceInfo)<0)&&(errnoEN...
民之码农
3回复
1.0w浏览
OpenHarmony
Watchdog
喂狗
「过年不停更」
想通讯?谈钱多俗,谈ProtoBuf
原创
春节不停更,此文正在参加「[星光计划春节更帖活动](https:harmonyos.51cto.composts9923)」大家好,我是怀瑾握瑜,一只大数据萌新,家有两只吞金兽,嘉与嘉,上能code下能teach的全能奶爸如果您喜欢我的文章,可以[关注⭐]+[点赞👍]+[评论📃],您的三连是我前进的动力,期待与您共同成长什么是ProtoBufprotocolbuffers是一种语言无关、平台无关、可扩展的序列化结构数据的方法,它可用于(数据)通信协议、数据存储等。protobu...
怀瑾握瑜的嘉与嘉
0回复
5141浏览
java
OpenHarmony性能分析工具Bytrace
原创
精华
春节不停更,此文正在参加「星光计划春节更帖活动」https:harmonyos.51cto.composts9923[toc](内容一、Bytrace简介bytrace是开发人员用于追踪进程轨迹、查看性能的一种工具,主要对内核ftrace进行了封装和扩展,来支持用户态的打点。该工具主要分为两部分,API和命令行:1.bytrace向应用开发人员暴露了打点的API,开发应用过程中可以在关键代码处调用对应API进行打点;2.命令行部分通过使能对应的label,来获取打点信息。通过该...
民之码农
3回复
1.7w浏览
OpenHarmony
Bytrace
性能分析
调度轨迹
「过年不停更」
移植案例与原理 - startup子系统之syspara_lite系统属性部件 (1)
原创
精华
移植案例与原理startup子系统之sysparalite系统属性部件【本文正在参与优质创作者激励】系统属性部件sysparalite负责提供获取与设置操作系统相关的系统属性,包括默认系统属性、OEM厂商系统属性和自定义系统属性。为满足OpenHarmony产品兼容性规范,产品解决方案需要实现获取设备信息的接口,如:产品名、品牌名、厂家名等,同时提供设置读取系统属性的接口。本文介绍下移植开发板时如何适配系统属性部件sysparalite,并介绍下...
zhushangyuan_
2回复
7359浏览
移植
Porting
OpenHarmony中linux内核手动编译调试解读
原创
精华
春节不停更,此文正在参加「星光计划春节更帖活动」https:harmonyos.51cto.composts9923[toc](OpenHarmony3.1Beta版本linux内核手动编译调试步骤一、OpenHarmony手动编译Linux内核1.首次编译标准系统javascript.build.shproductnameHi3516DV300ccache2.编译完成在编译的内核在OpenHarmonyv3.1BetaoutKERNELOBJkernelsrctmplinux5.10目录下配置编译环境变量javascriptexportOHOSROOThomeweiminOpenHarmonyOpenHarmonyv3.1Betaexp...
民之码农
0回复
2.1w浏览
OpenHarmony
linux
kernel
boot.img
「过年不停更」
hi3861接收华为云命令的响应
硬件,hi3861,润和或小熊派,代码从小熊派gitee下载我做了一点点改动,现在从华为云mqtt云里下达一个命令,hi3861执行命令之后,会及时返回响应云里弹窗命令下发成功,如果用api下发命令,也能收到命令回执,是json格式,https:gitee.comzzsjrunhmhwy
千云山庄
0回复
7470浏览
hi3861命令回执
移植案例与原理 - utils子系统之file文件操作部件
原创
精华
移植案例与原理utils子系统之file文件操作部件【本文正在参与优质创作者激励】Utils子系统是OpenHarmony的公共基础库,存放OpenHarmony通用的基础组件。这些基础组件可被OpenHarmony各业务子系统及上层应用所使用。公共基础库在不同平台上提供的能力:LiteOSM内核:KV(keyvalue)存储、文件操作、定时器、Dump系统属性。LiteOSA内核:KV(keyvalue)存储、定时器、JSAPI(设备查询,数据存储)、Dump系统属性。本文介绍下移植开发板...
zhushangyuan_
1回复
9275浏览
porting
移植
移植案例与原理 - startup子系统之bootstrap_lite部件 (1)
原创
精华
移植案例与原理startup子系统之bootstraplite服务启动引导部件【本文正在参与优质创作者激励】bootstraplite服务启动引导组件提供了各服务和功能的启动入口标识。在[SAMGR(Systemabilitymanager,系统服务管理)](https:gitee.comopenharmonydistributedschedulesamgr)启动时,会调用bootstraplite标识的入口函数,并启动系统服务。本文介绍下移植开发板时如何适配服务启动引导部件bootstraplite,并介绍下相关的运行机制原理...
zhushangyuan_
1回复
7534浏览
porting
移植
移植案例与原理 - startup子系统之bootstrap_lite部件 (2)
原创
精华
【本文正在参与优质创作者激励】2.3OHOSSystemInit函数函数OHOSSystemInit()定义在文件base\startup\bootstraplite\services\source\systeminit.c,代码如下。调用宏函数MODULEINIT、SYSINIT和函数SAMGRBootstrap()进行初始化启动。voidOHOSSystemInit(void){MODULEINIT(bsp);MODULEINIT(device);MODULEINIT(core);SYSINIT(service);SYSINIT(feature);MODULEINIT(run);SAMGRBootstrap();}我们详细分析下宏函数MODULEINIT和SYSIN...
zhushangyuan_
0回复
6185浏览
porting
移植
暂无内容
1
8
9
10
11
12
13
14
15
16
30
精选
客服
订阅鸿蒙技术特刊,精选内容抢先看
微信扫码关注,即刻订阅