色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【潤和軟件DAYU200開發板體驗】移植speexdsp到OpenHarmony標準系統④

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

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



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

本期為移植speexdsp到OpenHarmony標準系統的第④期,主要內容如下:
@toc

image.png


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


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

建議先增量編譯生成三方庫的動態鏈接庫和可執行文件,驗證是否成功把三方庫加入OpenHarmonybian編譯體系。

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

推薦增量編譯出三方庫的動態鏈接庫和測試用例,不推薦的做法是把三方庫加入openharmony編譯體系后全量編譯出燒錄ohos用的固件。

  • 第一是因為全量編譯ohos對電腦的性能,特別是內存要求比較高(筆者的筆記本上的虛擬機內存給到了32G,對學生開發者來講,編譯ohos的硬件門檻還是有點高的。)增量編譯對內存要求不是特別高。(筆者的8G內存二合一筆記本都可以編譯出來,并且虛擬機內存只給到了4GB左右
  • 第二是因為全量編譯花費時間較多(筆者完整編譯出一個固件需要3個小時左右。)增量編譯需要的時間相對較少(筆者大概只需要花費9分鐘左右

全量編譯和增量編譯概念

  • 全量編譯是將所有文件重新編譯,重新生成解決方案就是全量編譯
  • 增量編譯只對改動的文件進行編譯,執行生成解決方案就是增量編譯

在源碼目錄執行如下命令,進行增量編譯:

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

image.png

加快本地編譯的一些參數

編譯時,適當選擇添加以下的編譯參數可以加快編譯的過程。

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

解決編譯報錯

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

執行編譯命令后,有部分報錯
1.部分頭文件缺失報錯
‘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下編譯整個Speexdsp源碼,然后把在speexdsp原生庫目錄下build/include/speex目錄生成的speexdsp_types.h文件拷貝到要ohos源碼下的third_party/speexdsp/include/speex目錄下,

2.json文件語法發生錯誤。

image.png

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

編譯成功

解決完編譯報錯后,再次執行編譯命令。

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

image.png

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

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=====

驗證編譯結果

編譯speexdsp生成的動態鏈接庫和測試用的可執行程序,在openharmony源碼目錄的out/rk3568下。

image.png

out/rk3568/speexdsp目錄結構如下:
image.png

├── libspeexdsp_share.z.so # 動態鏈接庫
├── testdenoise            # 測試用例 
├── testecho               # 測試用例 
├── testjitter             # 測試用例 
├── testresample           # 測試用例 
└── testresample2          # 測試用例

六、API接口導出

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

image.png

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

該頭文件中包含所有庫對外導出的頭文件。speexdsp有5個測試程序testdenoise、testecho、testjitter、testresample、testresample2。

image.png

查看這五個測試程序的源文件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目錄,該目錄下放置生成的動態庫:

image.png

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

image.png

4、新建自動化測試腳本export_interface.sh,如下所示:

其中cxx="0"表示根據.c文件進行導出,cxx="1"則表示根據.cpp文件進行導出(如果導出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

執行腳本導出api接口

執行該腳本導出api接口時,需要給腳本傳入編譯頭文件的參數。(運行此api接口導出腳本在PC端)

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

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

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

結果是生成export_api.txt(導出so對外api接口)與testd_api.txt(導出測試程序所用到so對外導出api接口 )。

image.png

export_api.txt文件內容如下:

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文件內容如下:

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

下期預告:speexdsp功能分析和功能測試

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • dayu200
    +關注

    關注

    1

    文章

    26

    瀏覽量

    1193
  • 潤和軟件
    +關注

    關注

    1

    文章

    266

    瀏覽量

    867
收藏 人收藏

    評論

    相關推薦

    瑞芯微RK3566鴻蒙開發板OpenHarmony標準系統應用兼容性測試指導

    本文OpenHarmony標準系統應用兼容性測試指導,適用鴻蒙系統軟件開發測試的新手入門學習課程,設備為觸覺智能的瑞芯微RK3566開發板,型號Purple Pi OH。是Laval官
    的頭像 發表于 09-10 11:56 ?373次閱讀
    瑞芯微RK3566鴻蒙<b class='flag-5'>開發板</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>標準系統</b>應用兼容性測試指導

    請求推薦無需NPU的OpenHarmony標準系統ARM開發板

    請教一下大佬們,目前的需求是在國產ARM開發板上跑OpenHarmony標準系統,無需NPU/GPU,其它配置(CPU、RAM等)可以盡量高點,價位在2k以內,球球推薦!感謝大佬們!
    發表于 08-16 16:25

    開鴻“龍芯+OpenHarmony開發平臺DAYU431先鋒派新品發布

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

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

    大家期待已久的迅為RK3568開發板終于迎來了鴻蒙4.1系統的強勢支持!想知道如何實現快速開發學習嗎?跟著我們一起來探索吧! 迅為RK3568開發板: 想象一下,你手中的RK3568
    發表于 07-23 10:44

    鴻蒙OpenHarmony【基于Hi3516DV300開發板(時鐘應用開發)】

    如何快速搭建基于OpenHarmony標準系統(Hi3516DV300開發板)的應用開發環境,并基于一個時鐘APP示例逐步展示應用的創建、開發
    的頭像 發表于 05-08 15:27 ?1163次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【基于Hi3516DV300<b class='flag-5'>開發板</b>(時鐘應用<b class='flag-5'>開發</b>)】

    鴻蒙OpenHarmony南向:【Hi3516標準系統入門(命令行方式)】

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

    鴻蒙OpenHarmony標準系統 運行】(基于RK3568開發板

    燒錄完成重啟開發板后,系統將會自動啟動。開發板附帶的屏幕呈現以下界面,表明系統已運行成功。
    的頭像 發表于 05-06 15:38 ?461次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>標準系統</b> 運行】(基于RK3568<b class='flag-5'>開發板</b>)

    鴻蒙OpenHarmony標準系統 運行】 (基于RK3568開發板

    燒錄完成重啟開發板之后,系統將會自動啟動……
    的頭像 發表于 04-25 15:56 ?831次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>標準系統</b> 運行】 (基于RK3568<b class='flag-5'>開發板</b>)

    鴻蒙OpenHarmony標準系統編寫“Hello World”程序】 (基于RK3568開發板

    源碼],創建RK3568開發板的源碼工程。 示例目錄 拉取openharmony項目代碼,在代碼根目錄創建sample子系統文件夾,在子系統目錄下創建hello部件文件夾,hello文
    的頭像 發表于 04-24 17:32 ?778次閱讀
    鴻蒙<b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>標準系統</b>編寫“Hello World”程序】 (基于RK3568<b class='flag-5'>開發板</b>)

    OpenHarmony開發實例:【電話簿聯系人Contacts】

    Contacts應用是基于OpenHarmony SDK開發的安裝在和HiSpark Taurus AI Camera(Hi3516d)開發板標準
    的頭像 發表于 04-23 09:44 ?763次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發</b>實例:【電話簿聯系人Contacts】

    OpenHarmony開發實例:【 待辦事項TodoList】

    TodoList應用是基于OpenHarmony SDK開發的安裝在和HiSpark Taurus AI Camera(Hi3516d)開發板標準
    的頭像 發表于 04-22 22:00 ?724次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發</b>實例:【 待辦事項TodoList】

    【鴻蒙】OpenHarmony運行docker詳細步驟

    1.環境和設備 系統版本: 3.2release(64 位) OpenHarmony 內核版本:5.10 標準系統設備: DAYU200 Docker:18.03.1 (64 位) s
    的頭像 發表于 03-02 15:10 ?2606次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b>運行docker詳細步驟

    【鴻蒙】標準系統移植指南

    標準系統移植指南 本文描述了移植一塊開發板的通用步驟,和具體芯片相關的詳細移植過程無法在此一一列舉。后續社區還會陸續發布
    的頭像 發表于 02-27 14:36 ?885次閱讀
    【鴻蒙】<b class='flag-5'>標準系統</b><b class='flag-5'>移植</b>指南

    請問DAYU200有SPI可以用么

    大家好,請問DAYU200有SPI可以用么 我看這里https://developer.huawei.com/consumer/cn/market/prod-detail?productId
    發表于 02-20 11:38

    開源大師兄開發板通過 OpenHarmony 3.2 Release版本兼容性測評

    近期,江蘇開鴻數字科技有限公司(以下簡稱“開鴻”)開源?師兄開發板順利通過OpenHarmony3.2.1Release版本兼容性測評,為基于開源大師兄
    的頭像 發表于 01-20 08:02 ?917次閱讀
    開源大師兄<b class='flag-5'>開發板</b>通過 <b class='flag-5'>OpenHarmony</b> 3.2 Release版本兼容性測評
    主站蜘蛛池模板: 一本大道香蕉中文在线视频观看| 久久re6热在线视频精品| 午夜想想爱午夜剧场| 父亲猜女儿在线观看| 三级黄网站| 鬼灭之刃花街篇免费樱花动漫| 日韩欧美视频一区二区| 富婆夜店找黑人猛男BD在线| 三级黄色在线看| 国产精品一区二区AV97| 亚洲国产精品久久无套麻豆| 国拍在线精品视频免费观看| 亚洲欧美一区二区三区九九九| 精品久久免费视频| 在线观看国产小视频| 免费A级毛片无码无遮挡| aaa级黄影片| 日本人bbwbbwbbwbbw| 国产成人精品免费视频软件 | 国产成人久久AV免费看澳门| 首页 国产 亚洲 中文字幕| 国产精品人妻无码久久久奥特曼| 小寡妇水真多好紧| 精品国产影院| 18亚洲男同gay1069| 欧美手机在线| 国产精品99久久久久久WWW | 久久免费电影| 99热这里只有精品9| 日日干夜夜爽| 国产亚洲一区在线| 中文无码乱人伦中文视频播放| 内射爽无广熟女亚洲| 高H高肉强J短篇校园| 亚洲激情网站| 妈妈的职业3完整版在线播放| ewp系列虐杀在线视频| 婷婷精品国产亚洲AV在线观看 | xxx性欧美在线观看| 无限资源日本2019版| 精品视频一区二区三三区四区|