在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

HDC技術(shù)分論壇之ArkCompiler原理解析

HarmonyOS開(kāi)發(fā)者 ? 來(lái)源:HarmonyOS開(kāi)發(fā)者 ? 作者:xianyuqiang ? 2021-10-29 10:32 ? 次閱讀

作者:xianyuqiang 編譯器首席架構(gòu)師

ArkCompiler(方舟編譯器)是組件化、可配置的多語(yǔ)言編譯和運(yùn)行平臺(tái),它既能支撐單一語(yǔ)言運(yùn)行環(huán)境,也能支撐多種語(yǔ)言組合的運(yùn)行環(huán)境。它目前主要支持的語(yǔ)言是JavaScript、TypeScript和Java。

一、概述

HarmonyOS的設(shè)計(jì)目標(biāo),是成為打通手機(jī)、PC、平板、電視、車(chē)機(jī)和智能穿戴等多種設(shè)備的統(tǒng)一操作系統(tǒng)。

其應(yīng)用開(kāi)發(fā)有多編程語(yǔ)言、多范式的支持需求,其中高級(jí)編程語(yǔ)言包括JavaScript、TypeScript、Java等,開(kāi)發(fā)范式包括聲明式UI范式、分布式編程范式。我們需要相應(yīng)的編譯器和運(yùn)行時(shí)來(lái)支撐這些高級(jí)應(yīng)用編程語(yǔ)言的高效開(kāi)發(fā)、部署和運(yùn)行。使應(yīng)用開(kāi)發(fā)者能使用同一套開(kāi)發(fā)框架實(shí)現(xiàn)一次開(kāi)發(fā)多端部署運(yùn)行。并且讓使用HarmonyOS設(shè)備的用戶(hù),能獲得統(tǒng)一的用戶(hù)體驗(yàn)。于是,ArkCompiler應(yīng)運(yùn)而生。

1. 目標(biāo)

ArkCompiler是為支持多種編程語(yǔ)言、多種芯片平臺(tái)的聯(lián)合編譯、運(yùn)行而設(shè)計(jì)的統(tǒng)一編程平臺(tái),其設(shè)計(jì)目標(biāo)是提供一個(gè)語(yǔ)言可插拔、組件可配置的多語(yǔ)言編譯器運(yùn)行時(shí)。

語(yǔ)言可插拔:設(shè)計(jì)架構(gòu)上支持多種語(yǔ)言接入,ArkCompiler有能力提供具有高效執(zhí)行性能且具有跨語(yǔ)言?xún)?yōu)勢(shì)的多語(yǔ)言運(yùn)行時(shí),也可以在小設(shè)備上提供高效輕量的單一語(yǔ)言運(yùn)行時(shí)。

組件可配置:ArkCompiler具有豐富的編譯器運(yùn)行時(shí)組件系統(tǒng)。通過(guò)定制化配置編譯運(yùn)行時(shí)的語(yǔ)言和組件,以支持手機(jī)、PC、平板、電視、汽車(chē)和智能穿戴等多種設(shè)備上不同的性能和內(nèi)存需求。

2. 架構(gòu)

如圖2所示,ArkCompiler包含編譯器、工具鏈、運(yùn)行時(shí)等關(guān)鍵部件。ArkCompiler工具鏈實(shí)現(xiàn)對(duì)應(yīng)語(yǔ)言的前端編譯器,將前端開(kāi)發(fā)框架的高級(jí)語(yǔ)言編譯成統(tǒng)一的字節(jié)碼/二進(jìn)制文件。根據(jù)不同的應(yīng)用場(chǎng)景,通過(guò)ArkCompiler運(yùn)行時(shí)解釋器解釋執(zhí)行字節(jié)碼文件或JIT/AOT編譯器編譯執(zhí)行對(duì)應(yīng)體系架構(gòu)的優(yōu)化機(jī)器碼,從而提升運(yùn)行效率和啟動(dòng)性能。

0a082d6c-385b-11ec-82a8-dac502259ad0.png

圖2 ArkCompiler運(yùn)行原理

下面,本文將從前端編譯器,運(yùn)行時(shí)展開(kāi)介紹。

二、前端編譯器

前端編譯器是高級(jí)語(yǔ)言通往語(yǔ)言運(yùn)行時(shí)的橋梁,它按照語(yǔ)言規(guī)范,將編程語(yǔ)言表達(dá)的語(yǔ)義翻譯為運(yùn)行時(shí)能夠理解的介質(zhì),在ArkCompiler解決方案里,這體現(xiàn)為ArkCompiler字節(jié)碼。即圖3中的ArkCompiler Bytecode(簡(jiǎn)稱(chēng)abc)。部分語(yǔ)言,也支持通過(guò)ArkCompiler的AOT Compiler組件直接將字節(jié)碼編譯成對(duì)應(yīng)體系架構(gòu)的優(yōu)化機(jī)器碼。

圖3 ArkCompiler前端

1. 前端編譯器功能

在需要支持多種語(yǔ)言的ArkCompiler中,前端編譯器的主要作用是在Host側(cè)把源碼生成字節(jié)碼文件,這樣的優(yōu)點(diǎn):

利用Host強(qiáng)大的計(jì)算能力,能夠在運(yùn)行前做更多更復(fù)雜的算法優(yōu)化,減少運(yùn)行時(shí)的工作,提高運(yùn)行效率。

相比常見(jiàn)的JavaScript運(yùn)行時(shí),可以把端側(cè)的編譯解析過(guò)程提前到發(fā)布前,提升程序的啟動(dòng)性能。

編譯優(yōu)化

ArkCompiler提供對(duì)TypeScript(TS)的原生支持。在前端編譯TS源碼時(shí),會(huì)利用TS的顯式類(lèi)型聲明,應(yīng)用類(lèi)型推導(dǎo)進(jìn)行類(lèi)型優(yōu)化,并且將推導(dǎo)出的類(lèi)型信息通過(guò)字節(jié)碼文件保留至運(yùn)行時(shí),由此運(yùn)行時(shí)可以直接利用類(lèi)型信息執(zhí)行快速路徑。

此外,靜態(tài)的類(lèi)型分析和推導(dǎo)也使得TS AOT (Ahead of Time) Compiler成為可能,靜態(tài)分析得到的類(lèi)型信息幫助AOT Compiler直接編譯生成高質(zhì)量的機(jī)器碼,使得TS源碼可以直接以機(jī)器碼形式運(yùn)行,進(jìn)一步提升運(yùn)行性能。

0b595df8-385b-11ec-82a8-dac502259ad0.png

圖5 編譯優(yōu)化

2. ArkCompiler字節(jié)碼

ArkCompiler字節(jié)碼(ArkCompiler Bytecode)是運(yùn)行時(shí)解釋器能夠解析運(yùn)行的一種硬件和平臺(tái)無(wú)關(guān)的中間表現(xiàn)形式,以緊湊、可擴(kuò)展、多語(yǔ)言支持作為設(shè)計(jì)目標(biāo)。屏蔽設(shè)備的差異,支持應(yīng)用的跨設(shè)備分發(fā)、部署和運(yùn)行。ArkCompiler采用的是基于寄存器的字節(jié)碼格式。每個(gè)寄存器的寬度為64位,最多支持65536個(gè)寄存器。

(1)寄存器

ArkCompiler寄存器要求能夠放置對(duì)象引用和基本類(lèi)型,寬度采用64位。寄存器的作用域是以函數(shù)棧幀為范圍。在字節(jié)碼指令編碼中,寄存器索引支持4位、8位以及16位的變長(zhǎng)編碼,在支持方法內(nèi)不同數(shù)量范圍的寄存器尋址的同時(shí)減小字節(jié)碼尺寸。

(2)累加寄存器

累加寄存器,俗稱(chēng)累加器,是一個(gè)特殊的寄存器,被指令隱含使用。使用累加器的主要目的是在不損失性能的前提下改善指令編碼密度。在ArkCompiler字節(jié)碼中,上一條指令利用累加器作為結(jié)果輸出,下一條指令將此累加器作為輸入,可以有效改善指令密度,減小字節(jié)碼的尺寸。同時(shí),通過(guò)在生成字節(jié)碼階段的數(shù)據(jù)流及控制流分析和優(yōu)化,前端編譯器可以有效消除冗余的累加器load和store操作。

(3)基本類(lèi)型支持

ArkCompiler字節(jié)碼提供對(duì)32位(i32)和64位(i64)整型數(shù)值的寄存器操作支持,8位和16位數(shù)值通過(guò)擴(kuò)展到32位來(lái)模擬。支持對(duì)IEEE-754雙精度浮點(diǎn)f64值的寄存器的操作,f32數(shù)據(jù)類(lèi)型(IEEE-754單精度)也通過(guò)轉(zhuǎn)換為f64值進(jìn)行模擬?;緮?shù)據(jù)類(lèi)型不需要虛擬機(jī)進(jìn)行記錄、跟蹤和推導(dǎo),而是通過(guò)操作不同基本數(shù)據(jù)類(lèi)型的專(zhuān)用字節(jié)碼進(jìn)行表示,包括整數(shù)值的符號(hào)性。為了更有效地利用字節(jié)碼的指令空間,設(shè)計(jì)中對(duì)高頻使用的數(shù)據(jù)類(lèi)型和操作引入更多的專(zhuān)用字節(jié)碼,而對(duì)低頻使用的數(shù)據(jù)類(lèi)型和操作采用更通用的字節(jié)碼。

(4)語(yǔ)言相關(guān)類(lèi)型支持

ArkCompiler根據(jù)其執(zhí)行的語(yǔ)言支持層次化的類(lèi)型系統(tǒng)。這樣,創(chuàng)建或者從常量池加載的字符串、數(shù)組、異常對(duì)象等,都是含有相應(yīng)層次關(guān)系的、和具體語(yǔ)言規(guī)范相匹配的數(shù)據(jù)對(duì)象。

(5)動(dòng)態(tài)類(lèi)型語(yǔ)言支持

為支持類(lèi)似JS/TS的動(dòng)態(tài)類(lèi)型語(yǔ)言,ArkCompiler通過(guò)特殊的標(biāo)記值(“Any”)表示動(dòng)態(tài)類(lèi)型值,其包裝了值本身和相應(yīng)的類(lèi)型信息(包括基本類(lèi)型和對(duì)象引用類(lèi)型數(shù)據(jù))。虛擬寄存器的寬度可以容納“Any”值。同時(shí),在動(dòng)態(tài)類(lèi)型語(yǔ)言代碼的執(zhí)行上下文中,也可能使用到包含類(lèi)型檢查指令在內(nèi)的靜態(tài)確定類(lèi)型指令序列,以表示動(dòng)態(tài)類(lèi)型相關(guān)語(yǔ)義。

三、ArkCompiler運(yùn)行時(shí)

ArkCompiler運(yùn)行時(shí),如圖6所示,被分為了核心運(yùn)行時(shí)(Core Runtime)和各自語(yǔ)言獨(dú)立的運(yùn)行時(shí)插件(Runtime Plugin)。

核心運(yùn)行時(shí)主要由運(yùn)行時(shí)的公共核心組件構(gòu)成,包含定義字節(jié)碼格式和行為的Public ISA模塊,對(duì)接系統(tǒng)調(diào)用的ArkCompiler Base Platform模塊, 支持Debugger、Profiler等工具的Common Tool模塊和承載字節(jié)碼文件處理的ArkCompiler File模塊等。也提供了可選的語(yǔ)言無(wú)關(guān)的解釋器、內(nèi)存管理、編譯器和并發(fā)等基礎(chǔ)設(shè)施組件。

各語(yǔ)言運(yùn)行時(shí)插件則包含各語(yǔ)言特有的特性實(shí)現(xiàn)以及標(biāo)準(zhǔn)庫(kù)來(lái)支撐語(yǔ)言的運(yùn)行行為符合對(duì)應(yīng)的語(yǔ)言規(guī)范,由各語(yǔ)言按需定制。

1. 執(zhí)行引擎

ArkCompiler運(yùn)行時(shí)執(zhí)行引擎有多種組件,包括解釋器、JIT編譯器和AOT編譯器,如圖7所示。

0c264570-385b-11ec-82a8-dac502259ad0.png

圖7 執(zhí)行引擎結(jié)構(gòu)

(1)解釋器

解釋器可直接運(yùn)行前端編譯器輸出的字節(jié)碼。

(2)JIT Compiler

JIT編譯器一般需要運(yùn)行時(shí)執(zhí)行代碼一段時(shí)間,Profiler生成了profiling數(shù)據(jù)之后,根據(jù)profiling數(shù)據(jù)即時(shí)編譯生成高質(zhì)量的機(jī)器碼(上圖Optimized Code II)來(lái)運(yùn)行。(JIT可以根據(jù)代碼執(zhí)行情況實(shí)時(shí)編譯生成最優(yōu)機(jī)器指令)

(3)AOT Compiler

AOT編譯器則是在運(yùn)行前根據(jù)靜態(tài)信息直接編譯生成高質(zhì)量的目標(biāo)機(jī)器碼(上圖Optimized Code I)在設(shè)備上運(yùn)行,PGO(Profile Guided Optimization)配置文件可以作為AOT Compiler的輸入之一,給AOT Compiler一些指示,比如編譯的范圍以及編譯某個(gè)方法時(shí)使用哪些優(yōu)化技術(shù)。通常這種PGO配置文件由在同等規(guī)格的設(shè)備上經(jīng)過(guò)運(yùn)行時(shí)profiling或者大數(shù)據(jù)分析生成。

無(wú)論是JIT 編譯器生成的優(yōu)化代碼,還是AOT編譯器生成的優(yōu)化代碼,通常都是在一定優(yōu)化假設(shè)或者優(yōu)化推斷的前提下生成的。如果這個(gè)前提在運(yùn)行時(shí)不成立,則需要進(jìn)行Deopt(逆優(yōu)化),回退到解釋器執(zhí)行,這種情況一般較少發(fā)生。

2. 定制化需求

ArkCompiler運(yùn)行時(shí)通過(guò)不同執(zhí)行模式的按需組合,支持多種設(shè)備不同的定制化需求。

在低端IOT設(shè)備上,ArkCompiler執(zhí)行引擎支持純解釋器的執(zhí)行模式,以滿(mǎn)足小設(shè)備的內(nèi)存限制條件;

在高端設(shè)備上,ArkCompiler執(zhí)行引擎支持解釋器配合AOT編譯器以及JIT編譯器的模式運(yùn)行,對(duì)相當(dāng)部分代碼使用AOT編譯器編譯,使得程序一開(kāi)始就可以運(yùn)行在高質(zhì)量的優(yōu)化代碼上,獲得最好的執(zhí)行性能;

在其它設(shè)備上,則根據(jù)設(shè)備的硬件條件限制來(lái)選擇策略,設(shè)定高頻使用需要AOT編譯的代碼范圍,其它代碼則依靠解釋器配合JIT Compiler運(yùn)行,使得應(yīng)用執(zhí)行性能能夠得到最大化。

為了提升解釋執(zhí)行性能,在特定的體系架構(gòu)下,解釋器約定了將解釋執(zhí)行上下文中某些頻繁使用的數(shù)據(jù)放在對(duì)應(yīng)的物理寄存器中,比如在Arm64架構(gòu)下,上下文中當(dāng)前字節(jié)碼指令地址、累加器值、解釋器棧幀、指令映射表、當(dāng)前線(xiàn)程對(duì)象等,直接放在固定的寄存器上,避免了在棧上頻繁的加載和寫(xiě)入操作。

3. 并發(fā)

復(fù)雜移動(dòng)應(yīng)用的開(kāi)發(fā)和運(yùn)行對(duì)并發(fā)有較強(qiáng)的需求。ArkCompiler運(yùn)行時(shí)除了提供標(biāo)準(zhǔn)的“Java多線(xiàn)程編程”和“運(yùn)行支持”之外,也提供響應(yīng)式的Actor并發(fā)編程模型支持。此模型下執(zhí)行體之間不共享任何數(shù)據(jù),通過(guò)消息機(jī)制進(jìn)行通信。當(dāng)前,業(yè)界的一些Actor并發(fā)模型,例如傳統(tǒng)JS引擎的web-worker實(shí)現(xiàn),有啟動(dòng)速度慢、內(nèi)存占用高等缺陷。

為了利用設(shè)備的多核能力獲得更好的性能提升,在Actor內(nèi)存隔離模型的基礎(chǔ)上,ArkCompiler運(yùn)行時(shí)通過(guò)共享Actor實(shí)例中的不可變或者不易變的對(duì)象、內(nèi)建代碼塊、方法字節(jié)碼等,提升Actor的啟動(dòng)性能和節(jié)省內(nèi)存開(kāi)銷(xiāo),達(dá)到實(shí)現(xiàn)輕量級(jí)Actor并發(fā)模型的目標(biāo)。

4. 跨語(yǔ)言?xún)?yōu)化

HarmonyOS應(yīng)用在某些情況下實(shí)際上是由多種語(yǔ)言的代碼組成的。例如對(duì)HarmonyOS JS/TS應(yīng)用,有一些系統(tǒng)庫(kù)、框架和應(yīng)用依賴(lài)的部分能力的實(shí)現(xiàn)使用了C/C++和Java語(yǔ)言。HarmonyOS開(kāi)發(fā)框架也提供了JS/TS與C/C++交互的JS NAPI以及JS/TS與Java交互的Channel機(jī)制??紤]不同語(yǔ)言之間的交互場(chǎng)景的開(kāi)發(fā)和運(yùn)行效率需求,ArkCompiler和開(kāi)發(fā)框架聯(lián)合設(shè)計(jì),提供了對(duì)應(yīng)的優(yōu)化機(jī)制。

(1)JS/TS與C/C++交互

在TS 版本的操作系統(tǒng)平臺(tái)API實(shí)現(xiàn)中,通常需要面臨C/C++代碼訪問(wèn)和操作TS對(duì)象的場(chǎng)景。對(duì)這個(gè)業(yè)務(wù)場(chǎng)景,ArkCompiler可以根據(jù)TS源碼的class聲明和運(yùn)行時(shí)約定,生成包含TS對(duì)象布局描述的C/C++頭文件,以及操作這些TS對(duì)象的C/C++實(shí)現(xiàn)庫(kù)。

在C/C++代碼中,通過(guò)包含TS對(duì)象描述頭文件以及鏈接對(duì)應(yīng)實(shí)現(xiàn)庫(kù),實(shí)現(xiàn)直接操作TS對(duì)象的效果。需要說(shuō)明的是,由于TS類(lèi)型或其內(nèi)在布局并非總是固定不變的,因此在TS對(duì)象操作的代碼實(shí)現(xiàn)中,會(huì)插入類(lèi)型檢查,如果對(duì)象類(lèi)型或布局在運(yùn)行時(shí)發(fā)生變化,則回退執(zhí)行通用的慢速路徑。

(2)JS/TS與Java交互

HarmonyOS中有一些應(yīng)用所需的能力是通過(guò)系統(tǒng)、框架或應(yīng)用的Java庫(kù)提供的。因此在HarmonyOS應(yīng)用中,也存在較多JS/TS代碼與Java代碼交互的場(chǎng)景。常見(jiàn)的案例中,由于JS/TS代碼和Java代碼有各自獨(dú)立的運(yùn)行環(huán)境,相互之間對(duì)于對(duì)方的數(shù)據(jù)表示、調(diào)用約定都是不可知的,所以JS/TS與Java的數(shù)據(jù)交互通常需要經(jīng)過(guò)標(biāo)準(zhǔn)的JSON序列化和反序列化流程,以及經(jīng)由Native層橋接的相互調(diào)用。這造成在一些場(chǎng)景中開(kāi)銷(xiāo)較大,影響用戶(hù)體驗(yàn)。

ArkCompiler利用同時(shí)支持多語(yǔ)言的優(yōu)勢(shì),運(yùn)行時(shí)具備不同語(yǔ)言的數(shù)據(jù)表示、對(duì)象布局、函數(shù)調(diào)用約定等信息,這使得跨語(yǔ)言之間的直接數(shù)據(jù)訪問(wèn)、對(duì)象操作和方法調(diào)用成為可能,同時(shí)Java代碼提供的更多確定的類(lèi)型信息也成為JS/TS類(lèi)型推導(dǎo)的額外輸入,利于對(duì)JS/TS的編譯優(yōu)化。另一方面,這也使我們能為開(kāi)發(fā)者提供一個(gè)更簡(jiǎn)化的多語(yǔ)言編程模型,減少需要額外手工編寫(xiě)的業(yè)務(wù)無(wú)關(guān)的跨語(yǔ)言交互代碼工作量。

四、總結(jié)

HarmonyOS所支持的IoT時(shí)代下,結(jié)合應(yīng)用生態(tài)、開(kāi)發(fā)體驗(yàn)和用戶(hù)體驗(yàn)等方面的需求, ArkCompiler與硬件、操作系統(tǒng)、開(kāi)發(fā)框架、編程語(yǔ)言協(xié)同設(shè)計(jì),在多語(yǔ)言統(tǒng)一編譯運(yùn)行和多設(shè)備支持的基礎(chǔ)上,實(shí)現(xiàn)對(duì)HarmonyOS應(yīng)用在開(kāi)發(fā)和運(yùn)行效率等方面的提升。

未來(lái),ArkCompiler在持續(xù)優(yōu)化基礎(chǔ)體驗(yàn)的同時(shí),更會(huì)進(jìn)一步結(jié)合HarmonyOS萬(wàn)物互聯(lián)的需求,在跨端遷移、多端協(xié)同等創(chuàng)新場(chǎng)景,從編譯器和運(yùn)行時(shí)等方面提供底層的解決方案和優(yōu)化機(jī)制,提升分布式應(yīng)用的開(kāi)發(fā)和運(yùn)行體驗(yàn)。

編輯:jq

聲明:本文內(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)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    52315

    瀏覽量

    438085
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1658

    瀏覽量

    49992
  • 方舟
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    8587
  • 解釋器
    +關(guān)注

    關(guān)注

    0

    文章

    103

    瀏覽量

    6722

原文標(biāo)題:HDC技術(shù)分論壇:ArkCompiler原理解析

文章出處:【微信號(hào):HarmonyOS_Dev,微信公眾號(hào):HarmonyOS開(kāi)發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

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

    開(kāi)源鴻蒙硬件生態(tài)論壇圓滿(mǎn)舉辦

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025)硬件生態(tài)論壇在深圳圓滿(mǎn)舉辦。本次論壇主題為“開(kāi)源鴻蒙硬件新生態(tài)”,特邀行業(yè)技術(shù)領(lǐng)袖、專(zhuān)家、開(kāi)發(fā)者和生態(tài)伙伴,從芯片平臺(tái)、硬件開(kāi)發(fā)
    的頭像 發(fā)表于 06-05 15:35 ?341次閱讀

    開(kāi)源鴻蒙工程工具論壇圓滿(mǎn)舉辦

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025)工程工具論壇在深圳圓滿(mǎn)舉辦。本次論壇由開(kāi)源鴻蒙IDE SIG組長(zhǎng)、華為終端BG工程工具技術(shù)
    的頭像 發(fā)表于 06-05 15:35 ?307次閱讀

    開(kāi)源鴻蒙圖形與游戲論壇圓滿(mǎn)舉辦

    近日,開(kāi)源鴻蒙開(kāi)發(fā)者大會(huì)2025(OHDC.2025)圖形與游戲論壇在深圳圓滿(mǎn)舉辦。本次論壇由開(kāi)源鴻蒙圖形SIG & 游戲SIG組組長(zhǎng)、華為終端BG圖形TMG主任黃然,以及開(kāi)源鴻蒙
    的頭像 發(fā)表于 06-05 15:30 ?422次閱讀

    ADC技術(shù)的工作原理解析

    ADC(Analog-to-Digital Converter,模擬-數(shù)字轉(zhuǎn)換器)技術(shù)的工作原理主要包括采樣、保持、量化和編碼四個(gè)步驟,以下是對(duì)這四個(gè)步驟的解析: 采樣 :采樣是將連續(xù)的模擬信號(hào)轉(zhuǎn)換
    的頭像 發(fā)表于 02-18 18:14 ?1047次閱讀

    開(kāi)源鴻蒙技術(shù)論壇在武漢成功舉辦

    ? ? 12月20日,由開(kāi)放原子開(kāi)源基金會(huì)、中國(guó)通信學(xué)會(huì)主辦,深圳開(kāi)鴻數(shù)字產(chǎn)業(yè)發(fā)展有限公司(以下簡(jiǎn)稱(chēng)“深開(kāi)鴻”)協(xié)辦的2024開(kāi)放原子開(kāi)發(fā)者大會(huì)暨首屆開(kāi)源技術(shù)學(xué)術(shù)大會(huì)——開(kāi)源鴻蒙技術(shù)論壇
    的頭像 發(fā)表于 12-24 13:38 ?740次閱讀

    與鴻同行,探索無(wú)限!開(kāi)源鴻蒙技術(shù)論壇在武漢成功舉辦

    12月20日,由開(kāi)放原子開(kāi)源基金會(huì)、中國(guó)通信學(xué)會(huì)主辦,深圳開(kāi)鴻數(shù)字產(chǎn)業(yè)發(fā)展有限公司(以下簡(jiǎn)稱(chēng)“深開(kāi)鴻”)協(xié)辦的2024開(kāi)放原子開(kāi)發(fā)者大會(huì)暨首屆開(kāi)源技術(shù)學(xué)術(shù)大會(huì)——開(kāi)源鴻蒙技術(shù)論壇在武
    的頭像 發(fā)表于 12-23 21:29 ?1009次閱讀
    與鴻同行,探索無(wú)限!開(kāi)源鴻蒙<b class='flag-5'>技術(shù)</b><b class='flag-5'>分</b><b class='flag-5'>論壇</b>在武漢成功舉辦

    HDC2080EVM為什么無(wú)法安裝MSP430驅(qū)動(dòng)?

    新購(gòu)入HDC2080EVM,安裝好評(píng)估軟件,插入HDC2080EVM,顯示Not Connected, 發(fā)現(xiàn),如下圖MSP430-USB驅(qū)動(dòng)未安裝。 請(qǐng)問(wèn),如何解決?謝謝!
    發(fā)表于 12-16 06:42

    AICon北京站HarmonyOS技術(shù)論壇開(kāi)啟招募,歡迎開(kāi)發(fā)者踴躍報(bào)名

    移動(dòng)應(yīng)用開(kāi)發(fā)新范式”為主題的HarmonyOS技術(shù)論壇。 本屆論壇將邀請(qǐng)領(lǐng)先企業(yè)伙伴,行業(yè)領(lǐng)袖和技術(shù)
    的頭像 發(fā)表于 12-11 16:39 ?531次閱讀
    AICon北京站HarmonyOS<b class='flag-5'>技術(shù)</b><b class='flag-5'>分</b><b class='flag-5'>論壇</b>開(kāi)啟招募,歡迎開(kāi)發(fā)者踴躍報(bào)名

    AICon北京站HarmonyOS技術(shù)論壇開(kāi)啟招募

    AICon北京站HarmonyOS技術(shù)論壇將于2024年12月14日在北京與廣大開(kāi)發(fā)者見(jiàn)面。歡迎各位開(kāi)發(fā)者踴躍報(bào)名,與技術(shù)專(zhuān)家現(xiàn)場(chǎng)交流,感受全新的HarmonyOS 開(kāi)發(fā)體驗(yàn)。
    發(fā)表于 12-11 09:38

    miniled 技術(shù)理解析 miniled與 OLED 比較

    MiniLED技術(shù)理解析 MiniLED技術(shù)是一種新型的顯示技術(shù),它結(jié)合了傳統(tǒng)LED背光技術(shù)與MicroLED
    的頭像 發(fā)表于 12-10 15:11 ?3678次閱讀

    HDC3020 EVM用戶(hù)指南

    電子發(fā)燒友網(wǎng)站提供《HDC3020 EVM用戶(hù)指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-06 16:08 ?1次下載
    <b class='flag-5'>HDC</b>3020 EVM用戶(hù)指南

    汽車(chē)制動(dòng)系統(tǒng)原理解析 如何檢查汽車(chē)制動(dòng)系統(tǒng)

    汽車(chē)制動(dòng)系統(tǒng)原理解析 汽車(chē)制動(dòng)系統(tǒng)是車(chē)輛安全行駛的重要組成部分,它的作用是在需要時(shí)使車(chē)輛減速或停止。現(xiàn)代汽車(chē)的制動(dòng)系統(tǒng)通常包括以下幾個(gè)部分:制動(dòng)踏板、制動(dòng)總泵、制動(dòng)泵、制動(dòng)盤(pán)或制動(dòng)鼓以及制動(dòng)液
    的頭像 發(fā)表于 11-28 09:40 ?974次閱讀

    HDC302x器件用戶(hù)指南

    電子發(fā)燒友網(wǎng)站提供《HDC302x器件用戶(hù)指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-12 15:41 ?0次下載
    <b class='flag-5'>HDC</b>302x器件用戶(hù)指南

    HarmonyOS高效測(cè)試必備HDC命令

    針對(duì)測(cè)試人員的需求,HDC 提供了豐富的命令集,幫助他們進(jìn)行設(shè)備連接、日志采集、應(yīng)用安裝與卸載、性能監(jiān)控等。以下是一些常用且對(duì)測(cè)試人員非常有幫助的 HDC 命令。
    的頭像 發(fā)表于 10-21 11:42 ?1767次閱讀

    HDC2024軟通動(dòng)力成功舉辦&quot;云云協(xié)同,以新質(zhì)動(dòng)力驅(qū)動(dòng)智能化躍進(jìn)&quot;論壇

    北京2024年6月24日?/美通社/ -- 6月22日,華為開(kāi)發(fā)者大會(huì)2024進(jìn)入第二天日程。軟通動(dòng)力舉辦"云云協(xié)同,以新質(zhì)動(dòng)力驅(qū)動(dòng)智能化躍進(jìn)"論壇,邀請(qǐng)華為、合作伙伴、技術(shù)專(zhuān)家、學(xué)者以及企業(yè)代表
    的頭像 發(fā)表于 06-24 17:28 ?808次閱讀
    <b class='flag-5'>HDC</b>2024軟通動(dòng)力成功舉辦&quot;云云協(xié)同,以新質(zhì)動(dòng)力驅(qū)動(dòng)智能化躍進(jìn)&quot;<b class='flag-5'>分</b><b class='flag-5'>論壇</b>
    主站蜘蛛池模板: 加勒比啪啪 | 天天躁夜夜躁狠狠躁2024 | 久久国产精品永久免费网站 | 天天拍夜夜添久久精品中文 | 日本三级网站在线观看 | 四虎影院精品在线观看 | 欧美成人精品福利网站 | 国产精品三区四区 | 午夜看一级特黄a大片 | 爱操综合 | 夜夜骑日日射 | 给我一个可以看片的www日本 | 手机精品视频在线观看免费 | 免费看黄视频 | 在线播放免费人成毛片乱码 | 欧美午夜场 | 狠狠干夜夜草 | 免费看黄资源大全高清 | 久久精品久久久 | 四虎永久在线精品影院 | 黄页网站视频免费 视频 | 亚洲国产一区二区三区在线观看 | 日本一区视频在线播放 | 成人五级毛片免费播放 | 国产做爰一区二区 | 天天搞天天爽 | 一级片高清 | 四虎国产视频 | 加勒比一区二区三区 | 四虎永久免费观看 | 狠狠88综合久久久久综合网 | 99热久久国产精品 | 国产jlzzjlzz视频免费 | 一区免费 | 国产精品黄页网站在线播放免费 | 免费一级毛片在线播放 | 天堂中文资源网 | 色妞女女女女女bbbb | 久久成人性色生活片 | 日韩在线视频一区二区三区 | 午夜美女视频在线观看高清 |