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

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

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

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

鴻蒙OpenHarmony【輕量系統(tǒng)編寫(xiě)“Hello World”程序】 (基于Hi3861開(kāi)發(fā)板)

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-21 21:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

編寫(xiě)“Hello World”程序

下方將通過(guò)修改源碼的方式展示如何編寫(xiě)簡(jiǎn)單程序,輸出“Hello world”。請(qǐng)?jiān)谙螺d的源碼目錄中進(jìn)行下述操作。

前提條件

已參考鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

操作步驟

搜狗高速瀏覽器截圖20240326151450.png

  1. 確定目錄結(jié)構(gòu)。
    開(kāi)發(fā)者編寫(xiě)業(yè)務(wù)代碼時(shí),務(wù)必先在./applications/sample/wifi-iot/app路徑下新建一個(gè)目錄(或一套目錄結(jié)構(gòu)),用于存放業(yè)務(wù)源碼文件。
    例如:在app下新增業(yè)務(wù)my_first_app,其中hello_world.c為業(yè)務(wù)代碼,BUILD.gn為編譯腳本,具體規(guī)劃目錄結(jié)構(gòu)如下:

    .
    └── applications
        └── sample
            └── wifi-iot
                └── app
                    └── my_first_app
                      │── hello_world.c
                      └── BUILD.gn
    
  2. 編寫(xiě)業(yè)務(wù)代碼。
    新建./applications/sample/wifi-iot/app/my_first_app下的hello_world.c文件,在hello_world.c中新建業(yè)務(wù)入口函數(shù)HelloWorld,并實(shí)現(xiàn)業(yè)務(wù)邏輯。并在代碼最下方,使用OpenHarmony啟動(dòng)恢復(fù)模塊接口SYS_RUN()啟動(dòng)業(yè)務(wù)。(SYS_RUN定義在ohos_init.h文件中)

    #include < stdio.h >
    #include "ohos_init.h"
    #include "ohos_types.h"
    
    void HelloWorld(void)
    {
        printf("[DEMO] Hello world.n");
    }
    SYS_RUN(HelloWorld);
    
  3. 編寫(xiě)用于將業(yè)務(wù)構(gòu)建成靜態(tài)庫(kù)的BUILD.gn文件。
    新建./applications/sample/wifi-iot/app/my_first_app下的BUILD.gn文件,并完成如下配置。
    如步驟1所述,BUILD.gn文件由三部分內(nèi)容(目標(biāo)、源文件、頭文件路徑)構(gòu)成,需由開(kāi)發(fā)者完成填寫(xiě)。

    static_library("myapp") {
        sources = [
            "hello_world.c"
        ]
        include_dirs = [
            "http://utils/native/lite/include"
        ]
    }
    
    • static_library中指定業(yè)務(wù)模塊的編譯結(jié)果,為靜態(tài)庫(kù)文件libmyapp.a,開(kāi)發(fā)者根據(jù)實(shí)際情況完成填寫(xiě)。
    • sources中指定靜態(tài)庫(kù).a所依賴的.c文件及其路徑,若路徑中包含"http://"則表示絕對(duì)路徑(此處為代碼根路徑),若不包含"http://"則表示相對(duì)路徑。
    • include_dirs中指定source所需要依賴的.h文件路徑。
  4. 添加新組件。
    修改文件build/lite/components/applications.json,添加組件hello_world_app的配置,如下所示為applications.json文件片段,"##start##"和"##end##"之間為新增配置("##start##"和"##end##"僅用來(lái)標(biāo)識(shí)位置,添加完配置后刪除這兩行):

    icon-note.gif說(shuō)明: 本章節(jié)操作是以O(shè)penHarmony-v3.1-Release版本為例進(jìn)行操作的,該版本中,組件配置文件為build/lite/components/applications.json;若源碼版本大于等于OpenHarmony 3.2 Beta2時(shí),組件配置文件為build/lite/components/communication.json。

    {
      "components": [
        {
          "component": "camera_sample_communication",
          "description": "Communication related samples.",
          "optional": "true",
          "dirs": [
            "applications/sample/camera/communication"
          ],
          "targets": [
            "http://applications/sample/camera/communication:sample"
          ],
          "rom": "",
          "ram": "",
          "output": [],
          "adapted_kernel": [ "liteos_a" ],
          "features": [],
          "deps": {
            "components": [],
            "third_party": []
          }
        },
    ##start##
        {
          "component": "hello_world_app",
          "description": "hello world samples.",
          "optional": "true",
          "dirs": [
            "applications/sample/wifi-iot/app/my_first_app"
          ],
          "targets": [
            "http://applications/sample/wifi-iot/app/my_first_app:myapp"
          ],
          "rom": "",
          "ram": "",
          "output": [],
          "adapted_kernel": [ "liteos_m" ],
          "features": [],
          "deps": {
            "components": [],
            "third_party": []
          }
        },
    ##end##
        {
          "component": "camera_sample_app",
          "description": "Camera related samples.",
          "optional": "true",
          "dirs": [
            "applications/sample/camera/launcher",
            "applications/sample/camera/cameraApp",
            "applications/sample/camera/setting",
            "applications/sample/camera/gallery",
            "applications/sample/camera/media"
          ],
    
  5. 修改單板配置文件。
    修改文件vendor/hisilicon/hispark_pegasus/config.json,新增hello_world_app組件的條目,如下所示代碼片段為applications子系統(tǒng)配置,"##start##"和"##end##"之間為新增條目("##start##"和"##end##"僅用來(lái)標(biāo)識(shí)位置,添加完配置后刪除這兩行):

    {
            "subsystem": "applications",
            "components": [
    ##start##
              { "component": "hello_world_app", "features":[] },
    ##end##
              { "component": "wifi_iot_sample_app", "features":[] }
            ]
          },
    

審核編輯 黃宇

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

    關(guān)注

    25

    文章

    5680

    瀏覽量

    104694
  • 鴻蒙
    +關(guān)注

    關(guān)注

    60

    文章

    2620

    瀏覽量

    44044
  • Hi3861
    +關(guān)注

    關(guān)注

    1

    文章

    63

    瀏覽量

    7069
  • OpenHarmony
    +關(guān)注

    關(guān)注

    29

    文章

    3854

    瀏覽量

    18604
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【潤(rùn)開(kāi)鴻HH-SCDAYU800A開(kāi)發(fā)板試用體驗(yàn)】Hello World

    Studio 5.1,而我們的開(kāi)發(fā)板系統(tǒng)OpenHarmony 4.1.7.5。這樣會(huì)導(dǎo)致始終找不到設(shè)備 No Devices。 后來(lái)查到得用DevEco Studio 4.1版本,并且安裝
    發(fā)表于 07-01 00:52

    貝啟BQ3568HM 開(kāi)發(fā)板被選用為 OpenHarmony 明星開(kāi)發(fā)板

    經(jīng)開(kāi)放原子開(kāi)源基金會(huì)OpenHarmony社區(qū)官方測(cè)評(píng)評(píng)選,貝啟科技BQ3568HM開(kāi)源鴻蒙開(kāi)發(fā)板被正式選用為OpenHarmony明星開(kāi)發(fā)板
    的頭像 發(fā)表于 05-25 00:22 ?608次閱讀
    貝啟BQ3568HM <b class='flag-5'>開(kāi)發(fā)板</b>被選用為 <b class='flag-5'>OpenHarmony</b> 明星<b class='flag-5'>開(kāi)發(fā)板</b>

    潤(rùn)和的Hi3861開(kāi)發(fā)版如何連接華為云

    剛?cè)胧至艘惶诐?rùn)和的Hi3861開(kāi)發(fā)套件,下載的是3.2Release版本的源碼,想連接華為云但是潤(rùn)和那邊的代碼倉(cāng)中沒(méi)有相關(guān)的demo,,求大佬指點(diǎn)
    發(fā)表于 04-11 20:32

    潤(rùn)和的Hi3861開(kāi)發(fā)板如何連接華為云

    剛?cè)胧至艘惶诐?rùn)和的Hi3861開(kāi)發(fā)套件,想連接華為云但是潤(rùn)和那邊的代碼倉(cāng)中沒(méi)有相關(guān)的demo,求大佬指點(diǎn)
    發(fā)表于 04-11 20:30

    【北京迅為】iTOP-RK3568開(kāi)發(fā)板鴻蒙OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)實(shí)操-HDF驅(qū)動(dòng)配置UART

    【北京迅為】iTOP-RK3568開(kāi)發(fā)板鴻蒙OpenHarmony系統(tǒng)南向驅(qū)動(dòng)開(kāi)發(fā)實(shí)操-HDF驅(qū)動(dòng)配置UART
    的頭像 發(fā)表于 03-25 11:02 ?716次閱讀
    【北京迅為】iTOP-RK3568<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b><b class='flag-5'>系統(tǒng)</b>南向驅(qū)動(dòng)<b class='flag-5'>開(kāi)發(fā)</b>實(shí)操-HDF驅(qū)動(dòng)配置UART

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

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

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

    開(kāi)源鴻蒙OpenHarmony系統(tǒng)下,修改DPI密度值的方法,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,搭載了瑞芯微RK3566四核處
    的頭像 發(fā)表于 12-24 11:46 ?735次閱讀
    <b class='flag-5'>OpenHarmony</b>怎么修改DPI密度值?觸覺(jué)智能RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>演示

    OpenHarmony默認(rèn)30秒熄屏太麻煩?觸覺(jué)智能鴻蒙開(kāi)發(fā)板教你輕松取消

    OpenHarmony系統(tǒng)開(kāi)機(jī)后 30 秒會(huì)自動(dòng)息屏,教大家兩招輕松取消自動(dòng)息屏,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,已適配全新Open
    的頭像 發(fā)表于 12-09 11:45 ?778次閱讀
    <b class='flag-5'>OpenHarmony</b>默認(rèn)30秒熄屏太麻煩?觸覺(jué)智能<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>教你輕松取消

    戈帥《OpenHarmony系統(tǒng)從入門(mén)到精通50例》開(kāi)發(fā)板與傳感器配置說(shuō)明

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

    OpenHarmony屬性信息怎么修改?觸覺(jué)智能RK3566鴻蒙開(kāi)發(fā)板來(lái)演示

    本文介紹開(kāi)源鴻蒙OpenHarmony系統(tǒng)下,修改產(chǎn)品屬性信息的方法,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,已適配全新
    的頭像 發(fā)表于 11-27 09:31 ?750次閱讀
    <b class='flag-5'>OpenHarmony</b>屬性信息怎么修改?觸覺(jué)智能RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>來(lái)演示

    如何在開(kāi)源鴻蒙OpenHarmony開(kāi)啟SELinux模式?RK3566鴻蒙開(kāi)發(fā)板演示

    本文介紹開(kāi)源鴻蒙OpenHarmony系統(tǒng)下,開(kāi)啟/關(guān)閉SELinux權(quán)限的方法,觸覺(jué)智能Purple Pi OH鴻蒙開(kāi)發(fā)板演示,已適配全新
    的頭像 發(fā)表于 11-18 19:03 ?835次閱讀
    如何在開(kāi)源<b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>開(kāi)啟SELinux模式?RK3566<b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)板</b>演示

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

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

    【開(kāi)源鴻蒙】使用QEMU運(yùn)行OpenHarmony系統(tǒng)

    本文將會(huì)介紹如何從源碼安裝QEMU 6.2.0,以及如何使用QEMU運(yùn)行OpenHarmony系統(tǒng)。通過(guò)本文,你將會(huì)對(duì)QEMU和OpenHarm
    的頭像 發(fā)表于 09-14 08:51 ?1349次閱讀
    【開(kāi)源<b class='flag-5'>鴻蒙</b>】使用QEMU運(yùn)行<b class='flag-5'>OpenHarmony</b><b class='flag-5'>輕</b><b class='flag-5'>量</b><b class='flag-5'>系統(tǒng)</b>

    鴻蒙系統(tǒng)相關(guān)hi3861芯片知識(shí)文檔分享

    主要是hi3861芯片 https://pan.astpan.com/s/qQS5
    發(fā)表于 08-08 12:24

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

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