91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

王程 ? 來源:jf_75796907 ? 作者:jf_75796907 ? 2024-02-27 14:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

本文描述了移植一塊開發(fā)板的通用步驟,和具體芯片相關(guān)的詳細(xì)移植過程無(wú)法在此一一列舉。后續(xù)社區(qū)還會(huì)陸續(xù)發(fā)布開發(fā)板移植的實(shí)例供開發(fā)者參考。

定義開發(fā)板

本文以移植名為 MyProduct 的開發(fā)板為例講解移植過程,假定 MyProduct 是 MyProductVendor 公司的開發(fā)板,使用 MySoCVendor 公司生產(chǎn)的 MySOC 芯片作為處理器

定義產(chǎn)品

在 //vendor/MyProductVendor/{product_name} 名稱的目錄下創(chuàng)建一個(gè) config.json 文件,該文件用于描述產(chǎn)品所使用的 SOC 以及所需的子系統(tǒng)。配置如下:
//vendor/MyProductVendor/MyProduct/config.json

{
    "product_name": "MyProduct",
    "version": "3.0",
    "type": "standard",
    "target_cpu": "arm",
    "ohos_version": "OpenHarmony 1.0",
    "device_company": "MyProductVendor",
    "board": "MySOC",
    "enable_ramdisk": true,
    "subsystems": [
      {
        "subsystem": "ace",
        "components": [
          { "component": "ace_engine_lite", "features":[] }
        ]
      },
	...
    ]
}

?
主要的配置內(nèi)容

wKgaomXdgjKAKhZ3AAB_cNIsQM8276.png


已定義的子系統(tǒng)可以在“//build/subsystem_config.json”中找到。當(dāng)然你也可以定制子系統(tǒng)。
這里建議先拷貝 Hi3516DV300 開發(fā)板的配置文件,刪除掉 hisilicon_products 這個(gè)子系統(tǒng)。這個(gè)子系統(tǒng)為 Hi3516DV300 SOC 編譯內(nèi)核,顯然不適合 MySOC。

移植驗(yàn)證

至此,你可以使用如下命令,啟動(dòng)你產(chǎn)品的構(gòu)建了:

./build.sh --product-name MyProduct 

構(gòu)建完成后,可以在 //out/{device_name}/packages/phone/images 目錄下看到構(gòu)建出來的 OpenHarmony 鏡像文件。

內(nèi)核移植

這一步需要移植 Linux 內(nèi)核,讓 Linux 內(nèi)核可以成功運(yùn)行起來。

為 SOC 添加內(nèi)核構(gòu)建的子系統(tǒng)

修改文件 //build/subsystem_config.json 增加一個(gè)子系統(tǒng)。配置如下:

 "MySOCVendor_products": {
    "project": "hmf/MySOCVendor_products",
    "path": "device/MySOCVendor/MySOC/build",
    "name": "MySOCVendor_products",
    "dir": "device/MySOCVendor"
  },

接著需要修改定義產(chǎn)品的配置文件 //vendor/MyProductVendor/MyProduct/config.json,將剛剛定義的子系統(tǒng)加入到產(chǎn)品中。

編譯內(nèi)核

源碼中提供了 Linux 4.19 的內(nèi)核,歸檔在 //kernel/linux-4.19。本節(jié)以該內(nèi)核版本為例,講解如何編譯內(nèi)核。
在子系統(tǒng)的定義中,描述了子系統(tǒng)構(gòu)建的路徑 path,即 //device/MySOCVendor/MySOC/build。這一節(jié)會(huì)在這個(gè)目錄創(chuàng)建構(gòu)建腳本,告訴構(gòu)建系統(tǒng)如何構(gòu)建內(nèi)核。
建議的目錄結(jié)構(gòu):

├── build
│ ├── kernel
│ │     ├── linux
│ │           ├──standard_patch_for_4_19.patch // 基于4.19版本內(nèi)核的補(bǔ)丁
│ ├── BUILD.gn
│ ├── ohos.build

?
BUILD.gn 是 subsystem 構(gòu)建的唯一入口。
期望的構(gòu)建結(jié)果

文件 文件說明
$root_build_dir/packages/phone/images/uImage 內(nèi)核鏡像
$root_build_dir/packages/phone/images/uboot bootloader 鏡像

移植驗(yàn)證

啟動(dòng)編譯,驗(yàn)證預(yù)期的 kernel 鏡像是否成功生成。

用戶態(tài)啟動(dòng)引導(dǎo)

1.用戶態(tài)進(jìn)程啟動(dòng)引導(dǎo)總覽。

wKgZomXdgkKABprCAACLUk-8LXA977.png


系統(tǒng)上電加載內(nèi)核后,按照以下流程完成系統(tǒng)各個(gè)服務(wù)和應(yīng)用的啟動(dòng):

1.內(nèi)核啟動(dòng) init 進(jìn)程,一般在 bootloader 啟動(dòng)內(nèi)核時(shí)通過設(shè)置內(nèi)核的 cmdline 來指定 init 的位置;如上圖所示的"init=/init root/dev/xxx"。
2.init 進(jìn)程啟動(dòng)后,會(huì)掛載 tmpfs,procfs,創(chuàng)建基本的 dev 設(shè)備節(jié)點(diǎn),提供最基本的根文件系統(tǒng)。
3.init 繼續(xù)啟動(dòng) ueventd 監(jiān)聽內(nèi)核熱插拔事件,為這些設(shè)備創(chuàng)建 dev 設(shè)備節(jié)點(diǎn);包括 block 設(shè)備各個(gè)分區(qū)設(shè)備都是通過此事件創(chuàng)建。
4.init 進(jìn)程掛載 block 設(shè)備各個(gè)分區(qū)(system,vendor),開始掃描各個(gè)系統(tǒng)服務(wù)的 init 啟動(dòng)腳本,并拉起各個(gè) SA 服務(wù)。
5.samgr 是各個(gè) SA 的服務(wù)注冊(cè)中心,每個(gè) SA 啟動(dòng)時(shí),都需要向 samgr 注冊(cè),每個(gè) SA 會(huì)分配一個(gè) ID,應(yīng)用可以通過該 ID 訪問 SA。
6.foundation 是一個(gè)特殊的 SA 服務(wù)進(jìn)程,提供了用戶程序管理框架及基礎(chǔ)服務(wù);由該進(jìn)程負(fù)責(zé)應(yīng)用的生命周期管理。
7.由于應(yīng)用都需要加載 JS 的運(yùn)行環(huán)境,涉及大量準(zhǔn)備工作,因此 appspawn 作為應(yīng)用的孵化器,在接收到 foundation 里的應(yīng)用啟動(dòng)請(qǐng)求時(shí),可以直接孵化出應(yīng)用進(jìn)程,減少應(yīng)用啟動(dòng)時(shí)間。
init。
init 啟動(dòng)引導(dǎo)組件配置文件包含了所有需要由 init 進(jìn)程啟動(dòng)的系統(tǒng)關(guān)鍵服務(wù)的服務(wù)名、可執(zhí)行文件路徑、權(quán)限和其他信息。每個(gè)系統(tǒng)服務(wù)各自安裝其啟動(dòng)腳本到 /system/etc/init 目錄下。
新芯片平臺(tái)移植時(shí),平臺(tái)相關(guān)的初始化配置需要增加平臺(tái)相關(guān)的初始化配置文件 /vendor/etc/init/init.{hardware}.cfg;該文件完成平臺(tái)相關(guān)的初始化設(shè)置,如安裝 ko 驅(qū)動(dòng),設(shè)置平臺(tái)相關(guān)的 /proc 節(jié)點(diǎn)信息。
init 相關(guān)進(jìn)程代碼在 //base/startup/init_lite 目錄下,該進(jìn)程是系統(tǒng)第一個(gè)進(jìn)程,無(wú)其它依賴。

HDF 驅(qū)動(dòng)移植

LCD

HDF 為 LCD 設(shè)計(jì)了驅(qū)動(dòng)模型。支持一塊新的 LCD,需要編寫一個(gè)驅(qū)動(dòng),在驅(qū)動(dòng)中生成模型的實(shí)例,并完成注冊(cè)。
這些 LCD 的驅(qū)動(dòng)被放置在 //drivers/hdf_core/framework/model/display/driver/panel 目錄中。

1.創(chuàng)建 Panel 驅(qū)動(dòng)
在驅(qū)動(dòng)的 Init 方法中,需要調(diào)用 RegisterPanel 接口注冊(cè)模型實(shí)例。如:

int32_t XXXInit(struct HdfDeviceObject *object)
{
    struct PanelData *panel = CreateYourPanel();
    // 注冊(cè)
    if (RegisterPanel(panel) != HDF_SUCCESS) {
        HDF_LOGE("%s: RegisterPanel failed", __func__);
        return HDF_FAILURE;
    }
    return HDF_SUCCESS;
}
struct HdfDriverEntry g_xxxxDevEntry = {
    .moduleVersion = 1,
    .moduleName = "LCD_XXXX",
    .Init = XXXInit,
};
HDF_INIT(g_xxxxDevEntry);

?
2.配置加載 panel 驅(qū)動(dòng)產(chǎn)品的所有設(shè)備信息被定義在文件 //vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs 中。修改該文件,在 display 的 host 中,名為 device_lcd 的 device 中增加配置。
注意:moduleName 要與 panel 驅(qū)動(dòng)中的 moduleName 相同。

root {
    ...
    display :: host {
        device_lcd :: device {
            deviceN :: deviceNode {
                policy = 0;
                priority = 100;
                preload = 2;
                moduleName = "LCD_XXXX";
            }
        }
    }
}
?

觸摸屏

本節(jié)描述如何移植觸摸屏驅(qū)動(dòng)。觸摸屏的驅(qū)動(dòng)被放置在 //drivers/hdf_core/framework/model/input/driver/touchscreen 目錄中。移植觸摸屏驅(qū)動(dòng)主要工作是向系統(tǒng)注冊(cè) ChipDevice 模型實(shí)例。

1.創(chuàng)建觸摸屏器件驅(qū)動(dòng)
在目錄中創(chuàng)建名為 touch_ic_name.c 的文件。代碼模板如下:注意:請(qǐng)?zhí)鎿Q ic_name 為你所適配芯片的名稱。

#include "hdf_touch.h"
static int32_t HdfXXXXChipInit(struct HdfDeviceObject *device)
{
    ChipDevice *tpImpl = CreateXXXXTpImpl();
    if(RegisterChipDevice(tpImpl) != HDF_SUCCESS) {
        ReleaseXXXXTpImpl(tpImpl);
        return HDF_FAILURE;
    }
    return HDF_SUCCESS;
}
struct HdfDriverEntry g_touchXXXXChipEntry = {
    .moduleVersion = 1,
    .moduleName = "HDF_TOUCH_XXXX",
    .Init = HdfXXXXChipInit,
};
HDF_INIT(g_touchXXXXChipEntry);

?
其中 ChipDevice 中要提供若干方法。

wKgZomXdglKAUH2tAABE1CYFrrQ132.png

2.配置產(chǎn)品,加載器件驅(qū)動(dòng)
產(chǎn)品的所有設(shè)備信息被定義在文件 //vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs 中。修改該文件,在名為 input 的 host 中,名為 device_touch_chip 的 device 中增加配置。注意:moduleName 要與觸摸屏驅(qū)動(dòng)中的 moduleName 相同。

deviceN :: deviceNode {
    policy = 0;
    priority = 130;
    preload = 0;
    permission = 0660;
    moduleName = "HDF_TOUCH_XXXX";
    deviceMatchAttr = "touch_XXXX_configs";
}

?

WLAN

Wi-Fi 驅(qū)動(dòng)分為兩部分,一部分負(fù)責(zé)管理 WLAN 設(shè)備,另一個(gè)部分負(fù)責(zé)處理 WLAN 流量。HDF WLAN 分別為這兩部分做了抽象。目前支持 SDIO 接口的 WLAN 芯片。
圖 1 WLAN 芯片

pYYBAGJ8c0uAd_ljAABWGzWaBpU736.png


支持一款芯片的主要工作是實(shí)現(xiàn)一個(gè) ChipDriver 驅(qū)動(dòng)。實(shí)現(xiàn) HDF_WLAN_CORE 和 NetDevice 提供的接口。主要需要實(shí)現(xiàn)的接口有:

接口 定義頭文件 說明
HdfChipDriverFactory //drivers/hdf_core/framework/include/wifi/hdf_wlan_chipdriver_manager.h ChipDriver 的 Factory,用于支持一個(gè)芯片多個(gè) Wi-Fi 端口
HdfChipDriver //drivers/hdf_core/framework/include/wifi/wifi_module.h 每個(gè) WLAN 端口對(duì)應(yīng)一個(gè) HdfChipDriver,用來管理一個(gè)特定的 WLAN 端口
NetDeviceInterFace //drivers/hdf_core/framework/include/net/net_device.h 與協(xié)議棧之間的接口,如發(fā)送數(shù)據(jù)、設(shè)置網(wǎng)絡(luò)接口狀態(tài)等

建議適配按如下步驟操作:

創(chuàng)建 HDF 驅(qū)動(dòng)建議將代碼放置在 //device/MySoCVendor/peripheral/wifi/chip_name/,文件模板如下:

static int32_t HdfWlanXXXChipDriverInit(struct HdfDeviceObject *device) {
    static struct HdfChipDriverFactory factory = CreateChipDriverFactory();
    struct HdfChipDriverManager *driverMgr = HdfWlanGetChipDriverMgr();
    if (driverMgr->RegChipDriver(&factory) != HDF_SUCCESS) {
        HDF_LOGE("%s fail: driverMgr is NULL!", __func__);
        return HDF_FAILURE;
    }
    return HDF_SUCCESS;
}
struct HdfDriverEntry g_hdfXXXChipEntry = {
    .moduleVersion = 1,
    .Init = HdfWlanXXXChipDriverInit,
    .Release = HdfWlanXXXChipRelease,
    .moduleName = "HDF_WIFI_CHIP_XXX"
};
HDF_INIT(g_hdfXXXChipEntry);
?

在 CreateChipDriverFactory 中,需要?jiǎng)?chuàng)建一個(gè) HdfChipDriverFactory,接口如下:

接口 說明
const char *driverName 當(dāng)前 driverName
int32_t (*InitChip)(struct HdfWlanDevice *device) 初始化芯片
int32_t (*DeinitChip)(struct HdfWlanDevice *device) 去初始化芯片
void (_ReleaseFactory)(struct HdfChipDriverFactory _factory) 釋放 HdfChipDriverFactory 對(duì)象
struct HdfChipDriver _(_Build)(struct HdfWlanDevice *device, uint8_t ifIndex) 創(chuàng)建一個(gè) HdfChipDriver;輸入?yún)?shù)中,device 是設(shè)備信息,ifIndex 是當(dāng)前創(chuàng)建的接口在這個(gè)芯片中的序號(hào)
void (_Release)(struct HdfChipDriver _chipDriver) 釋放 chipDriver
uint8_t (*GetMaxIFCount)(struct HdfChipDriverFactory *factory) 獲取當(dāng)前芯片支持的最大接口數(shù)

HdfChipDriver 需要實(shí)現(xiàn)的接口有:

接口 說明
int32_t (*init)(struct HdfChipDriver *chipDriver, NetDevice *netDev) 初始化當(dāng)前網(wǎng)絡(luò)接口,這里需要向 netDev 提供接口
int32_t (*deinit)(struct HdfChipDriver *chipDriver, NetDevice *netDev) 去初始化當(dāng)前網(wǎng)絡(luò)接口
struct HdfMac80211BaseOps *ops WLAN 基礎(chǔ)能力接口集
struct HdfMac80211STAOps *staOps 支持 STA 模式所需的接口集
struct HdfMac80211APOps *apOps 支持 AP 模式所需要的接口集

2.編寫配置文件,描述驅(qū)動(dòng)支持的設(shè)備。
在產(chǎn)品配置目錄下創(chuàng)建芯片的配置文件 //vendor/MyProductVendor/MyProduct/config/wifi/wlan_chip_chip_name.hcs。
注意: 路徑中的 vendor_name、product_name、chip_name 請(qǐng)?zhí)鎿Q成實(shí)際名稱。
模板如下:

root {
    wlan_config {
        chip_name :& chipList {
            chip_name :: chipInst {
                match_attr = "hdf_wlan_chips_chip_name"; /* 這是配置匹配屬性,用于提供驅(qū)動(dòng)的配置根 */
                driverName = "driverName"; /* 需要與HdfChipDriverFactory中的driverName相同*/
                sdio {
                    vendorId = 0x0296;
                    deviceId = [0x5347];
                }
            }
        }
    }
}
?

3.編寫配置文件,加載驅(qū)動(dòng)。
產(chǎn)品的所有設(shè)備信息被定義在文件 //vendor/MyProductVendor/MyProduct/config/device_info/device_info.hcs 中。修改該文件,在名為 network 的 host 中,名為 device_wlan_chips 的 device 中增加配置。
注意:moduleName 要與觸摸屏驅(qū)動(dòng)中的 moduleName 相同。

deviceN :: deviceNode {
    policy = 0;
    preload = 2;
    moduleName = "HDF_WLAN_CHIPS";
    deviceMatchAttr = "hdf_wlan_chips_chip_name";
    serviceName = "driverName";
}

?
4.構(gòu)建驅(qū)動(dòng)

  • 創(chuàng)建內(nèi)核菜單在 //device/MySoCVendor/peripheral 目錄中創(chuàng)建 Kconfig 文件,內(nèi)容模板如下:
config DRIVERS_WLAN_XXX
    bool "Enable XXX WLAN Host driver"
    default n
    depends on DRIVERS_HDF_WIFI
    help
      Answer Y to enable XXX Host driver. Support chip xxx
?

接著修改文件 //drivers/hdf_core/adapter/khdf/linux/model/network/wifi/Kconfig,在文件末尾加入如下代碼將配置菜單加入內(nèi)核中,如:

source "../../../../../device/MySoCVendor/peripheral/Kconfig"

?

  • 創(chuàng)建構(gòu)建腳本
    //drivers/hdf_core/adapter/khdf/linux/model/network/wifi/Makefile 文件末尾增加配置,模板如下:
HDF_DEVICE_ROOT := $(HDF_DIR_PREFIX)/../device
obj-$(CONFIG_DRIVERS_WLAN_XXX) += $(HDF_DEVICE_ROOT)/MySoCVendor/peripheral/build/standard/

?
當(dāng)在內(nèi)核中開啟 DRIVERS_WLAN_XXX 開關(guān)時(shí),會(huì)調(diào)用 //device/MySoCVendor/peripheral/build/standard/ 中的 makefile。

為了能讓大家更好的學(xué)習(xí)鴻蒙 (OpenHarmony) 開發(fā)技術(shù),這邊特意整理了《鴻蒙 (OpenHarmony)開發(fā)學(xué)習(xí)手冊(cè)》,希望對(duì)大家有所幫助:

《鴻蒙(Harmony OS)開發(fā)學(xué)習(xí)手冊(cè)》

入門必看https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應(yīng)用開發(fā)導(dǎo)讀(ArKTS)
2.……

wKgaomXW6N2AJp9uAAQXRxEAprs547.png

HarmonyOS概念https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.系統(tǒng)定義
2.技術(shù)框架
3.技術(shù)特性
4.系統(tǒng)安全

wKgaomXW6OSAFcCRAAV2zd2X_1s891.png

快速入門https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.基本概念
2.構(gòu)建第一個(gè)ArkTS應(yīng)用
3.……

wKgZomXW6PuAA7wEAAKx6By_2Z8377.png

開發(fā)基礎(chǔ)知識(shí)https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.應(yīng)用基礎(chǔ)知識(shí)
2.配置文件
3.應(yīng)用數(shù)據(jù)管理
4.應(yīng)用安全管理
5.應(yīng)用隱私保護(hù)
6.三方應(yīng)用調(diào)用管控機(jī)制
7.資源分類與訪問
8.學(xué)習(xí)ArkTS
9…

wKgZomXW6QaAM4niAAQzrXUUPik914.png

基于ArkTS 開發(fā)https://docs.qq.com/doc/DUk51cHZJaUpmSlhH
1.Ability開發(fā)
2.UI開發(fā)
3.公共事件與通知
4.窗口管理
5.媒體
6.安全
7.網(wǎng)絡(luò)與鏈接
8.電話服務(wù)
9.數(shù)據(jù)管理
10.后臺(tái)任務(wù)(Background Task)管理
11.設(shè)備管理
12.設(shè)備使用信息統(tǒng)計(jì)
13.DFX
14.國(guó)際化開發(fā)
15.折疊屏系列
16………

wKgZomXW6RKATahiAAKz-zSMnR4040.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)投訴
  • 系統(tǒng)移植
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

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

    關(guān)注

    60

    文章

    2960

    瀏覽量

    45873
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2153

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    華為鴻蒙系統(tǒng)應(yīng)用數(shù)字與度量衡的格式化指南

    本文旨在深入探討華為鴻蒙 HarmonyOS 系統(tǒng)在應(yīng)用國(guó)際化中數(shù)字與度量衡格式化方面的技術(shù)細(xì)節(jié),基于實(shí)際開發(fā)實(shí)踐進(jìn)行總結(jié)。
    的頭像 發(fā)表于 01-24 16:55 ?1150次閱讀

    以龍企招為例,淺談鴻蒙應(yīng)用開發(fā)者激勵(lì)計(jì)劃 2025 參與心得

    的《審核指南》章節(jié)鏈接和 UX 體驗(yàn)標(biāo)準(zhǔn)參考文檔,從合規(guī)要求到設(shè)計(jì)規(guī)范,從功能深度到交互體驗(yàn),全方位為我們指明了優(yōu)化方向。這讓我們深刻認(rèn)識(shí)到,鴻蒙應(yīng)用并非簡(jiǎn)單實(shí)現(xiàn)功能即可,而是要在合規(guī)性、用戶體驗(yàn)、生態(tài)
    發(fā)表于 12-12 10:17

    鴻蒙系統(tǒng)對(duì)手機(jī)市場(chǎng)會(huì)產(chǎn)生怎樣的影響?現(xiàn)在汽車是不是也用上鴻蒙系統(tǒng)了?

    鴻蒙系統(tǒng)對(duì)手機(jī)市場(chǎng)會(huì)產(chǎn)生怎樣的影響?現(xiàn)在汽車是不是也用上鴻蒙系統(tǒng)了?
    發(fā)表于 12-04 20:47

    STM32標(biāo)準(zhǔn)庫(kù)在Keil5移植rtthread nano后無(wú)法顯示oled內(nèi)容是怎么回事?

    單獨(dú)把OLED_Update()函數(shù)獨(dú)立出來就無(wú)法執(zhí)行到,屏幕黑屏怎么回事呢? 或者有沒有大佬有在Keil5 STM32標(biāo)準(zhǔn)庫(kù)上移植rtthread系統(tǒng)又使用到oled屏幕顯示的示例代碼,可以參考看看嗎?? ?
    發(fā)表于 09-22 08:28

    鴻蒙發(fā)展歷程

    年 8 月 9 日,華為在開發(fā)者大會(huì)上正式發(fā)布鴻蒙 1.0 系統(tǒng),這一版本首次應(yīng)用于華為榮耀智慧屏產(chǎn)品中,標(biāo)志著華為正式進(jìn)軍操作系統(tǒng)領(lǐng)域。該版本初步展現(xiàn)了分布式能力雛形,為后續(xù)系統(tǒng)發(fā)
    的頭像 發(fā)表于 07-07 11:41 ?2133次閱讀

    鴻蒙5開發(fā)寶藏案例分享---跨線程性能優(yōu)化指南

    發(fā)現(xiàn)鴻蒙寶藏:跨線程序列化性能優(yōu)化實(shí)戰(zhàn)指南 大家好呀!今天在翻鴻蒙文檔時(shí)挖到一個(gè)超級(jí)實(shí)用的工具—— DevEco Profiler的序列化檢測(cè)功能 !平時(shí)用<span class
    發(fā)表于 06-12 17:13

    鴻蒙5開發(fā)寶藏案例分享---埋點(diǎn)開發(fā)實(shí)戰(zhàn)指南

    鴻蒙埋點(diǎn)開發(fā)寶藏指南:官方案例實(shí)戰(zhàn)解析,輕松搞定數(shù)據(jù)追蹤! 大家好呀!我是HarmonyOS開發(fā)路上的探索者。最近在折騰應(yīng)用埋點(diǎn)時(shí),意外發(fā)現(xiàn)了鴻蒙開發(fā)者官網(wǎng)藏著一堆 實(shí)戰(zhàn)寶藏案例 !這些案例就像哆啦
    發(fā)表于 06-12 16:30

    開源鴻蒙Web與W3C標(biāo)準(zhǔn)分論壇圓滿舉辦

    近日,開源鴻蒙開發(fā)者大會(huì)2025(OHDC.2025)Web與W3C標(biāo)準(zhǔn)分論壇在深圳圓滿舉辦。本次分論壇匯集了生態(tài)伙伴、W3C委員會(huì)、行業(yè)標(biāo)準(zhǔn)制定方等數(shù)十位Web領(lǐng)域相關(guān)專家,對(duì)開源鴻蒙
    的頭像 發(fā)表于 06-05 15:16 ?1080次閱讀

    國(guó)產(chǎn)操作系統(tǒng)加速崛起——鴻蒙電腦補(bǔ)齊鴻蒙生態(tài)最重要拼圖

    國(guó)產(chǎn)操作系統(tǒng)加速崛起——鴻蒙電腦補(bǔ)齊鴻蒙生態(tài)最重要拼圖 5月19日,首次應(yīng)用鴻蒙操作系統(tǒng)的個(gè)人電腦(PC)在四川成都正式發(fā)布。這標(biāo)志著我國(guó)擁
    的頭像 發(fā)表于 05-21 11:41 ?669次閱讀

    開源鴻蒙開發(fā)新體驗(yàn),開鴻Bot系列今日開啟預(yù)售!

    技術(shù)支持與配套文檔資源支持、打造開源鴻蒙開發(fā)者的“標(biāo)準(zhǔn)配置”等,這將進(jìn)一步降低開發(fā)者參與開源鴻蒙生態(tài)建設(shè)的門檻。 開鴻Bot系列的推出,開啟了開源鴻蒙在桌面操作
    發(fā)表于 05-16 14:13

    鴻蒙電腦拿什么和Windows競(jìng)爭(zhēng)

    5月8日,在鴻蒙電腦技術(shù)與生態(tài)溝通會(huì)上,鴻蒙操作系統(tǒng)(HarmonyOS 5)首次在電腦端亮相;這是華為首款鴻蒙電腦正式亮相。同時(shí)華為智慧辦公將升級(jí)為
    的頭像 發(fā)表于 05-09 11:41 ?1405次閱讀

    鴻蒙操作系統(tǒng)首登電腦端,華為開啟鴻蒙辦公新時(shí)代

    2025年5月8日,華為在深圳舉辦了鴻蒙電腦技術(shù)與生態(tài)溝通會(huì),鴻蒙操作系統(tǒng)首次在電腦端亮相。這既是中國(guó)電子信息產(chǎn)業(yè)的歷史性時(shí)刻,也是華為鴻蒙辦公的新起點(diǎn)。 五年匠心打磨,
    發(fā)表于 05-08 14:20 ?6070次閱讀
    <b class='flag-5'>鴻蒙</b>操作<b class='flag-5'>系統(tǒng)</b>首登電腦端,華為開啟<b class='flag-5'>鴻蒙</b>辦公新時(shí)代

    一文帶你了解KaihongOS標(biāo)準(zhǔn)系統(tǒng)的技術(shù)架構(gòu)、子系統(tǒng)、系統(tǒng)應(yīng)用、典型特性以及支持的設(shè)備類型

    前 言 概述 本文檔介紹KaihongOS標(biāo)準(zhǔn)系統(tǒng)的技術(shù)架構(gòu)、子系統(tǒng)、系統(tǒng)應(yīng)用、典型特性以及支持的設(shè)備類型。 讀者對(duì)象 本文檔主要面向以下人員: 開發(fā)人員 行業(yè)用戶 提示約定 在本文
    發(fā)表于 04-23 07:17

    求分享從FRDM-MKL82到MKL81Z128CBH7R的代碼移植指南?

    否有任何從 FRDM-MKL82 到 MKL81Z128CBH7R 的代碼移植指南
    發(fā)表于 03-26 07:28

    深度融入“純血鴻蒙”|芯??萍计煜驴佃諳KOK首批入駐鴻蒙NEXT系統(tǒng)

    3月20日,隨著首款全面搭載純血鴻蒙系統(tǒng)的"寬折疊"手機(jī)PuraX的發(fā)布,全面鴻蒙時(shí)代正悄然到來。鴻蒙NEXT(純血鴻蒙)自正式亮相以來,這
    的頭像 發(fā)表于 03-21 18:04 ?1564次閱讀
    深度融入“純血<b class='flag-5'>鴻蒙</b>”|芯??萍计煜驴佃諳KOK首批入駐<b class='flag-5'>鴻蒙</b>NEXT<b class='flag-5'>系統(tǒng)</b>