日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

如何用Python開發(fā)OpenHarmony設(shè)備程序

OpenAtom OpenHarmony ? 來源:HarmonyOS技術(shù)社區(qū) ? 作者:唐佐林 ? 2021-11-12 11:09 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

目前,OpenHarmony 設(shè)備開發(fā)處于嵌入式開發(fā)階段,并且 C 語言在嵌入式開發(fā)的過程中占有十分重要的地位。在與 OpenHarmony 社區(qū)的朋友溝通交流中,我萌生了為 OpenHarmony 設(shè)備開發(fā)提供更簡潔的開發(fā)方式(簡單的編程語言,簡單的開發(fā)環(huán)境)的想法。同時(shí)也降低了門檻,使得更多的開發(fā)者可以上手 OpenHarmony。這促成了我成立 Python SIG(Special Interest Group,特別興趣小組,OpenHarmony 社區(qū)中最基本的組織形式)的初衷。首先,我需要定位一款編程語言,受眾廣且學(xué)習(xí)門檻低。

Python 就進(jìn)入了我的研究范疇。這幾年 Python 借助 AI 的興起進(jìn)入大眾視野,簡單性、易學(xué)性深受廣大開發(fā)者歡迎,很多小學(xué)生都能夠用它來編程。我調(diào)研了 Python 實(shí)現(xiàn)(Python 是開源的,可以通過源碼了解實(shí)現(xiàn)),發(fā)現(xiàn)公版 Python 和 MicroPython 都可以作為起點(diǎn)(Baseline),畢竟不需要照著 Python 規(guī)范寫一個(gè)解釋器出來!

然而,困難還是有的,這兩種實(shí)現(xiàn)都有非常多的依賴,而且設(shè)計(jì)目標(biāo)又分別不同:公版 Python 是一個(gè)大而全的系統(tǒng)(解釋器,庫等),目標(biāo)是基于豐富的資源自由發(fā)揮;MicroPython 從公版 Python 剪裁而來,并做了擴(kuò)展,基本定義成了一個(gè)微型嵌入式設(shè)備上的操作系統(tǒng)。那么,怎么開始呢,做選擇真的很難!于是我開始整理思路,我想干什么?!之后有了下面的架構(gòu)圖。

3eb2baec-41d8-11ec-b939-dac502259ad0.png

很顯然,我希望提供 OpenHarmony 設(shè)備開發(fā)的其它方式,而不是用 Python 替換 C 語言!所以,我的第一個(gè)里程碑(Milestone)是獲得一個(gè)可以在 OpenHarmony 設(shè)備(Hi3861 開發(fā)板)上運(yùn)行的 Python 解釋器!有了這個(gè) Python 解釋器,接下來就可以設(shè)計(jì) Python 版的 OpenHarmony 系統(tǒng)開發(fā)接口了。

確定了目標(biāo)之后,接下來的問題就是:究竟是用公版 Python 還是 MicroPython?

通過兩者代碼的對比閱讀,我發(fā)現(xiàn) MicroPython 居然在解釋器部分對公版 Python 也做了剪裁。我暫時(shí)也沒有確切答案,不過從代碼實(shí)現(xiàn)可以看出 MicroPython 是為了適配更多低配置的硬件而做了取舍!顯然,很多東西人家都考慮過了!我認(rèn)為 OpenHarmony 輕量設(shè)備和小型設(shè)備的定位更適用 MicroPython。

操作過程

通過 2 天的手術(shù)的改造,能夠運(yùn)行的版本(DTPython)就有了??!

使用方式如下:

1. 下載文末附件中的 libdtpython.a,并將其拷貝到 code-1.0vendorhisihi3861hi3861uildlibs 目錄下,如圖:

2. 【可選】編寫 Python 代碼(目前未提供任何庫支持),并使用文末附件中的 Txt2Str 工具將其轉(zhuǎn)換為 C 字符串,用法如下:

3fd1e790-41d8-11ec-b939-dac502259ad0.png

說明:

Txt2Str 將 Python 代碼用 C 字符串的形式存儲(chǔ)到 C 文件中(如上圖中的 test.c)

將轉(zhuǎn)換得到的 C 文件加入工程中即可在 C 代碼中使用 Python 代碼(可參考文末附件中的示例)

注意:目前還沒有簡單的方法直接將 Python 源文件燒寫到設(shè)備中,因此才需要上述步驟。

3. 在設(shè)備開發(fā)中使用 Python 代碼,示例如下:

409e2062-41d8-11ec-b939-dac502259ad0.png

4. 運(yùn)行結(jié)果如下:

415b0ef2-41d8-11ec-b939-dac502259ad0.png

后記

目前僅僅能夠運(yùn)行基本的 Python 代碼,大概率還存在很多需要解決的問題。希望大家都來試玩我的這個(gè)方案,多找 Bug,多提 Issue。

責(zé)任編輯:haq

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

    關(guān)注

    58

    文章

    4889

    瀏覽量

    90330
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2642

    瀏覽量

    70141
  • HarmonyOS
    +關(guān)注

    關(guān)注

    80

    文章

    2157

    瀏覽量

    36321
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3977

    瀏覽量

    21378

原文標(biāo)題:用Python開發(fā)OpenHarmony設(shè)備程序——初體驗(yàn)

文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    何用 MQTT 實(shí)現(xiàn)設(shè)備間通信(超簡單實(shí)操版)

    訂閱主題常駐后臺(tái)監(jiān)聽報(bào)文,一端按需發(fā)布指令、設(shè)備數(shù)據(jù),毫秒級(jí)完成消息推送轉(zhuǎn)發(fā)。 實(shí)測適配全品類終端,電腦Python程序、ESP32/ESP8266單片機(jī)、工業(yè)PLC、物聯(lián)網(wǎng)傳感器、手機(jī)調(diào)試APP都能
    發(fā)表于 04-28 13:51

    基于凌羽派的OpenHarmony北向應(yīng)用開發(fā):Hello World 示例應(yīng)用

    本示例是基于 OpenHarmony 開發(fā)的第一個(gè)簡單應(yīng)用,用于展示如何創(chuàng)建、構(gòu)建和部署一個(gè)基本的應(yīng)用程序。 環(huán)境配置如下所示: API:18 SDK
    發(fā)表于 02-25 11:25

    基于凌羽派的OpenHarmony北向應(yīng)用開發(fā):Hello World 示例應(yīng)用

    本示例是基于OpenHarmony開發(fā)的第一個(gè)簡單應(yīng)用,用于展示如何創(chuàng)建、構(gòu)建和部署一個(gè)基本的應(yīng)用程序。環(huán)境配置如下所示:API:18SDK:OpenHarmony-v5.
    的頭像 發(fā)表于 02-25 10:23 ?353次閱讀
    基于凌羽派的<b class='flag-5'>OpenHarmony</b>北向應(yīng)用<b class='flag-5'>開發(fā)</b>:Hello World 示例應(yīng)用

    【原創(chuàng)】OpenHarmony系統(tǒng)投屏工具軟件 - OpenHarmony_OHScrcpy使用推薦

    Android平臺(tái)的scrcpy投屏工具。它能夠?qū)?b class='flag-5'>OpenHarmony設(shè)備的屏幕實(shí)時(shí)鏡像到計(jì)算機(jī),并提供設(shè)備控制功能。 實(shí)現(xiàn)原理框圖 計(jì)算機(jī)側(cè)(客戶端) :基于Python跨平臺(tái)實(shí)現(xiàn)
    發(fā)表于 01-22 18:34

    #OpenHarmony HDC調(diào)試

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:46:28

    #OpenHarmony 開發(fā)環(huán)境準(zhǔn)備

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:44:31

    #OpenHarmony 鏡像燒錄

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:42:36

    #OpenHarmony 系統(tǒng)概述

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:39:20

    #OpenHarmony Hello World應(yīng)用以及部署

    OpenHarmony
    視美泰
    發(fā)布于 :2026年01月16日 09:32:52

    觸覺智能RK3576開發(fā)OpenHarmony開源鴻蒙系統(tǒng)USB控制傳輸功能示例

    本文介紹OpenHarmony開源鴻蒙系統(tǒng)的USB控制傳輸功能實(shí)現(xiàn)及相關(guān)代碼示例,基于觸覺智能RK3576開發(fā)板PurplePiOH2演示。OpenHarmony的USB通信介紹實(shí)現(xiàn)
    的頭像 發(fā)表于 09-30 16:31 ?1839次閱讀
    觸覺智能RK3576<b class='flag-5'>開發(fā)</b>板<b class='flag-5'>OpenHarmony</b>開源鴻蒙系統(tǒng)USB控制傳輸功能示例

    兩款搭載KaihongOS的開鴻開發(fā)板被評為“OpenHarmony 明星開發(fā)板”

    OpenHarmony
    深開鴻
    發(fā)布于 :2025年09月11日 10:10:02

    何用Arduino Nano/UNO R3開發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序bootlaoder

    本文介紹了如何用能夠Arduino IDE下載的Arduino Nano/UNO R3開發(fā)板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3開發(fā)板重新燒錄引導(dǎo)程序
    的頭像 發(fā)表于 08-08 20:16 ?4000次閱讀
    如<b class='flag-5'>何用</b>Arduino Nano/UNO R3<b class='flag-5'>開發(fā)</b>板給另一個(gè)Arduino IDE不能下載的Arduino Nano/UNO R3<b class='flag-5'>開發(fā)</b>板重新燒錄引導(dǎo)<b class='flag-5'>程序</b>bootlaoder

    開源鴻蒙開發(fā)必備!OpenHarmony替換Full SDK全攻略

    本文介紹開源鴻蒙OpenHarmony替換FullSDK的方法,演示設(shè)備為觸覺智能PurplePiOH鴻蒙開發(fā)板獲取FullSD
    的頭像 發(fā)表于 06-06 18:11 ?1043次閱讀
    開源鴻蒙<b class='flag-5'>開發(fā)</b>必備!<b class='flag-5'>OpenHarmony</b>替換Full SDK全攻略

    何用FastMCP快速開發(fā)自己的MCP Server?

    使用FastMCP快速實(shí)現(xiàn)MCP Server的全過程! 一, FastMCP簡介 FastMCP作為新一代Python風(fēng)格的MCP服務(wù)開發(fā)
    的頭像 發(fā)表于 05-07 16:07 ?3095次閱讀
    如<b class='flag-5'>何用</b>FastMCP快速<b class='flag-5'>開發(fā)</b>自己的MCP Server?
    墨玉县| 新化县| 淳化县| 红原县| 兰坪| 临泉县| 安图县| 始兴县| 庐江县| 阜新市| 沈丘县| 洪湖市| 光泽县| 鹿泉市| 潜江市| 六安市| 茌平县| 三江| 龙南县| 南漳县| 麻栗坡县| 梨树县| 江津市| 调兵山市| 博爱县| 灵台县| 米泉市| 嘉禾县| 西和县| 科技| 泾阳县| 桦甸市| 安龙县| 乐至县| 新龙县| 惠州市| 德格县| 德钦县| 威信县| 根河市| 公安县|