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

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

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

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

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

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


由于想要分享的內(nèi)容較多,為避免讀者姥爺們失去看下去的耐心,分享將以連載的方式進(jìn)行。

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

image.png


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


九、準(zhǔn)備好上傳speexdsp至OpenHarmony倉庫。

移植完成后,先將代碼上傳至sig倉中的contest倉

sig倉庫是TPC倉庫的孵化倉。代碼先上sig倉,到時(shí)會(huì)直接平移到tpc倉。

image.png

上傳的內(nèi)容包括:

  • 原生庫代碼
    • (除了涉及需要修改原生庫代碼的部分,其他都不能上傳,例如編譯途中生成的中間文件)
  • BUILD.gn
  • README.Opensource
  • 庫對(duì)外導(dǎo)出的所有api接口export_api.txt
  • 測(cè)試過的api接口tested_api.txt
  • 功能測(cè)試文檔: 三方庫_test_function.md
    • 內(nèi)容至少包含羅列出庫所有的功能,已測(cè)試過的功能,原生庫測(cè)試邏輯的分析
  • 原生庫分析文檔: 三方庫_analyse.md

文檔命名不要用中文,如果涉及到編碼問題的話,到時(shí)候會(huì)出現(xiàn)亂碼,一般建議不用中文命名?。?!

提供OAT.xml文件

OAT開源掃描

  • OAT(OSS Audit Tool)是OpenHarmony社區(qū)的自動(dòng)化開源審視工具,用于幫助開發(fā)人員基于自定義的規(guī)則自動(dòng)掃描開源倉代碼,識(shí)別不符合預(yù)定規(guī)則的代碼并輸出掃描報(bào)告。
  • OAT下載地址:https://gitee.com/openharmony-sig/tools_oat

工具使用

編譯構(gòu)建:

  • linux上安裝好javaMaven后,下載OAT工具源碼,執(zhí)行mvn package完成構(gòu)建。

image.png

  • 編譯構(gòu)建成功

image.png

在父目錄下添加OAT.xml,內(nèi)容如下:




<configuration>
    <oatconfig>
        <licensefile>COPYINGlicensefile>
        <policylist>
            <policy name="projectPolicy" desc="">
                
                <policyitem type="license" name="*" path=".*" rule="may" group="defaultGroup" filefilter="defaultPolicyFilter" desc=""/>
            policy>
        policylist>
        <filefilterlist>
            <filefilter name="defaultFilter" desc="Files not to check">
                <filteritem type="filepath" name=".*" desc="原生庫文件"/>
            filefilter>
            <filefilter name="defaultPolicyFilter" desc="Filters for compatibility,license header policies">
                
                
                
                <filteritem type="filepath" name=".*" desc="原生庫代碼"/>
            filefilter>
            <filefilter name="copyrightPolicyFilter" desc="Filters for copyright header policies">
                
                
                
                <filteritem type="filepath" name=".*" desc="原生庫代碼"/>
            filefilter>
            <filefilter name="licenseFileNamePolicyFilter" desc="Filters for LICENSE file policies">
                
                
                
            filefilter>
            <filefilter name="readmeFileNamePolicyFilter" desc="Filters for README file policies">
                
                
                
                
            filefilter>
            <filefilter name="readmeOpenSourcefileNamePolicyFilter" desc="Filters for README.OpenSource file policies">
                
                
                
            filefilter>
            <filefilter name="binaryFileTypePolicyFilter" desc="Filters for binary file policies">
                
                
                
            filefilter>

        filefilterlist>
        <licensematcherlist>
            
        licensematcherlist>
    oatconfig>
configuration>

在speexdsp根目錄下新建空白的OAT_report.text文件,執(zhí)行命令:

Java –jar ohos_ossaudittool-1.0.jar –s src_dir –r report_file –n selfcheck
  • ohos_ossaudittool-1.0.jar 工具包名,需要帶實(shí)際路徑
  • -s 指定需要檢查的代碼目錄,src_dir 改成要檢查的項(xiàng)目路徑
  • -r 指定報(bào)告輸出文件的路徑,檢查完成后可查看此文件中列出的問題,按指導(dǎo)文檔修復(fù)
  • report_file
  • -n 檢查任務(wù)的名稱,任意指定,本地檢查使用不上。

例如筆者執(zhí)行的語句為:

sudo java -Dfile.encoding=UTF-8 -jar /home/jiajiahao/Desktop/tools_oat-master/target/ohos_ossaudittool-1.0.jar -s /home/jiajiahao/Desktop/gitee_speexdsp -r /home/jiajiahao/Desktop/gitee_speexdsp/OAT_report.text -n nameOfRepo

掃描結(jié)果

執(zhí)行完上述命令后,OAT_report.text生成內(nèi)容如下:

image.png

同時(shí)在speexdsp父目錄下生成log文件夾
image.png

  • LicenseFile.txt位于OAT工具運(yùn)行目錄的log目錄下,此文件記錄掃描目錄下所有疑似許可證的文件

原生庫通過make或者cmake時(shí)生成的一些配置文件。如比較通用的config.h配置文件,config.h文件為原生庫生成文件,原則上也不做修改,為了避免文件上倉進(jìn)行代碼掃碼,可以將文件文件修改后綴名(config.h.in)。相關(guān)文檔中需要將配置文件使用方法說明。

提供README.OpenSource文件

README.Opensource的格式如下:

[
    {
      "Name": "",				## 庫名
      "License": "",			## 開源協(xié)議
      "License File": ",		## 開源文件,一般開源項(xiàng)目都會(huì)自帶該文件
      "Version Number": "",		## 庫的版本
      "Owner": "",				## 作者
      "Upstream URL": "",		## 開源庫的地址
      "Description": ""			## 庫的描述
    }
]

speexdsp的README.OpenSource文件如下:

[
    {
        "Name": "speexdsp",
        "License": "BSD-3-Clause",
        "License File": "COPYING",
        "Version Number": "1.2.1",
        "Owner": "2692032597@qq.com",
        "Upstream URL": "https://speex.org/",
        "Description": "Speexdsp is a speech processing library that goes along with the Speex codec"
    }
]

提供庫的分析文檔

三方庫分析文檔如下:

一、確定庫實(shí)現(xiàn)方式
例如:C/C++/JS/JAVA

二.依賴分析
例如:當(dāng)前庫依賴其他三方庫,如下

1)庫名1,庫倉庫地址

2)庫名2,庫倉庫地址

三、license以及版權(quán)
例如:一般在license文件或者COPYING中,Apache License V2.0

四、最新一次版本
xx年xx月xx日,版本號(hào)xxx

五、功能點(diǎn)分析
(羅列出該庫所支持的功能)

六、代碼規(guī)模
(統(tǒng)計(jì)庫代碼總行數(shù),包括.h/.hpp/.c/.cpp/.cc 等代碼相關(guān)文件)

提供功能測(cè)試文檔

文檔中需羅列出

  • 庫所有的功能
  • 已測(cè)試過的功能
  • 原生庫測(cè)試邏輯的分析

提供導(dǎo)出的api接口列表

1、 導(dǎo)出庫對(duì)外暴露的所有api接口的列表

2、導(dǎo)出庫對(duì)外暴露的已測(cè)試api接口的列表

十、上傳speexdsp至OpenHarmony倉庫

配置個(gè)人信息

打開git bash,依次輸入以下命令:

git config --global user.name "xxxx"   (配置用戶名,xxxx為賬號(hào)用戶名,即個(gè)人空間地址)
git config --global user.email "xxxxxx@xxx"  (gitee 賬號(hào)郵箱與簽署DCO 的郵箱保持一致即可) 
git config --list         (查看配置情況)
git config --global credential.helper store (解決每次git pull都要輸入賬號(hào)信息的問題)

克隆倉庫內(nèi)容到本地

到個(gè)人賬號(hào)點(diǎn)擊并進(jìn)入contest倉庫, fork該倉庫:

image.png

進(jìn)入到clone界面,復(fù)制clone的鏈接地址。

image.png
執(zhí)行如下語句:

git clone https://gitee.com/xxxxx/contest.git --depth=1
  • --depth=1意思是只clone當(dāng)前倉庫最新版本,省去一些歷史log,避免倉庫歷史記錄過于龐大花費(fèi)太多clone時(shí)間。
  • clone完畢之后,即可在本地目錄下看到這個(gè)clone的倉庫。本地目錄所在位置是根據(jù)git bash的位置決定的,比如在桌面啟動(dòng)git bash,則clone的倉庫會(huì)出現(xiàn)在桌面。

利用git lfs機(jī)制添加特殊文件

提交三方庫時(shí)候,文檔中有PDF文件時(shí)就需要使用利用git lfs機(jī)制

git lfs track xxx/xxx.pdf  // 聲明該特殊文件到git lfs機(jī)制
git add .gitattributes // 添加配置文件
git add xxx/xxx.pdf // 添加具體特殊文件到暫存區(qū)中
git lfs ls-files  // 確認(rèn)相關(guān)test_lfs.a 文件是否已經(jīng)添加到lfs 機(jī)制中。
git  add *   //將變更文件加入到暫存區(qū)
git commit -s -m  "add xxxxxxxx"  //將暫存區(qū)內(nèi)容簽名并提交到本地
  • -s是簽名表明這次提交者簽名(signoff)
  • -m是對(duì)此次提交行為進(jìn)行備注.

推送本地修改到賬號(hào)倉庫

現(xiàn)在需要將本地倉庫的修改內(nèi)容推送到gitee上fork后的個(gè)人倉庫,使用git push命令來完成這個(gè)動(dòng)作。

git push origin master
  • origin指的是自己的倉庫對(duì)應(yīng)的原始遠(yuǎn)程服務(wù)器地址;
  • master標(biāo)識(shí)的是想要提交的分支。
  • 可以使用 git remote -v查看配置的遠(yuǎn)程服務(wù)器;
  • git branch -a查看所有的分支。

進(jìn)入自己的賬號(hào)下面,查看這個(gè)倉庫,發(fā)現(xiàn)已經(jīng)發(fā)生了變化。從個(gè)人賬號(hào)倉庫下向官方倉庫下提交PR。
image.png
進(jìn)入個(gè)人賬號(hào)的該倉庫下,點(diǎn)擊增加PR即可開始提交PR。

image.png

提交pr時(shí),push的文件超過100個(gè)文件,在pr頁面只顯示100個(gè)。
image.png

聲明:本文內(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

    瀏覽量

    1177
  • 潤和軟件
    +關(guān)注

    關(guān)注

    1

    文章

    243

    瀏覽量

    848
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    瑞芯微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 ?295次閱讀
    瑞芯微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)

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

    請(qǐng)教一下大佬們,目前的需求是在國產(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

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

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

    鴻蒙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 ?1099次閱讀
    鴻蒙<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 ?798次閱讀
    鴻蒙<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 ?428次閱讀
    鴻蒙<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>)

    OpenHarmony開發(fā)實(shí)例:【電話簿聯(lián)系人Contacts】

    Contacts應(yīng)用是基于OpenHarmony SDK開發(fā)的安裝在和HiSpark Taurus AI Camera(Hi3516d)開發(fā)板標(biāo)準(zhǔn)
    的頭像 發(fā)表于 04-23 09:44 ?694次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b>實(shí)例:【電話簿聯(lián)系人Contacts】

    OpenHarmony開發(fā)實(shí)例:【 待辦事項(xiàng)TodoList】

    TodoList應(yīng)用是基于OpenHarmony SDK開發(fā)的安裝在和HiSpark Taurus AI Camera(Hi3516d)開發(fā)板標(biāo)準(zhǔn)
    的頭像 發(fā)表于 04-22 22:00 ?652次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b>實(shí)例:【 待辦事項(xiàng)TodoList】

    【鴻蒙】OpenHarmony運(yùn)行docker詳細(xì)步驟

    1.環(huán)境和設(shè)備 系統(tǒng)版本: 3.2release(64 位) OpenHarmony 內(nèi)核版本:5.10 標(biāo)準(zhǔn)系統(tǒng)設(shè)備: DAYU200 Docker:18.03.1 (64 位) s
    的頭像 發(fā)表于 03-02 15:10 ?2422次閱讀
    【鴻蒙】<b class='flag-5'>OpenHarmony</b>運(yùn)行docker詳細(xì)步驟

    【鴻蒙】標(biāo)準(zhǔn)系統(tǒng)移植指南

    標(biāo)準(zhǔn)系統(tǒng)移植指南 本文描述了移植一塊開發(fā)板的通用步驟,和具體芯片相關(guān)的詳細(xì)移植過程無法在此一一列舉。后續(xù)社區(qū)還會(huì)陸續(xù)發(fā)布
    的頭像 發(fā)表于 02-27 14:36 ?802次閱讀
    【鴻蒙】<b class='flag-5'>標(biāo)準(zhǔn)系統(tǒng)</b><b class='flag-5'>移植</b>指南

    請(qǐng)問DAYU200有SPI可以用么

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

    開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測(cè)評(píng)

    近期,江蘇開鴻數(shù)字科技有限公司(以下簡(jiǎn)稱“開鴻”)基于高性能RISC-V開源架構(gòu)處理器研發(fā)的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)平臺(tái)HH-SCDAYU800通過
    的頭像 發(fā)表于 12-15 08:02 ?542次閱讀
    <b class='flag-5'>潤</b>開鴻基于高性能RISC-V開源架構(gòu)<b class='flag-5'>DAYU</b>800通過<b class='flag-5'>OpenHarmony</b>兼容性測(cè)評(píng)

    開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測(cè)評(píng)

    近期,江蘇開鴻數(shù)字科技有限公司(以下簡(jiǎn)稱“開鴻”)基于高性能RISC-V開源架構(gòu)處理器研發(fā)的OpenHarmony標(biāo)準(zhǔn)系統(tǒng)開發(fā)平臺(tái)HH-SCDAYU800通過
    發(fā)表于 12-14 17:33

    開鴻基于高性能RISC-V開源架構(gòu)DAYU800通過OpenHarmony兼容性測(cè)評(píng)

    的OpenAtom OpenHarmony(以下簡(jiǎn)稱“OpenHarmony”)標(biāo)準(zhǔn)系統(tǒng)開發(fā)平臺(tái)HH-SCDAYU800通過OpenHarmony 3.2.2 Release版本兼容性
    的頭像 發(fā)表于 11-30 21:15 ?720次閱讀
    <b class='flag-5'>潤</b>開鴻基于高性能RISC-V開源架構(gòu)<b class='flag-5'>DAYU</b>800通過<b class='flag-5'>OpenHarmony</b>兼容性測(cè)評(píng)

    rk3568 dayu200開發(fā)版故障

    dayu200開發(fā)版卡在 DAYU開機(jī)界面,但是通過截屏軟件可以顯示正確圖像。
    發(fā)表于 11-30 09:53