精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Micropython解釋器MaixPy 常見問題

40°研究院 ? 來源:40°研究院 ? 作者:40°研究院 ? 2022-12-22 17:21 ? 次閱讀

一、MaixPy 與 C 開發有什么異同,我該怎么選擇#

MaixPy 是基于 Micropython 的腳本語言, 不需要編譯,在運行時解析,編寫起來更簡單方便,只是運行時時實性不如 C 語言。
所以如果是快速驗證、新手、只會 python、頭發少等都可以用 MaixPy; 追求極限性能效率或者熟悉 C ,以及對 MaixPy 的長期運行的穩定性不太有信心的都可以使用 C 語言開發

二、MaixPy IDE 無法成功連接開發板#

現象:

開發板到手之后,一直無法連接 MaixPy IDE

檢查固件是否支持 IDE, 早期的固件以及名字帶minimum的固件都不支持

檢查串口是否被占用(其它軟件也打開了串口)

點擊連接后,不用和終端工具同時使用,否則會出現串口占用無法打開

如果一直無法成功連接成功, 檢查:

請檢查是否開發板型號選擇錯誤;

觀察開發板屏幕是否有變化,如果沒有反應可能是串口選擇錯誤;

嘗試升級到最新的 master 分支固件, 以及最新的 MaixPy IDE 軟件

MaixPy 版本號低于 0.5.0_v0 不支持連接 MaixPy IDE

三、Micro SD 卡讀取不到#

Micro SD 讀取不到現象及解決方法:

確認 SD 能否在電腦上正常使用,如果不能即 SD 已損壞,

電腦能夠正常使用,讀取 SD,但 MaixPy 開發板無法使用:

SD 卡未格式化為 MBR 分區 FAT32 格式

電腦能夠正常使用 SD 卡,也確認 SD 卡的磁盤格式為 FAT32,但 MaixPy 開發板依舊無法使用:

可能存在的原因:部分 SD 出廠時,sd 中沒有磁盤分區表,或者磁盤分區表類型不是 MBR

解決的方法:使用第三方磁盤管理軟件,將 sd 分區表類型轉換為 MBR, 并且將 sd 格式格式化為 FAT32

這里使用Diskgenius來轉換磁盤分區表格式

poYBAGOkIbGAMHZ_AADZ3TUX20w274.png

poYBAGOkIbKAIcdKAAHvaRw_XG0233.png

poYBAGOkIbKAK4MNAAE5Zfijjf8312.png

SD 卡不支持 SPI 協議

目前硬件只能支持 SPI 協議讀取, 盡量購買正規的卡

比如:下圖左邊兩張卡 MaixPy 的驅動不支持, 中間和右邊的都支持, 但是中間的 class10 卡速度最快(最高測過 128GB可用)

另外測試過網上購買的幾張閃迪、金士頓、三星的卡,其中發現有一張三星的卡無法使用

pYYBAGOkIbSAD_OiAAn_AT5M74s234.png

四、SD 卡支持多大容量#

最大測試過1TB可以使用

五、使用 SD 加載文件、模型不成功#

現象:我們在使用過程中可能遇到加載模型提示錯誤,

可能存在的問題原因: sd 不兼容,掛載不成功

驗證 sd 卡是否掛載方法:

import os print(os.listdir("/")) >>['flash'] # 沒有掛載 SD 卡 >>['flash', 'sd'] # 掛載 SD 卡成功

Copy

六、為什么連接了 IDE 幀率降低了很多#

K210 沒有 USB 外設, 因此只能使用串口與 IDE 通信, 速度不如 USB 設備快,因此會影響幀率, 可以關閉 IDE 的攝像頭預覽

七、為什么 IDE 上預覽的攝像頭圖像很模糊#

K210 沒有 USB 外設, 因此只能使用串口與 IDE 通信, 速度不如 USB 設備快, 因此對圖片進行了壓縮,如果需要看清晰的圖像請在開發板的屏幕上看,或者保存成圖片傳到電腦查看

所以 IDE 的圖像預覽功能主要是給教學和演示使用, 平時建議使用屏幕,
可以使用以下代碼來設置預覽圖質量

sensor.set_jb_quality(95)

Copy

這樣就將預覽圖的質量設置為了 95%, 但是幀率會有明顯降低

八、怎么提高攝像頭幀率#

換更好的攝像頭,比如 ov7740 幀率會比 ov2640 高一點。 但前提是攝像頭電路必須與開發板的電路兼容

增加攝像頭時鐘頻率(sensor.reset(freq=)),但是注意不要太高,太高會讓畫面變差

可以自己編譯源碼,打開攝像頭雙緩沖選項(默認打開),并且 sensor.reset(dual_buff=True),幀率會有所增加,但是相應地,耗費的內存也會增加(大約為 384KiB )

九、IDE 幀緩沖區成像方向不正確,LCD 顯示方向不正確#

由于 MaixPy 支持的硬件型號較多,在使用 MaixPy IDE 或者 LCD 顯示的時候會出現顯示的方向不正確,那么這時候我們就需要對圖像進行旋轉了;
在修正顯示方向之前,我們需要確認是 Sensor 方向旋轉(MaixPy IDE 右上角的圖像即為 Sensor 直接輸出的圖像)了,還是 LCD 方向旋轉了
修正方法:

sensor 方向修正:

# 設置攝像頭水平鏡像 # `enable`: 1 表示開啟水平鏡像 0 表示關閉水平鏡像 sensor.set_hmirror(enable) # 設置攝像頭垂直鏡像 # `enable`: 1 表示開啟垂直鏡像 0 表示關閉垂直鏡像 sensor.set_vflip(enable)

Copy

lcd 方向修正:

# 設置 `LCD` 屏幕方向 # 參數: `dir`: 取值范圍 [0,3], 從`0`到`3`依次順時針旋轉 # 返回值: 當前方向,取值[0,3] lcd.rotation(dir) # 設置 `LCD` 是否鏡面顯示 # 參數: `invert`: 是否鏡面顯示, `True` 或者 `False` # 返回值: 當前設置,是否鏡面顯示,返回`True`或者`False` lcd.mirror(invert)

Copy

十、燒錄 MaixPy 之后,MaixPy 出現無法啟動#

現象:我們在使用過程中可能遇到燒錄 MaixPy 之后,MaixPy 出現無法啟動(表象為 無法點亮屏幕,白屏 等),

問題原因: 出現這種現象很大一部分是內部文件系統中的配置文件讀取出錯,或者我們設置的系統配置值(如 gc heap 值過大)出錯導致系統無法啟動。

解決方法:擦除文件系統(擦除全部 flash)

使用 kflash_gui 右上角選擇擦除功能,然后加載MaixPy 文件系統模板,地址變成0xD00000, 長度變為3MiB

或者直接燒錄擦除固件: 點擊下載 K210-chip_erase.kfpkg

擦除后再重新燒錄一次目標固件即可

十一、使用 JTAG 調試器一直無法接連 K210#

現象:使用裸機開發 K210, JTAG 調試器一直無法接連 K210

可能的原因:

OpenOCD 調試環境搭建有問題(細節這里不說明)

燒錄過 key_gen.bin 之后,將永久禁用 K210 的 JTAG 調試功能

十二、下載,保存腳本到 MaixPy 內部flash 之后,板子無法更新固件,無法啟動運行腳本#

可能現象:下載,保存腳本到 MaixPy 內部flash 之后,板子無法更新固件,板子無法啟動

程序中拉高了 GPIO16, 造成了自動下載點電路無法拉低 GPIO16,使 K210 進入 ISP 模式,手動拉低 16 號管腳即可

十三、kflash 無法燒錄/更新 MaixPy 固件#

kflash_gui 配置選項

開發板型號

開發板型號選錯

燒錄空間(SRAM/Flash)

燒錄空間選錯

波特率&下載速度模式

下載波特率過高

十四、出現 type object 'board_info' has no attribute 'XX'#

請看開發板配置文件,對開發板進行重新配置

十五、TF卡格式沒有問題,但是無法讀取TF卡,掛載失敗#

請使用

from machine import SDCard SDCard.remount()

Copy

進行重新掛載
使用

def sd_check(): import os try: os.listdir("/sd/.") except Exception as e: return False return True print(sd_check())

Copy

進行檢測是否掛載成功

十六、ValueError:[MAIXPY]kpu: load error:2002, ERR_KMODEL_VERSION: onlysupport kmodel V3/V4 now#

1、更新固件,更新固件,更新到最新版本支持v3/v4的MaixPy固件,具體更新方法看前面的文檔
2、檢查存放模型的位置是否與讀取的位置是否一致,如果將模型放到sd上,然后讀取的位置為flash的0x300000時就會出現這樣的錯誤
3、如果是使用以 smodel 為后綴模型,必需使用自己開發板上的機器碼來獲取模型。

十七、在 MaixPyIDE 上運行 boot.py 文件時,卡死,沒有顯示,沒有報錯#

如果你的模型是燒錄到flash上,你需要在串口終端上運行boot.py里面的代碼,輸出一段紅色的報錯信息為Out of memory,這時你需要將模型放到sd上,然后再進行讀取(一定要可以掛載的sd卡,否則都是白干)

十八、運行模型的時候報 ValueError: [MAIXPY]kpu: load error:2006, ERR. NO_ MEM: memory not enough#

同上 Out of memory ,請使用更小的固件獲得更多的運行內存,標準固件大于 2m 剩余 1m 多,同理選用 600kb 可以獲得 3m 多的運行內存,查看剩余運行內存看 demo_view_mem.py。
這是內存不足了,不是 flash 或者是 sd 內存不夠,是運行內存不夠了。解決辦法:

這時需要跟換 mini 固件得以解決,如果還是不行,那就要減少訓練的時候使用的數據集

或者通過查看【內存管理】這篇教程進行對內存和 GC 進行調整

十九、OSEerror: [Errno 2] ENOENT#

所需要讀取的文件不存在對應的路徑上,如果這個文件是在sd卡上的話,建議查看sd卡是否掛載了

使用一下代碼判斷內存是否掛載上,如果掛載不上會放回False,可能是卡不兼容,或者是卡沒有格式化好,如果不是在官方店買的卡,不能保證能用(官方卡出現不能使用的及時與客服反饋)

def sd_check(): import os try: os.listdir("/sd/.") except Exception as e: return False return True print(sd_check())

Copy

可以使用下面代碼進行重新掛載

from machine import SDCard SDCard.remount()

Copy

二十、串口終端打不開板子,但是ide可以運行#

1、檢查串口是不是被ide占用了,因為串口只能用一個軟件進行打開。
2、使用 ide 中軟件菜單的串口終端打開

二十一、ValueError: [MAIXPY]kpu: load error:2005,ERR_READ_FILE: read file failed#

讀取文件失敗(read file failed)
重新獲取模型,重新燒錄模型,重新導入模型。
檢查文件是不是損壞了,用校驗工具對比一下。
檢查sd卡上的模型模型和代碼中的名字與路徑是不是一樣的。
檢查模型下載地址是不是和程序一樣。

二十二、燒錄了 key_gen.bin 之后的操作#

燒錄 key_gen.bin 之后,通過串口軟件來連接開發板,然后按下 reset 按鍵,重啟開發板,可以看到機器碼打印到串口的接收區中。也可以通過 MaixPy IDE 中的 串口終端來連接開發板查看機器碼。

獲取到機器碼之后,需要重新燒錄需要使用的固件才能運行對應的代碼。否則是連 IDE 都無法連接的

二十三、攝像頭拍攝的模糊#

使用 OV5642 攝像頭拍攝出來的畫面模糊,可以通過扭動攝像頭來進行調整焦距。如果使用其他的攝像頭拍攝的模糊也是同理,但有些攝像頭特性就是如此,只能通過更改攝像頭來進行修改

二十四、燒錄模型或者固件,出現花屏、屏幕顏色不對、屏幕顏色單一#

這時需要使用 kflash 來對 flash 整片擦除,然后重新燒錄 固件 和 模型。

燒錄模型到 flsah 的時候一定要注意燒錄的位置,是否正確(數清楚對應 0 的個數)。

比如常見的白色花屏就是固件燒錯,需要擦除重燒標準固件就正常了,主要因為屏幕配置不同導致的。

比如綠屏可能是攝像頭損壞了輸出了綠色圖像。

比如紅屏是正常的,但需要用戶下載程序。

藍屏的話需要完全擦除片內 flash 后再重新燒錄。

二十五、TypeError: Can't convert to type 錯誤#

Maixpy ide 掛著運行時內存不足,就會出現的常見錯誤,解決方法,換成菜單的打開終端運行,或讓內存有一定預留就不會出現了。

二十六、kpu:check img format err!#

注意看終端輸出提示,特別強調!!!

灰色字體的錯誤 kpu img w=320, h=240 but model w=224, h=224

意思是說,這個模型的要求是 224 224 ,但輸入的是 320 240 。

所以要改圖片為 224 224 輸入,如果是 128 128 同理修改圖片尺寸!!!!!

要么使用 sensor.set_windowing 改變攝像頭輸入大小,要么對 圖像 img.resize 改變圖像大小。

二十七、ValueError input not support#

檢查一下 Python 代碼出錯行,排查 ValueError 錯誤,一般發生在輸入的類型不與目標函數所需的類型一致導致的錯誤,可能是內存不足導致對象為 None 也可能是類被回收了。

二十八、OSError reset failed#

這種情況可能是攝像頭接錯、接反或被燒壞了。可以先檢查攝像頭是否正確且正常被連接,確定沒相關出現人為錯誤后只能確認是攝像頭壞了。

建議使用 Sipeed 所提供的攝像頭,用戶自行配備的可能因為線序不符或者攝像頭驅動不支持等原因而不能用。

二十九、后綴名為 kmodel 和 smodel 的模型文件有什么區別?#

后綴名為 kmodel 的模型文件是用來闡述這個模型的形狀結構和參數。
而 smodel 模型需要用到機器碼;機器碼是一機一碼的一種加密方式,用于模型文件的加密。如果使用別的機器碼去加密或者下載其他以 smodel 為文件后綴的模型文件,開發板是無法使用這些模型文件的!!

三十、MemoryError: Out of normal MicroPython Heap Memory#

前往 : https://neucrack.com/p/325 查閱相關解決方法

三十一、如何同時運行多個模型#

其實也不是同時運行,而是分時運行。

如果有足夠內存,就一次性把幾個模型加載到內存, 然后分別分時運行推理。

如果內存不足,加載第一個模型,運行后注銷(使用 kpu.deinit),再加載運行第二個模型部分或全部模型。使用 load_flash 的方式加載模型,實時從 flash 讀取內容。

三十二、如何加載大模型#

由于 K210 的 RAM 的運行限制,當需要加載大模型文件時,可以通過直接 Flash 中動態加載并運行。

具體用法前往 github:

使用說明:點我github
具體倉庫:點我github

三十三、could not open port 'COMxx':Permission 錯誤#

這種情況是因為串口被占用了,自己將使用過串口的程序關閉掉就行。實在不會解決的話重啟電腦也能達到關閉所有使用串口程序的效果。

三十四、Maix Dock 串口不能用#

Maix Dock 不能使用 MobaXterm 或其他 不支持手動串口流控制的軟件 來進行串口通信。
為了不浪費時間,建議使用 MaixPy IDE 來進行通信。

可以在 MaixPy IDE 頂部菜單欄 工具->打開終端->新終端->連接到串口->選擇正確的串口->115200波特率 來新建一個終端,在這里面使用串口。

poYBAGOkIbSAUPZmAACUhxBLRbs713.png




審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • RISC-V
    +關注

    關注

    44

    文章

    2141

    瀏覽量

    45712
  • Micropython
    +關注

    關注

    0

    文章

    68

    瀏覽量

    4681
收藏 人收藏

    評論

    相關推薦

    浪涌保護常見問題

    浪涌保護(Surge Protection Device, SPD),也稱為電涌保護或防雷,是一種用于保護電子設備免受瞬態過電壓(如雷擊、電源波動等)損害的重要設備。在實際應用中,浪涌保護
    的頭像 發表于 09-14 16:56 ?142次閱讀

    驅動芯片在應用中的常見問題分析與解決

    電子發燒友網站提供《驅動芯片在應用中的常見問題分析與解決.pdf》資料免費下載
    發表于 09-10 10:48 ?0次下載
    驅動芯片在應用中的<b class='flag-5'>常見問題</b>分析與解決

    關于UCC25640x LLC諧振控制常見問題解答

    電子發燒友網站提供《關于UCC25640x LLC諧振控制常見問題解答.pdf》資料免費下載
    發表于 09-04 09:37 ?0次下載
    關于UCC25640x LLC諧振控制<b class='flag-5'>器</b>的<b class='flag-5'>常見問題</b>解答

    如何解決4G工業路由常見問題

    本文介紹了4G工業路由常見問題及解決方法,包括網絡連接不穩定、數據傳輸速度慢、發熱嚴重、死機等問題,并提供選擇和管理4G路由的建議,以提高工業自動化和物聯網應用效果。
    的頭像 發表于 07-01 14:23 ?224次閱讀
    如何解決4G工業路由<b class='flag-5'>器</b><b class='flag-5'>常見問題</b>?

    熱釋電傳感基本知識和使用中的常見問題

    電子發燒友網站提供《熱釋電傳感基本知識和使用中的常見問題》資料免費下載
    發表于 06-11 09:06 ?1次下載

    PCB設計中的常見問題有哪些?

    一站式PCBA智造廠家今天為大家講講PCB設計中的常見問題有哪些?PCB設計布局時容易出現的五大常見問題。在電子產品的開發過程中,PCB(Printed Circuit Board,印刷電路
    的頭像 發表于 05-23 09:13 ?588次閱讀
    PCB設計中的<b class='flag-5'>常見問題</b>有哪些?

    Ubuntu系統常見問題及解答

    今天小編為大家總結了Ubuntu系統常見問題的解決方法,便于收藏和查閱,大家快快碼住哦~
    的頭像 發表于 04-19 12:29 ?747次閱讀
    Ubuntu系統<b class='flag-5'>常見問題</b>及解答

    步進電機常見問題及維護

    常見的問題及維護方法,幫助讀者更好地使用步進電機。 ? ? ? 一、步進電機常見問題 ? ? ? 1. 步進電機運轉不正常 ? ? ? 步進電機運轉不正常可能是由于驅動參數設置不當、電機與驅動
    的頭像 發表于 03-17 08:36 ?577次閱讀
    步進電機<b class='flag-5'>常見問題</b>及維護

    PCB金手指設計的常見問題和解決方案

    PCB金手指設計的常見問題和解決方案
    的頭像 發表于 12-25 10:09 ?1554次閱讀

    石英諧振應用中常見問題及解決方案

    石英諧振應用中常見問題及解決方案 石英諧振是一種廣泛應用于電子設備中的振蕩。它通過石英晶體的諧振效應來提供穩定的頻率信號。然而,在實際應用中,石英諧振
    的頭像 發表于 12-15 14:00 ?419次閱讀

    低壓模擬開關/多路選通常見問題解答

    電子發燒友網站提供《低壓模擬開關/多路選通常見問題解答.pdf》資料免費下載
    發表于 11-28 11:27 ?0次下載
    低壓模擬開關/多路選通<b class='flag-5'>器</b><b class='flag-5'>常見問題</b>解答

    MEMS加速度傳感常見問題解答

    電子發燒友網站提供《MEMS加速度傳感常見問題解答.pdf》資料免費下載
    發表于 11-24 16:06 ?1次下載
    MEMS加速度傳感<b class='flag-5'>器</b><b class='flag-5'>常見問題</b>解答

    CLOCK常見問題解答

    電子發燒友網站提供《CLOCK常見問題解答.pdf》資料免費下載
    發表于 11-23 10:23 ?0次下載
    CLOCK<b class='flag-5'>常見問題</b>解答

    C語言的常見問題

    電子發燒友網站提供《C語言的常見問題集.pdf》資料免費下載
    發表于 11-18 10:29 ?0次下載
    C語言的<b class='flag-5'>常見問題</b>集

    接線端子在變頻故障檢修時的常見問題

    電子發燒友網站提供《接線端子在變頻故障檢修時的常見問題.doc》資料免費下載
    發表于 11-03 10:38 ?0次下載
    接線端子在變頻<b class='flag-5'>器</b>故障檢修時的<b class='flag-5'>常見問題</b>