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

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

完善資料讓更多小伙伴認(rèn)識你,還能領(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)境)的想法。同時也降低了門檻,使得更多的開發(fā)者可以上手 OpenHarmony。這促成了我成立 Python SIG(Special Interest Group,特別興趣小組,OpenHarmony 社區(qū)中最基本的組織形式)的初衷。首先,我需要定位一款編程語言,受眾廣且學(xué)習(xí)門檻低。

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

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

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

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

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

通過兩者代碼的對比閱讀,我發(fā)現(xiàn) MicroPython 居然在解釋器部分對公版 Python 也做了剪裁。我暫時也沒有確切答案,不過從代碼實現(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 字符串的形式存儲到 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 代碼,大概率還存在很多需要解決的問題。希望大家都來試玩我的這個方案,多找 Bug,多提 Issue。

責(zé)任編輯:haq

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

    關(guān)注

    56

    文章

    4825

    瀏覽量

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

    關(guān)注

    183

    文章

    2639

    瀏覽量

    67732
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    2054

    瀏覽量

    32171
  • OpenHarmony
    +關(guān)注

    關(guān)注

    27

    文章

    3835

    瀏覽量

    18178

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

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

收藏 人收藏

    評論

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

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

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

    鴻蒙北向開發(fā)OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置

    本文介紹OpenHarmony5.0 DevEco Studio開發(fā)工具安裝與配置,鴻蒙北向開發(fā)入門必備!由觸覺智能Purple Pi OH鴻蒙開發(fā)板演示。搭載了瑞芯微RK3566四核
    的頭像 發(fā)表于 03-28 18:05 ?614次閱讀
    鴻蒙北向<b class='flag-5'>開發(fā)</b><b class='flag-5'>OpenHarmony</b>5.0 DevEco Studio<b class='flag-5'>開發(fā)</b>工具安裝與配置

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序

    是一種非常有用的編程語言,其語法易于閱讀,允許程序員使用比匯編、C或Java等語言更少的代碼行。Python編程語言最初實際上是作為Linux的腳本語言而開發(fā)的。Py
    的頭像 發(fā)表于 03-25 09:27 ?508次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行<b class='flag-5'>Python</b><b class='flag-5'>程序</b>?

    鴻蒙北向開發(fā)OpenHarmony4.1 DevEco Studio開發(fā)工具安裝與配置

    OpenHarmony4.1 DevEco Studio開發(fā)工具安裝與配置,鴻蒙北向開發(fā)入門必備!
    的頭像 發(fā)表于 02-07 17:35 ?641次閱讀
    鴻蒙北向<b class='flag-5'>開發(fā)</b><b class='flag-5'>OpenHarmony</b>4.1 DevEco Studio<b class='flag-5'>開發(fā)</b>工具安裝與配置

    ID讀卡器Python程序開發(fā)

    液顯ID讀卡器UDP協(xié)議開發(fā)Python程序。代碼如下: ? # pip install netifacesimport subprocessimport structimport
    的頭像 發(fā)表于 01-10 16:05 ?425次閱讀

    OpenHarmony程序分析框架論文入選ICSE 2025

      近日,ICSE 2025軟件工程實踐Track放榜,面向OpenAtom OpenHarmony(以下簡稱“OpenHarmony”)的ArkTS程序分析基礎(chǔ)框架--方舟程序分析器
    的頭像 發(fā)表于 01-02 13:41 ?980次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>程序</b>分析框架論文入選ICSE 2025

    第三屆OpenHarmony技術(shù)大會 “OpenHarmony開發(fā)者激勵計劃”授牌儀式圓滿舉行

    10月12日,以“技術(shù)引領(lǐng)筑生態(tài),萬物智聯(lián)創(chuàng)未來”為主題的第三屆OpenHarmony技術(shù)大會隆重舉行,“OpenHarmony開發(fā)者激勵計劃”授牌儀式在大會期間同步進(jìn)行。該計劃旨在增加
    的頭像 發(fā)表于 10-21 11:48 ?574次閱讀
    第三屆<b class='flag-5'>OpenHarmony</b>技術(shù)大會 “<b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發(fā)</b>者激勵計劃”授牌儀式圓滿舉行

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

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

    OpenHarmony 明星開發(fā)板和應(yīng)用招募啟動,等你來!

    板能夠量產(chǎn)>1000pcs 報名企業(yè)至少有1款開發(fā)板或者商用設(shè)備通過OpenHarmony兼容性測試 報名企業(yè)可持續(xù)投入南向設(shè)備開發(fā)
    發(fā)表于 09-14 15:21

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

    1、程序簡介 該程序是基于OpenHarmony標(biāo)準(zhǔn)系統(tǒng)編寫的UI應(yīng)用類:HelloOpenHarmony。 本案例是基于API 9接口開發(fā)
    發(fā)表于 09-14 12:47

    Openharmony軟件評估指南-米爾瑞芯微RK3568開發(fā)

    Openharmony軟件評估指南用于介紹在米爾的開發(fā)板上運(yùn)行Openharmony系統(tǒng)下的核心資源與外設(shè)資源的測試步驟與評估方法。本文可作為前期評估指南使用,也可以作為通用系統(tǒng)開發(fā)
    發(fā)表于 09-06 20:06

    第二屆大會回顧第25期 | OpenHarmony上的Python設(shè)備應(yīng)用開發(fā)

    Python以其簡單、易學(xué)和功能強(qiáng)大而聞名,有著廣泛的用戶群體。采用Python開發(fā)有助于降低OpenHarmony的學(xué)習(xí)門檻。如何在OpenHar
    的頭像 發(fā)表于 08-27 11:53 ?1117次閱讀
    第二屆大會回顧第25期 | <b class='flag-5'>OpenHarmony</b>上的<b class='flag-5'>Python</b><b class='flag-5'>設(shè)備</b>應(yīng)用<b class='flag-5'>開發(fā)</b>

    【迅為RK3568開發(fā)板】OpenHarmony學(xué)習(xí)開發(fā)系列教程(第1期 北向基礎(chǔ)篇一)

    P5P4_OpenHarmony支持設(shè)備類型3:47 P6p5_南向開發(fā)和北向開發(fā)的區(qū)別1:49 P7P6_OpenHarmony應(yīng)用
    發(fā)表于 08-16 15:27

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

    P2_OpenHarmony功能框架 P3_OpenHarmony技術(shù)特性 P4_OpenHarmony支持設(shè)備類型 p5_南向開發(fā)和北向
    發(fā)表于 07-23 10:44

    如何在Openharmony中實現(xiàn)USB復(fù)合設(shè)備

    如何讓Openharmony設(shè)備HDC接口(OTG接口)作為一個復(fù)合設(shè)備,實現(xiàn)HDC(HDC:鴻蒙設(shè)備連接器) + CDC ACM(USB 虛擬串口),而
    的頭像 發(fā)表于 06-13 15:03 ?2478次閱讀
    如何在<b class='flag-5'>Openharmony</b>中實現(xiàn)USB復(fù)合<b class='flag-5'>設(shè)備</b>
    主站蜘蛛池模板: 久久精品五月天 | 可以看黄色的网站 | 在线a亚洲老鸭窝天堂新地址 | 奇米四色777亚洲图 奇米影视四色首页手机在线 | 午夜特片网 | 狠狠操狠狠搞 | 黄色网网址 | 国产乱码精品一区二区三区四川人 | 狠狠躁夜夜躁人人爽天天3 狠狠躁夜夜躁人人爽天天段 | 激情午夜婷婷 | 日本欧美一区二区三区免费不卡 | 毛片黄色 | 成人窝窝午夜看片 | 国产精品欧美久久久久天天影视 | 青青草国产三级精品三级 | 中文字幕一区2区 | 天天干天天爱天天射 | 特黄一级真人毛片 | 国产成人精品亚洲 | 欧美一区二区三区视频在线观看 | 国产日韩精品一区二区三区 | 中文字幕在线看精品乱码 | 国产午夜三区视频在线 | 成年黄网站免费大全毛片 | 中文字幕亚洲天堂 | 国产网红主播chinese | 97人洗澡人人澡人人爽 | 午夜三级毛片 | 96福利视频 | 最新版天堂资源官网 | 久久狠狠躁免费观看 | 色天使在线播放 | 国产免费一区二区三区香蕉精 | 222www在线观看免费 | 欧美日本视频一区 | 四虎影视在线播放 | 天天射天天草 | 国产最新网站 | 99久久亚洲国产高清观看 | 黄网在线观看 | 午夜一区二区三区 |