一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

【潤(rùn)和軟件DAYU200開發(fā)板體驗(yàn)】移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)④

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-12 10:11 ? 次閱讀

本文來源電子發(fā)燒友社區(qū),作者:離北況歸, 帖子地址:https://bbs.elecfans.com/jishu_2308798_1_1.html



由于想要分享的內(nèi)容較多,為避免讀者姥爺們失去看下去的耐心,分享將以連載的方式進(jìn)行。
下期預(yù)告:speexdsp功能分析和功能測(cè)試

本期為移植speexdsp到OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的第④期,主要內(nèi)容如下:
@toc

image.png


speexdsp移植后已提交至openhamrony sig倉庫:https://gitee.com/openharmony-sig/contest/tree/master/2022_OpenHarmony_thirdparty/speexdsp


五、在OpenHarmony編譯體系下增量編譯Speexdsp

建議先增量編譯生成三方庫的動(dòng)態(tài)鏈接庫和可執(zhí)行文件,驗(yàn)證是否成功把三方庫加入OpenHarmonybian編譯體系。

  • 成功編譯出so和可執(zhí)行文件,即成功把三方庫加入到ohos編譯體系。之后還要驗(yàn)證三方庫在ohos運(yùn)行,功能是否正常。功能正常才能視為移植成功。

推薦增量編譯出三方庫的動(dòng)態(tài)鏈接庫和測(cè)試用例,不推薦的做法是把三方庫加入openharmony編譯體系后全量編譯出燒錄ohos用的固件。

  • 第一是因?yàn)槿烤幾gohos對(duì)電腦的性能,特別是內(nèi)存要求比較高(筆者的筆記本上的虛擬機(jī)內(nèi)存給到了32G,對(duì)學(xué)生開發(fā)者來講,編譯ohos的硬件門檻還是有點(diǎn)高的。)增量編譯對(duì)內(nèi)存要求不是特別高。(筆者的8G內(nèi)存二合一筆記本都可以編譯出來,并且虛擬機(jī)內(nèi)存只給到了4GB左右
  • 第二是因?yàn)?span style="font-weight:700;">全量編譯花費(fèi)時(shí)間較多(筆者完整編譯出一個(gè)固件需要3個(gè)小時(shí)左右。)增量編譯需要的時(shí)間相對(duì)較少(筆者大概只需要花費(fèi)9分鐘左右

全量編譯和增量編譯概念

  • 全量編譯是將所有文件重新編譯,重新生成解決方案就是全量編譯
  • 增量編譯只對(duì)改動(dòng)的文件進(jìn)行編譯,執(zhí)行生成解決方案就是增量編譯

在源碼目錄執(zhí)行如下命令,進(jìn)行增量編譯:

./build.sh --product-name rk3568 --ccache --build-target=speexdsp --target-cpu arm64
  • ohos3.2beta1版本開始新增特性,支持64位系統(tǒng)的編譯,默認(rèn)情況下編譯的都是32位系統(tǒng),在編譯命令中添加--target-cpu arm64即可構(gòu)建64位系統(tǒng),編譯so和可執(zhí)行文件的執(zhí)行語句更改為:

image.png

加快本地編譯的一些參數(shù)

編譯時(shí),適當(dāng)選擇添加以下的編譯參數(shù)可以加快編譯的過程。

  • 添加--ccache參數(shù):
    • 原理:ccache會(huì)緩存c/c++編譯的編譯輸出,下一次在編譯輸入不變的情況下,直接復(fù)用緩存的產(chǎn)物。
    • 安裝:
      • 快速安裝:執(zhí)行sudo apt-get install ccache命令。
    • 使用:執(zhí)行./build.sh --product-name 產(chǎn)品名 --ccache命令。
  • 添加--fast-rebuild參數(shù)
    • 原理:編譯流程主要分為:preloader->loader->gn->ninja這四個(gè)過程,在本地沒有修改gn和產(chǎn)品配置相關(guān)文件的前提下,添加--fast-rebuild會(huì)讓你直接從ninja編譯開始。
    • 使用:執(zhí)行./build.sh --product-name 產(chǎn)品名 --fast-rebuild命令。
  • 添加enable_notice_collection=false參數(shù)
    • 原理:省略掉收集開源軟件模塊的license的過程。
    • 使用:執(zhí)行./build.sh --product-name 產(chǎn)品名 --gn-args --enable_notice_collection=false --ccache命令。
  • 添加--build-target參數(shù)
    • 該參數(shù)用于指定編譯模塊,如何找模塊的名字:
    • 相關(guān)倉下BUILD.gn中關(guān)注group、ohos_shared_library、ohos_executable等關(guān)鍵字。
    • ./build.sh --product-name 產(chǎn)品名 --build-target 模塊名 --build-only-gn生成build.ninja,然后去該文件中查找相關(guān)模塊名。
    • 使用:執(zhí)行./build.sh --product-name 產(chǎn)品名 --build-target ark_js_host_linux_tools_packages命令。

解決編譯報(bào)錯(cuò)

(筆者理解移植過程肯定不會(huì)是一帆風(fēng)順的)

執(zhí)行編譯命令后,有部分報(bào)錯(cuò)
1.部分頭文件缺失報(bào)錯(cuò)
‘speexdsp_config_types.h’ file not found

編譯找不到third_party/speexdsp/include/speex目錄下的speexdsp_config_types.h文件。

../../third_party/speexdsp/include/speex/speexdsp_types.h:122:10: fatal error: 
'speexdsp_config_types.h' file not found

image.png

解決辦法:

  • speexdsp_types.h 是由linux下編譯生成的,因此需要在Linux下編譯整個(gè)Speexdsp源碼,然后把在speexdsp原生庫目錄下build/include/speex目錄生成的speexdsp_types.h文件拷貝到要ohos源碼下的third_party/speexdsp/include/speex目錄下,

2.json文件語法發(fā)生錯(cuò)誤。

image.png

解決方法:
查看out/rk3568目錄下build.log文件,檢查源碼/build/subsystem_config.json文件語法
筆者出現(xiàn)這個(gè)問題的原因是json文件語法發(fā)生錯(cuò)誤,在subsystem_config.json文件第一行的{沒有匹配},添加上去就沒問題。
image.png

編譯成功

解決完編譯報(bào)錯(cuò)后,再次執(zhí)行編譯命令。

./build.sh --product-name rk3568 --ccache --build-target=speexdsp --target-cpu arm64

image.png

編譯成功,終端打印信息如下:
下面只選取關(guān)鍵的一小部分,實(shí)際打印出來的信息有兩千行左右。)

jiajiahao@ubuntu:~/Desktop/OpenHarmony/sources$ ./build.sh --product-name rk3568 --ccache --build-target=speexdsp --target-cpu arm64
++++++++++++++++++++++++++++++++++++++++
2022-09-07 22:03:47
--product-name rk3568 --ccache --build-target=speexdsp --target-cpu arm64
......
······
[OHOS INFO] [1595/1633] STAMP obj/third_party/speexdsp/speexdsp_share.inputdeps.stamp
[OHOS INFO] [1596/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/unistd/soft_musl_src/ttyname_r.o
[OHOS INFO] [1597/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/unistd/soft_musl_src/ualarm.o
[OHOS INFO] [1598/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/unistd/soft_musl_src/unlink.o
[OHOS INFO] [1599/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/unistd/soft_musl_src/unlinkat.o
[OHOS INFO] [1600/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/unistd/soft_musl_src/usleep.o
[OHOS INFO] [1601/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/unistd/soft_musl_src/write.o
[OHOS INFO] [1602/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/unistd/soft_musl_src/writev.o
[OHOS INFO] [1603/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/string/soft_musl_src_nossp/mempcpy.o
[OHOS INFO] [1604/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/string/soft_musl_src_nossp/memset.o
[OHOS INFO] [1605/1633] STAMP obj/third_party/musl/soft_musl_src.stamp
[OHOS INFO] [1606/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/buffer.o
[OHOS INFO] [1607/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/fftwrap.o
[OHOS INFO] [1608/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/filterbank.o
[OHOS INFO] [1609/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/env/soft_musl_src_nossp/__libc_start_main.o
[OHOS INFO] [1610/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/scal.o
[OHOS INFO] [1611/1633] ASM obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/thread/aarch64/soft_musl_src_nossp/__set_thread_area.o
[OHOS INFO] [1612/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/env/soft_musl_src_nossp/__init_tls.o
[OHOS INFO] [1613/1633] CC obj/out/rk3568/obj/third_party/musl/intermidiates/linux/musl_src_ported/src/env/soft_musl_src_nossp/__stack_chk_fail.o
[OHOS INFO] [1614/1633] STAMP obj/third_party/musl/soft_musl_src_nossp.stamp
[OHOS INFO] [1615/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/jitter.o
[OHOS INFO] [1616/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/preprocess.o
[OHOS INFO] [1617/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/resample.o
[OHOS INFO] [1618/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/mdf.o
[OHOS INFO] [1619/1633] SOLINK obj/third_party/musl/usr/lib/aarch64-linux-ohos/libc.so
[OHOS INFO] [1620/1633] STAMP obj/third_party/musl/soft_shared_libs.stamp
[OHOS INFO] [1621/1633] STAMP obj/build/config/common_deps.stamp
[OHOS INFO] [1622/1633] STAMP obj/build/config/executable_deps.stamp
[OHOS INFO] [1623/1633] STAMP obj/build/config/shared_library_deps.stamp
[OHOS INFO] [1624/1633] CC obj/third_party/speexdsp/libspeexdsp/speexdsp_share/smallft.o
[OHOS INFO] [1625/1633] SOLINK speexdsp/speexdsp/libspeexdsp_share.z.so
[OHOS INFO] [1626/1633] LINK speexdsp/speexdsp/testdenoise
[OHOS INFO] [1627/1633] LINK speexdsp/speexdsp/testecho
[OHOS INFO] [1628/1633] LINK speexdsp/speexdsp/testjitter
[OHOS INFO] [1629/1633] LINK speexdsp/speexdsp/testresample
[OHOS INFO] [1630/1633] LINK speexdsp/speexdsp/testresample2
[OHOS INFO] [1631/1633] STAMP obj/out/rk3568/build_configs/speexdsp/speexdsp/speexdsp_info.stamp
[OHOS INFO] [1632/1633] ACTION //out/rk3568/build_configs/speexdsp/speexdsp:speexdsp(//build/toolchain/ohos:ohos_clang_arm64)
[OHOS INFO] [1633/1633] STAMP obj/out/rk3568/build_configs/speexdsp/speexdsp/speexdsp.stamp
[OHOS INFO] ---------------------------------------------
[OHOS INFO] ccache summary:
[OHOS INFO] cache hit (direct)  : 0
[OHOS INFO] cache hit (preprocessed)  : 0
[OHOS INFO] cache miss  : 1340
[OHOS INFO] hit rate:  0.00% 
[OHOS INFO] mis rate: 100.00% 
[OHOS INFO] ---------------------------------------------
[OHOS INFO] c targets overlap rate statistics
[OHOS INFO] subsystem       	files NO.	percentage	builds NO.	percentage	overlap rate
[OHOS INFO] aafwk           	      25	0.9%	      25	0.9%	1.00
[OHOS INFO] arkui           	      11	0.4%	      11	0.4%	1.00
[OHOS INFO] bundlemanager   	      45	1.5%	      45	1.5%	1.00
[OHOS INFO] communication   	     197	6.7%	     197	6.7%	1.00
[OHOS INFO] hiviewdfx       	      32	1.1%	      32	1.1%	1.00
[OHOS INFO] securec         	      78	2.7%	      78	2.7%	1.00
[OHOS INFO] speexdsp        	      14	0.5%	      14	0.5%	1.00
[OHOS INFO] startup         	      46	1.6%	      46	1.6%	1.00
[OHOS INFO] third_party     	    1065	36.3%	    1065	36.3%	1.00
[OHOS INFO] thirdparty      	    1065	36.3%	    1065	36.3%	1.00
[OHOS INFO] utils           	      58	2.0%	      58	2.0%	1.00
[OHOS INFO] zxing-cpp-1.2.0 	     117	4.0%	     117	4.0%	1.00
[OHOS INFO] 
[OHOS INFO] c overall build overlap rate: 1.00
[OHOS INFO] 
[OHOS INFO] 
[OHOS INFO] rk3568 build success
[OHOS INFO] cost time: 0:02:24
=====build  successful=====

驗(yàn)證編譯結(jié)果

編譯speexdsp生成的動(dòng)態(tài)鏈接庫和測(cè)試用的可執(zhí)行程序,在openharmony源碼目錄的out/rk3568下。

image.png

out/rk3568/speexdsp目錄結(jié)構(gòu)如下:
image.png

├── libspeexdsp_share.z.so # 動(dòng)態(tài)鏈接庫
├── testdenoise            # 測(cè)試用例 
├── testecho               # 測(cè)試用例 
├── testjitter             # 測(cè)試用例 
├── testresample           # 測(cè)試用例 
└── testresample2          # 測(cè)試用例

六、API接口導(dǎo)出

在源碼third_party/speexdsp目錄下新建export_api文件夾。

image.png

1.在export_api目錄下新建allHeads.h文件

該頭文件中包含所有庫對(duì)外導(dǎo)出的頭文件。speexdsp有5個(gè)測(cè)試程序testdenoise、testecho、testjitter、testresample、testresample2。

image.png

查看這五個(gè)測(cè)試程序的源文件testdenoise.c、testecho.c、testjitter.c、testresample.c、testresample2.c。

image.png

其用到的libspeexdsp_share.z.so的頭文件如下:

#include "speex_preprocess.h"
#include "speex_echo.h"
#include "speex_jitter.h"
#include "speex_resampler.h"

2.新增allDySos目錄,該目錄下放置生成的動(dòng)態(tài)庫:

image.png

3、新增allTests目錄,該目錄下放置所有生成的測(cè)試文件:

image.png

4、新建自動(dòng)化測(cè)試腳本export_interface.sh,如下所示:

其中cxx="0"表示根據(jù).c文件進(jìn)行導(dǎo)出,cxx="1"則表示根據(jù).cpp文件進(jìn)行導(dǎo)出(如果導(dǎo)出c++的三方庫的api接口,使用該腳本就讓cxx=1):

#!/bin/sh
#C庫
cxx="0"

mixed_api() {
    
    while read line
    do
        if [ $cxx != "1" -o "$4" == "1" ];then
            tmp=$line
        else
            tmp=`echo $line | sed "s/(.*$//g" | sed "s/^.*:://g"`
        fi
        res=`cat $2 |grep "$tmp" -F`
        if [ "$res" != "" ];then
            echo "$line" >> $3
        fi
    done < $1
}

remove_standard_api() {
    flag="0"
    while read line
    do
        tmp1=`echo $line |grep ".*#.*/usr/"`
        tmp2=`echo $line |grep ".*#.*[0-9].*".*""`
        if [ "$tmp1" != "" ];then
            flag="0"
        elif [ "$tmp2" != "" ];then
            flag="1"
        elif [ $flag == "1" ];then
            echo "$line" >> $2
        fi
    done < $1
}

src1="allHeads.h"
src2="allDySos"
src3="allTests"

if [ $cxx == "1" ];then
    flags_D="-DC"
    flags_DU="-DCu"
    CC=g++
else
    flags_D="-D"
    flags_DU="-Du"
    CC=gcc
fi

if [ ! -e $src1 ];then
    echo "$src1 is not exist!"
    exit 1
fi

if [ ! -e $src2 ];then
    echo "$src2 is not exist!"
    exit 1
fi

if [ ! -e $src3 ];then
    echo "$src3 is not exist!"
    exit 1
fi

rm -rf $src1.i* $src2.txt $src3.txt export_api.txt tested_api.txt

$CC -E $* $src1 -o $src1.i

if [ "$?" != "0" ];then
    exit 1
fi

remove_standard_api $src1.i $src1.i.tmp

nm $src2/* $flags_D | sort -u | grep " T " | sed "s/^.* T //g" >> $src2.txt
nm $src3/* $flags_DU | sort -u | sed "s/^.* U //g" >> $src3.txt

mixed_api $src2.txt $src1.i.tmp export_api.txt 0
mixed_api export_api.txt $src3.txt  tested_api.txt 1

rm -rf $src1.i* $src2.txt $src3.txt

執(zhí)行腳本導(dǎo)出api接口

執(zhí)行該腳本導(dǎo)出api接口時(shí),需要給腳本傳入編譯頭文件的參數(shù)。(運(yùn)行此api接口導(dǎo)出腳本在PC端)

  • 例如./export_interface.sh -I 頭文件所在路徑 -D宏定義(編譯所有動(dòng)態(tài)庫時(shí),cflags/cflags_cc中的參數(shù))
    • 頭文件所在路徑為絕對(duì)路徑
    • D宏定義指的是(編譯所有動(dòng)態(tài)庫時(shí),cflags/cflags_cc中的參數(shù))

筆者導(dǎo)出speexdsp API接口,在export_api文件夾下打開終端輸入了如下命令:

chmod 777 export_interface.sh
./export_interface.sh -I/home/jiajiahao/Desktop/OpenHarmony/sources/third_party/speexdsp/include/speex

結(jié)果是生成export_api.txt(導(dǎo)出so對(duì)外api接口)與testd_api.txt(導(dǎo)出測(cè)試程序所用到so對(duì)外導(dǎo)出api接口 )。

image.png

export_api.txt文件內(nèi)容如下:

speex_preprocess_state_init
speex_preprocess_state_destroy
speex_preprocess
speex_preprocess_run
speex_preprocess_estimate_update
speex_preprocess_ctl
jitter_buffer_init
jitter_buffer_ctl
jitter_buffer_reset
jitter_buffer_destroy
jitter_buffer_put
jitter_buffer_get
jitter_buffer_get_another
jitter_buffer_update_delay
jitter_buffer_get_pointer_timestamp
jitter_buffer_tick
jitter_buffer_remaining_span
speex_echo_state_init
speex_echo_state_init_mc
speex_echo_state_reset
speex_echo_state_destroy
speex_echo_capture
speex_echo_cancellation
speex_echo_playback
speex_echo_cancel
speex_echo_ctl
speex_resampler_init
speex_resampler_init_frac
speex_resampler_set_quality
speex_resampler_set_rate_frac
speex_resampler_destroy
speex_resampler_process_float
speex_resampler_process_int
speex_resampler_process_interleaved_float
speex_resampler_process_interleaved_int
speex_resampler_set_rate
speex_resampler_get_rate
speex_resampler_get_ratio
speex_resampler_get_quality
speex_resampler_set_input_stride
speex_resampler_get_input_stride
speex_resampler_set_output_stride
speex_resampler_get_output_stride
speex_resampler_get_input_latency
speex_resampler_get_output_latency
speex_resampler_skip_zeros
speex_resampler_reset_mem
speex_resampler_strerror
speex_decorrelate_new
speex_decorrelate
speex_decorrelate_destroy

tested_api.txt文件內(nèi)容如下:

speex_preprocess_state_init
speex_preprocess_state_destroy
speex_preprocess
speex_preprocess_run
speex_preprocess_ctl
jitter_buffer_init
jitter_buffer_reset
jitter_buffer_put
jitter_buffer_get
jitter_buffer_tick
speex_echo_state_init
speex_echo_state_destroy
speex_echo_cancellation
speex_echo_cancel
speex_echo_ctl
speex_resampler_init
speex_resampler_destroy
speex_resampler_process_float
speex_resampler_set_rate
speex_resampler_skip_zeros

下期預(yù)告:speexdsp功能分析和功能測(cè)試

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dayu200
    +關(guān)注

    關(guān)注

    1

    文章

    26

    瀏覽量

    1403
  • 潤(rùn)和軟件
    +關(guān)注

    關(guān)注

    1

    文章

    307

    瀏覽量

    1105
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)

    北京迅為RK3568開發(fā)板OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開發(fā)內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)
    的頭像 發(fā)表于 03-11 14:13 ?887次閱讀
    北京迅為RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>系統(tǒng)</b>南向驅(qū)動(dòng)<b class='flag-5'>開發(fā)</b>內(nèi)核HDF驅(qū)動(dòng)框架架構(gòu)

    基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫案例:ThreadPoll

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)的C++公共基礎(chǔ)類庫的線程池處理:ThreadPoll。本案例完成如下工作:創(chuàng)建1個(gè)線程池,設(shè)置該線程池內(nèi)部有1024個(gè)線程空間。啟動(dòng)5個(gè)線程
    的頭像 發(fā)表于 02-10 18:09 ?212次閱讀
    基于<b class='flag-5'>OpenHarmony</b><b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b>的C++公共基礎(chǔ)類庫案例:ThreadPoll

    OpenHarmony源碼編譯后燒錄鏡像教程,RK3566鴻蒙開發(fā)板演示

    本文介紹瑞芯微主板/開發(fā)板編譯OpenHarmony源碼后燒錄鏡像的教程,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示。搭載了瑞芯微RK3566四核處理器,樹莓派卡片電腦設(shè)計(jì),支持開源鴻蒙O
    的頭像 發(fā)表于 12-30 10:08 ?497次閱讀
    <b class='flag-5'>OpenHarmony</b>源碼編譯后燒錄鏡像教程,RK3566鴻蒙<b class='flag-5'>開發(fā)板</b>演示

    dayu200 rk3568 openharmony5.0 sim卡 通話服務(wù)

    想請(qǐng)問一下有人在dayu200 rk3568上插過sim卡并且成功完成過通話服務(wù)嗎? 我現(xiàn)在在dayu200上燒錄了openHarmony release 5.0.0版本的鏡像,在上面插上了sim卡,但是仍然顯示未檢測(cè)到sim卡
    發(fā)表于 12-26 16:52

    OpenHarmony怎么修改DPI密度值?觸覺智能RK3566鴻蒙開發(fā)板演示

    開源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺智能Purple Pi OH鴻蒙開發(fā)板演示,搭載了瑞芯微RK3566四核處理器,Laval鴻蒙社區(qū)推薦開發(fā)板,已適配全
    的頭像 發(fā)表于 12-24 11:46 ?504次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺智能RK3566鴻蒙<b class='flag-5'>開發(fā)板</b>演示

    戈帥《OpenHarmony輕量系統(tǒng)從入門精通50例》開發(fā)板與傳感器配置說明

    戈帥《OpenHarmony輕量系統(tǒng)從入門精通50例》開發(fā)板與傳感器配置說明,請(qǐng)查看附件*附件:《OpenHarmony輕量
    發(fā)表于 12-03 15:46

    基于ArkTS語言的OpenHarmony APP應(yīng)用開發(fā):HelloOpenharmony

    1、程序簡(jiǎn)介該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)編寫的UI應(yīng)用類:HelloOpenHarmony。本案例是基于API9接口開發(fā)。本案例已在O
    的頭像 發(fā)表于 09-15 08:09 ?697次閱讀
    基于ArkTS語言的<b class='flag-5'>OpenHarmony</b> APP應(yīng)用<b class='flag-5'>開發(fā)</b>:Hello<b class='flag-5'>Openharmony</b>

    瑞芯微RK3566鴻蒙開發(fā)板OpenHarmony標(biāo)準(zhǔn)系統(tǒng)應(yīng)用兼容性測(cè)試指導(dǎo)

    本文OpenHarmony標(biāo)準(zhǔn)系統(tǒng)應(yīng)用兼容性測(cè)試指導(dǎo),適用鴻蒙系統(tǒng)軟件開發(fā)測(cè)試的新手入門學(xué)習(xí)課程,設(shè)備為觸覺智能的瑞芯微RK3566開發(fā)板,型號(hào)Purple Pi OH。是Laval官
    的頭像 發(fā)表于 09-10 11:56 ?875次閱讀
    瑞芯微RK3566鴻蒙<b class='flag-5'>開發(fā)板</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b>應(yīng)用兼容性測(cè)試指導(dǎo)

    Openharmony軟件評(píng)估指南-米爾瑞芯微RK3568開發(fā)板

    Openharmony軟件評(píng)估指南用于介紹在米爾的開發(fā)板上運(yùn)行Openharmony系統(tǒng)下的核心資源與外設(shè)資源的測(cè)試步驟與評(píng)估方法。本文可作
    發(fā)表于 09-06 20:06

    請(qǐng)求推薦無需NPU的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)ARM開發(fā)板

    請(qǐng)教一下大佬們,目前的需求是在國(guó)產(chǎn)ARM開發(fā)板上跑OpenHarmony標(biāo)準(zhǔn)系統(tǒng),無需NPU/GPU,其它配置(CPU、RAM等)可以盡量高點(diǎn),價(jià)位在2k以內(nèi),球球推薦!感謝大佬們!
    發(fā)表于 08-16 16:25

    潤(rùn)開鴻“龍芯+OpenHarmony開發(fā)平臺(tái)DAYU431先鋒派新品發(fā)布

    潤(rùn)開鴻基于全新龍芯2K0300芯片平臺(tái)的重磅新品潤(rùn)開鴻HH-SCDAYU431先鋒派開發(fā)平臺(tái)正式上市,成為潤(rùn)開鴻DAYU系列產(chǎn)品中符合
    的頭像 發(fā)表于 08-07 14:50 ?828次閱讀
    <b class='flag-5'>潤(rùn)</b>開鴻“龍芯+<b class='flag-5'>OpenHarmony</b>”<b class='flag-5'>開發(fā)</b>平臺(tái)<b class='flag-5'>DAYU</b>431先鋒派新品發(fā)布

    鴻蒙OpenHarmony南向/北向快速開發(fā)教程-迅為RK3568開發(fā)板

    大家期待已久的迅為RK3568開發(fā)板終于迎來了鴻蒙4.1系統(tǒng)的強(qiáng)勢(shì)支持!想知道如何實(shí)現(xiàn)快速開發(fā)學(xué)習(xí)嗎?跟著我們一起來探索吧! 迅為RK3568開發(fā)板: 想象一下,你手中的RK3568
    發(fā)表于 07-23 10:44

    鴻蒙OpenHarmony【基于Hi3516DV300開發(fā)板(時(shí)鐘應(yīng)用開發(fā))】

    如何快速搭建基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)(Hi3516DV300開發(fā)板)的應(yīng)用開發(fā)環(huán)境,并基于一個(gè)時(shí)鐘APP示例逐步展示應(yīng)用的創(chuàng)建、開發(fā)
    的頭像 發(fā)表于 05-08 15:27 ?1473次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【基于Hi3516DV300<b class='flag-5'>開發(fā)板</b>(時(shí)鐘應(yīng)用<b class='flag-5'>開發(fā)</b>)】

    鴻蒙OpenHarmony南向:【Hi3516標(biāo)準(zhǔn)系統(tǒng)入門(命令行方式)】

    除小型系統(tǒng)外,Hi3516DV300開發(fā)板還支持標(biāo)準(zhǔn)系統(tǒng)。此章節(jié)簡(jiǎn)要介紹如何使用命令行在Hi3516DV300開發(fā)板上進(jìn)行標(biāo)準(zhǔn)系統(tǒng)
    的頭像 發(fā)表于 05-08 09:26 ?1109次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>南向:【Hi3516<b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b>入門(命令行方式)】

    鴻蒙OpenHarmony標(biāo)準(zhǔn)系統(tǒng) 運(yùn)行】(基于RK3568開發(fā)板

    燒錄完成重啟開發(fā)板后,系統(tǒng)將會(huì)自動(dòng)啟動(dòng)。開發(fā)板附帶的屏幕呈現(xiàn)以下界面,表明系統(tǒng)已運(yùn)行成功。
    的頭像 發(fā)表于 05-06 15:38 ?616次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b> 運(yùn)行】(基于RK3568<b class='flag-5'>開發(fā)板</b>)