logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【Shell 工具】上

OpenHarmony内核提供的Shell支持调试常用的基本功能,包含系统、文件、网络和动态加载相关命令。同时OpenHarmony内核的Shell支持添加新的命令,可以根据需求来进行定制。系统相关命令:提供查询系统任务、内核信号量、系统软件定时器、CPU占用率、当前中断等相关信息的能力。文件相关命令:支持基本的ls、cd等功能。网络相关命令:支持查询接到开发板的其他设备的IP、查询本机IP、测试

文章图片
#harmonyos#嵌入式硬件
OpenHarmony(鸿蒙南向开发)——小型系统内核(LiteOS-A)【Perf调测】

基于事件采样原理,以性能事件为基础,当事件发生时,相应的事件计数器溢出发生中断,在中断处理函数中记录事件信息,包括当前的pc、当前运行的任务ID以及调用栈等信息。针对计数模式,系统在perf stop后会打印: 事件名称(cycles)、事件类型(0xff)、事件发生的次数(5466989440)。当采样事件为硬件PMU事件时,打印的事件类型为实际的硬件事件id,非enum PmuHWId中定义的

文章图片
#harmonyos
OpenHarmony应用开发—ArkUI组件集合

本示例为 ArkUI 中组件、通用、动画、全局方法的集合。效果预览使用说明:1.点击组件、通用、动画、全局方法四个按钮或左右滑动切换不同视图。2.点击二级导航(如通用属性、通用事件等),若存在三级导航则展开三级导航(如 Border 边框、点击事件等);若不存在三级导航,则跳转至详情页面。3.若存在三级导航(如 Border 边框、点击事件等),点击跳转至详情页面。工程目录| |---Attrib

文章图片
#分布式#移动开发
OpenHarmony(鸿蒙南向)——平台驱动开发【I3C】

I3C(Improved Inter Integrated Circuit)总线是由MIPI Alliance开发的一种简单、低成本的双向二线制同步串行总线。I3C是两线双向串行总线,针对多个传感器从设备进行了优化,并且一次只能由一个I3C主设备控制。相比于I2C,I3C总线拥有更高的速度、更低的功耗,支持带内中断、从设备热接入以及切换当前主设备,同时向后兼容I2C从设备。

文章图片
#harmonyos#驱动开发#linux +1
OpenHarmony(鸿蒙南向开发)——标准系统内核(Linux)【Enhanced SWAP特性】

ESwap(Enhanced Swap)提供了自定义新增存储分区作为内存交换分区的能力,并创建了一个常驻进程zswapd将 ZRAM 压缩后的匿名页加密换出到ESwap存储分区,从而能完全的空出一块可用内存,以此来达到维持Memavailable水线的目标。同时,配合这个回收机制,在整个内存框架上进行改进,优化匿名页和文件页的回收效率,并且使两者的回收比例更加合理以避免过度回收导致的refault

文章图片
#harmonyos#linux#嵌入式硬件
OpenHarmony多态样式stateStyles使用场景

stateStyles是属性方法,可以根据UI内部状态来设置样式,类似于css伪类,但语法不同。ArkUI提供以下四种状态:● focused:获焦态。● normal:正常态。● pressed:按压态。● disabled:不可用态。● selected10+:选中态。

文章图片
#移动开发
【鸿蒙南向开发】OpenHarmony装饰指定自定义组件:@BuilderParam装饰器

当开发者创建了自定义组件,并想对该组件添加特定功能时,例如在自定义组件中添加一个点击跳转操作。若直接在组件内嵌入事件方法,将会导致所有引入该自定义组件的地方均增加了该功能。为解决此问题,ArkUI引入了@BuilderParam装饰器,@BuilderParam用来装饰指向@Builder方法的变量,开发者可在初始化自定义组件时对此属性进行赋值,为自定义组件增加特定的功能。该装饰器用于声明任意UI

文章图片
#harmonyos#移动开发
移植案例与原理 - startup子系统之bootstrap_lite部件 (2)

在文件base\startup\bootstrap_lite\services\source\bootstrap_service.h中定义了2个宏函数INIT_APP_CALL和INIT_TEST_CALL,分别用来调用代码段&__zinitcall_app_XXX_start、&__zinitcall_app_XXX_end和&__zinitcall_test_start、&__zinitcal

文章图片
#bootstrap#前端#harmonyos +2
鸿蒙内核源码分析(双向链表) | 谁是内核最重要结构体?

答案一定是:(双向链表),它长这样.结构体够简单了吧,只有前后两个指向自己的指针,但恰恰是因为太简单,所以才太不简单. 就像氢原子一样,宇宙中无处不在,占比最高,原因是因为它最简单,最稳定!内核的各个模块都能看到双向链表的身影,下图是各处初始化双向链表的操作,因为太多了,只截取了部分:很多人问图怎么来的,是阅读大型C/C++工程的必备工具,要用4.0否则中文有乱码. [下载 source insi

文章图片
#harmonyos#链表
鸿蒙内核源码分析(读写锁) | 内核如何实现多读单写

在实际很多业务场景中读写操作的频率是不同的,读往往高几个数量级,因读操作并不改变业务数据结构,所以读锁也称为共享锁。写操作会改变数据结构,数据之间须同步,修改注定是排他的,所以也称为排它锁/互斥锁,读写锁很好的解决了这种读写不对称的业务场景。

文章图片
#harmonyos#嵌入式硬件
    共 149 条
  • 1
  • 2
  • 3
  • 15
  • 请选择