OpenHarmony中由于开源协议的原因,默认使用toybox,而不是busybox。但是OpenHarmony使用的toybox还有一些不完善的地方,比如执行lspci命令无法获取到pci.ids数据库文件,从而无法获取到PCI设备的具体型号,如下图。于是将解决办法分析如下:usrsharemiscpci.ids是一个数据库文件,它包含了几乎所有已知的PCI设备ID、厂商ID、设备类型和子系统ID的对应名称。解决办法1.从https:pciids.ucw.cz处获取到pci.ids数据库文件,编译打...
笔者最近将htop移植到OpenHar[mony,老规矩开源!!!先上图,笔者的机器的是此芯星睿o6开发板+AMD显卡rx6600xt,OpenHarmony5.0.0可以看见cixp1芯片有四核大核Cortex®A720、四核中核Cortex®A720、四核小核Cortex®A520,一共12个核如何集成htop到OpenHarmonygitclonehttps:gitee.comOpenHarmonyrkequipmenttransplantationttydopenharmony.gitcdttydopenharmonylycium设置oh交叉编译环境exportOHOSSDKrootOpenHarmonycixmyself...
2025-08-12 21:22:18 2108浏览 0点赞 0回复 0收藏
ncurses这个库被很多软件包依赖,比如cpython和htop,笔者将ncurses6.5交叉编译移植到OpenHarmomy分享如下arm64位交叉编译获取ncurses6.5源码wgethttps:ftp.gnu.orgpubgnuncursesncurses6.5.tar.gztarxvzfncurses6.5.tar.gzcdncurses6.5指定oh交叉编译环境exportOHOSSDKrootOpenHarmonycixmyself5.0.0prebuiltsohossdklinux12exportAS${OHOSSDK}nativellvmbinllvmasexportCC"${OHOSSDK}nativellvmbinclangtargetaarch64linuxoho...
2025-08-12 01:23:07 2137浏览 0点赞 0回复 0收藏
笔者去年就完成了ttyd这个的开源项目的OpenHarmony移植,但是去年只提供了[二进制](https:gitee.comfromnorthtonorthOpenHarmonyp7885treemasterhapshellhap)文件,最近才有时间整理出开源成果,老规矩,下面给出开源地址:https:gitee.comOpenHarmonyrkequipmenttransplantationttydopenharmony备注:该仓库复用了tpcccplusplus仓库的部分代码,并只维护ttyd及其相关依赖库,tpcccplusplus官方仓库位于https:gitcode.comopenha...
2025-08-11 15:19:54 2126浏览 0点赞 0回复 0收藏
硬件环境CixP1SoC瑞莎星睿O6开发板+rx580显卡产品介绍:https:docs.radxa.comoriono6gettingstartedintroductionOpenHarmony5.0.0使用vulkan后端的llama.cpp(GPU).llamabenchmdataqwen1505bchatq2k.ggufngl100ggmlvulkan:Found1Vulkandevices:ggmlvulkan:0AMDRadeonRX5802048SP(RADVPOLARIS10)(radv)uma:0fp16:0bf16:0warpsize:64sharedmemory:65536intdot:0matrixcores:nonemodelsizeparamsbackendngltestts:::::qwen20.5BQ2...
2025-08-07 18:06:12 2250浏览 0点赞 0回复 0收藏
笔者最近和同事一起在研究vulkan在OpenHarmony上的作用,我们使用ncnn的benchncnn对cpu和gpu进行对照,现将结论分析如下:测试环境瑞莎星睿O6开发板+amdrx580显卡https:docs.radxa.comoriono6gettingstartedintroduction瑞莎星睿O6(RadxaOrionO6)是一款面向AI计算和多媒体应用的专业级MiniITX主板。它搭载此芯科技CixP1SoC(型号CD8180),支持最高64GBLPDDR5内存,在紧凑的尺寸下提供服务器级性能。OrionO6具备丰富的IO接口,包括...
2025-08-06 15:54:05 2731浏览 0点赞 0回复 0收藏
笔者之前在社区刷到clangd相关帖子,后面没找到了,于是自己做了一些笔记并分享如下:开发环境1.wsl2+vscode开发环境2.OpenHarmony5.0.3标准系统代码步骤1.卸载vscode中关于cc++的拓展,避免和clangd拓展冲突2.安装vscodeclangdclangformatCodeLLDB等vscode拓展2.生成编译数据库compilecommands.json文件这里以3568为例.prebuiltsbuildtoolslinuxx86binninjawdupbuildwarnC.outrk3568tcompdbcxxcoutrk3568compilecommands.json3...
2025-08-01 17:18:39 3879浏览 0点赞 0回复 0收藏
当使用mesa3dcangh提供的amd显卡驱动时,想利用Mesa提供的图形硬件加速能力,来支持视频编解码操作时。需要依赖libomxilbellagio库,现在成果分享如下:基础知识1.OpenHarmony中mesa3damd显卡驱动编译2.OpenHarmony中基于GN和ninja的编译构建,参考笔者speexdsp移植到OpenHarmony系列文章:[移植speexdsp到OpenHarmony标准系统①](https:ost.51cto.composts16667)3.libomxilbellagio在linux上的编译移植思路1.保证能在linux上正...
2025-07-27 22:46:02 4167浏览 1点赞 0回复 0收藏
笔者最近在移植soc到OpenHarmony时,遇到了内核amdGPU驱动在初始化时无法加载ramdisk中全部显卡固件的问题,于是将gpu驱动编译成ko形式在init阶段去加载,笔者希望尽量越早加载该ko越好,现将经验分享如下:开发环境和前置知识OpenHarmony5.0.0版本引导启动配置文件https:gitcode.comopenharmonydocsblobOpenHarmony5.0.3Releasezhcndevicedevsubsystemssubsysbootinitcfg.md关键代码5.0.0basestartupinitservicesinitstandardi...
2025-07-24 17:05:17 5467浏览 1点赞 0回复 0收藏
在OpenHarmony编译构建中笔者经常遇到这样的场景——需要执行sh脚本完成某些操作。笔者将OpenHarmonyBUILD.gn中执行脚本的方法分享如下:前置知识点1.能够把自定义的子系统加入OpenHarmony源码的编译构建,请参考:https:ost.51cto.composts17750中关于自定义子系统的部分开发环境OpenHarmony源码5.0.0版本步骤1.首先新建一个BUILD.gnimport("buildohos.gni")execscript("install.sh")脚本如果需要参数则写成pathrebasepath("x...
2025-07-23 16:21:37 5040浏览 0点赞 0回复 0收藏
笔者在移植三方库到OpenHarmony时遇到了pthreadcancel和pthreadsetcanceltype函数找不到的问题,将解决办法分享如下:OpenHarmony的使用的c库musl中注释了这些函数的导出,在thirdpartymusllibc.map.txt将屏蔽的函数中取消注释即可
2025-07-21 10:59:43 5200浏览 1点赞 0回复 0收藏
以ohossharedlibrary为例,在其中指定outputprefixoverride和outputname以及outputextension即可ohossharedlibrary("libelf"){outputprefixoverridetrue覆盖默认的文件名前缀outputname"libelf"指定输出文件的名称(不含扩展名)。outputextension"so"指定输出文件的扩展名。includedirs[...]cflags[...]sources[.....]publicdeps[]installimages[...]relativeinstalldir""partname""}
2025-06-30 16:19:38 7530浏览 1点赞 1回复 0收藏
笔者最近遇到一个问题,需要将cpython的环境变量默认添加至OpenHarmony中,每次只能通过export来临时设置。笔者花了一点时间研究,于是将方法分享如下文章涉及开发环境OpenHarmony5.1.0开发环境分析OpenHarmony已经有的环境变量是如何添加上去的envbinenvcurrentslot1381256773HOMEPULSESTATEPATHdatadata.pulsedirstateUVTHREADPOOLSIZE16TMPdatalocalmtptmpPULSERUNTIMEPATHdatadata.pulsedirruntimeTERMlinuxdefaultbootdevi...
2025-06-23 17:29:16 3102浏览 0点赞 0回复 0收藏
开发环境1.OpenHarmony5.0.0r2.rk3588设备问题描述前几天开机动画在机器上是可以的,开机动画突然后没有了。原因未知,不知道哪里的代码改动影响到了解决过程1.开机后执行bootanimation命令,同时将日志进行落盘2.发现找不到bootanimationcustomconfig.json文件3.搜索源码确定需要该文件4.修改文件安装目录ohosprebuiltetc("bootanimationconfig"){source"bootanimationbootanimationcustomconfig.json"installimages[sysprodba...
2025-05-28 10:45:49 1487浏览 0点赞 0回复 0收藏
开发环境OpenHarmony5.0.0代码修改效果
2025-05-09 16:00:36 998浏览 0点赞 0回复 0收藏
在实际生产中,进场遇到需要关闭导航栏和状态栏的需求,现分享解决办法:开发环境OpenHarmony5.0.0r代码分析思路:launcher本身可以关闭导航栏(实际是公共事件,发送消息给systemUI来实控制)systemUI中product\default\navigationBar\src\main\ets\viewmodel\NavigationBarViewModel.ts中privatewindowSwitches(navigationBarStatusValue:string):void{this.isDisplaynavigationBarStatusValue'1'true:false;if(!this.isDispl...
2025-05-09 15:53:58 1396浏览 0点赞 0回复 1收藏
当设备为横屏时,且ohos.para文件const.product.devicetype设置为default时(即设备类型为default),我们经常遇到导航栏和状态栏高度过高的情况,非常影响观感本教程适用范围1.applicationssystemuiopenharmonyv5.0.0release2.开源鸿蒙5.0.03.ohos.para文件const.product.devicetype设置为default时(即设备类型为default)更改顶部状态栏高度1.product\phone\statusbar\src\main\resources\base\element\string.json将statusb...
2025-05-09 15:50:54 2012浏览 0点赞 0回复 0收藏
最近看到社区有小伙伴反映,社区录音应用横屏时,录音后无法播放的问题。现分享解决办法。社区录音应用的来源:https:gitee.comopenharmonyapplicationsappsamplestreeOpenHarmony5.0.2ReleasecodeSystemFeatureMediaRecorderRecorderentrysrcmainetspagesIndex.ets中注释this.isLandmediaQueryResult.matches;,让它横屏是强制保持竖屏状态就ok了。编译好的录音ok的hap在文末下载
2025-05-08 16:24:57 1080浏览 0点赞 0回复 0收藏
本文将记录笔者交叉编译rockchipMPP1.0.8版本的过程。此文章默认认为读者具有一定OpenHarmony开发经验,熟悉OpenHarmonyndk交叉编译。开源地址:https:gitee.comOpenHarmonyrkequipmenttransplantationmppoh编译64位rockchipMPP库1.下载mpp1.8版本gitcloneb1.0.8https:gitee.comOpenHarmonyrkequipmenttransplantationrkmpp.git2.修改rkmppbuildlinuxaarch64makeMakefiles.bash文件DCMAKETOOLCHAINFILE.arm.linux.cross.cmake\...
2025-04-15 01:51:43 3004浏览 0点赞 0回复 2收藏
笔者在去年利用国庆时间,将CortexM7的国产厂商兆易创新GD32H459移植OpenHarmony轻量系统,但是适配不太完善——只能选择liteosm接管中断。这样导致使用中断非常麻烦。于是笔者最近将接管中断模式修改为不接管,这样可以方便的使用gd32提供的中断。相关开源地址:https:gitee.comGD32H759OpenHarmonydocsblobOpenHarmonyv5.0.3ReleaseREADME.md往期文章[国产兆易创新CortexM7GD32H459适配OpenHarmony轻量系统,代码开源!](http...
2025-04-05 16:47:41 5948浏览 0点赞 0回复 0收藏