喜歡今日頭條,偶然看到廣告,半個(gè)多月前交了8.9元,報(bào)名參加了頭條上Python的四天培訓(xùn)課,呵呵,總算是有了零的開(kāi)始(還是有點(diǎn)收獲的,見(jiàn)https://www.sohu.com/a/381128744_120248280)。三天前搜到這個(gè)電子工程世界論壇,馬上注冊(cè)了ID,發(fā)現(xiàn)這里可能是學(xué)習(xí)交流MicroPython的最大平臺(tái).......
春節(jié)新冠疫情過(guò)后,我入手了一塊支持MicroPython的開(kāi)發(fā)板(性價(jià)比還行,百多元),國(guó)產(chǎn)自主知識(shí)產(chǎn)權(quán)的K210芯片,從零開(kāi)始學(xué)習(xí),嘗試動(dòng)手做實(shí)驗(yàn)。

自2018年9月6日,嘉楠科技推出自主設(shè)計(jì)研發(fā)的全球首款基于RISC-V的量產(chǎn)商用邊緣智能計(jì)算芯片勘智K210,至今使用K210芯片的開(kāi)發(fā)板已經(jīng)很多了,比如號(hào)稱第一款采用RISC-V芯片設(shè)計(jì)的香蕉Pi板BPI-K210,還有KD233、Sipeed M1(荔枝丹),MAIX Bit,M5Stick-V,MAIX GO,pyAI- K210,MAIX Dock,PaddlePi-K210和Maixduino等。
圖為香蕉Pi板BPI-K210

最后選擇Maixduino的理由挺簡(jiǎn)單的,就是這款開(kāi)發(fā)板的版型能夠兼容Arduino UNO的許多資源,相對(duì)來(lái)說(shuō)其生態(tài)環(huán)境要好一些。作為測(cè)試的簡(jiǎn)單實(shí)驗(yàn),半個(gè)月左右,先后嘗試了在Maixduino上,配置Arduino IDE與PlatformIO IDE開(kāi)發(fā)環(huán)境(win10)。

https://cn.bbs.sipeed.com/d/102-maixduino2-arduinowin10

https://cn.bbs.sipeed.com/d/154-maixduino8-platformio-idewin10
1、安裝開(kāi)發(fā)板串口驅(qū)動(dòng)
正常情況下,win10 ,linux3.0+ ,mac os都可以自動(dòng)識(shí)別并安裝串口驅(qū)動(dòng)。如果遇到驅(qū)動(dòng)失敗,可以去 FTDI 官網(wǎng)下載對(duì)應(yīng)的 VCP 驅(qū)動(dòng)程序。
https://www.ftdichip.com/Drivers/VCP.htm
win驅(qū)動(dòng)下載地址:http://www.ftdichip.com/Drivers/CDM/CDM21228_Setup.zip
如果到驅(qū)動(dòng)安裝不正確,請(qǐng)徹底卸載原驅(qū)動(dòng),下載官方驅(qū)動(dòng),切斷網(wǎng)絡(luò)并安裝驅(qū)動(dòng)即可解決問(wèn)題。




2、下載K210開(kāi)發(fā)板固件,更新MaixPy固件相當(dāng)于給開(kāi)發(fā)板燒錄系統(tǒng),使用Type C 線連接開(kāi)發(fā)板和電腦,下載開(kāi)發(fā)板固件,方式有兩種:
(1)GitHub發(fā)布的固件(下載最新版本)
https://codeload.github.com/sipeed/MaixPy/zip/master

2)官方最新提交的固件版本
https://dl.sipeed.com/MAIX/MaixPy/release/master/
這里選擇了v0.5.0_31版本

打開(kāi)后應(yīng)該是選擇最后這個(gè)(固件完整版)

通常一個(gè)固件文件中至少有四個(gè)文件,以“maixpy_v0.5.0_31_gd3e71c0”固件為例,具體說(shuō)明如下:
maixpy_v0.5.0_31_gd3e71c0_m5stickv:M5STACK環(huán)境;
maixpy_v0.5.0_31_gd3e71c0_minimum: MaixPy固件最小集合,不支持 MaixPy IDE, 不包含OpenMV的相關(guān)算法;
maixpy_v0.5.0_31_gd3e71c0_with_lvgl.elf:完整版的MaixPy固件。
這里我們需要使用maixpy_v0.5.0_31_gd3e71c0_with_lvgl.elf:完整版的MaixPy固件。
3、下載燒錄軟件kflash_gui 應(yīng)用,直接下載GitHub項(xiàng)目工程,下載完成點(diǎn)擊“kflash_gui.exe”文件安裝。
資料頁(yè)
https://github.com/sipeed/kflash_gui
下載頁(yè)面
https://github.com/sipeed/kflash_gui/releases

只下載了V1.5版本,其他還在下載之中.......
出錯(cuò)了,無(wú)法安裝kflash_gui.exe

后來(lái)只好把所有版本都下載,逐一試試.......

經(jīng)測(cè)試,1.24、1.25和1.32都能打開(kāi)(這里使用v1.32版本來(lái)燒錄固件)
紅點(diǎn)標(biāo)注處的幾個(gè)選項(xiàng)要選好



附:kflash_gui 特性
支持 *.bin 和 *.kfpgk 文件, 支持文件選擇器選擇
支持開(kāi)發(fā)板選擇
可選擇程序燒錄到 Flash 或者 SRAM
自動(dòng)檢測(cè)電腦上的串口
波特率可編輯
黑白兩種皮膚可供選擇
界面支持中英文切換
支持燒錄進(jìn)度顯示和燒錄速度顯示
支持取消下載進(jìn)程
支持合并多個(gè) bin 文件為一個(gè) bin 文件
支持把 kfpkg 文件轉(zhuǎn)換為一個(gè) bin 文件
支持使能 bin 文件
自動(dòng)識(shí)別文件是不是固件
kflash_gui 使用方法
下載文件(kflash_gui_v*.*) 下載地址:release頁(yè)面
解壓, 并雙擊 kflash_gui.exe 或 kflash_gui
可以自行建快捷方式或者固定到開(kāi)始頁(yè)面或者固定要任務(wù)欄方便使用; 如果是 Linux, 可以修改 kflash_gui.desktop 里面的路徑, 然后用管理員身份復(fù)制到/usr/share/application 目錄, 然后就可以在系統(tǒng)菜單里面找到kflash_gui的圖標(biāo)了,點(diǎn)擊即可打開(kāi)
選擇 bin 文件或者 kfpkg 文件, 如果是bin文件需要指定地址,如果是固件需要指定0x0000地址
選擇開(kāi)發(fā)板
選擇燒錄到開(kāi)發(fā)板的哪個(gè)位置 Flash(速度慢但是重新上電還可運(yùn)行) 或者 SRAM(RAM中運(yùn)行,下載快斷電丟失程序)
選擇串口
選擇波特率,推薦1.5M
點(diǎn)擊 下載 按鈕來(lái)開(kāi)始下載
如果需要取消,點(diǎn)擊 取消 按鈕
4、下載MaixPy IDE,MaixPy 使用Micropython 腳本語(yǔ)法,所以不像 C語(yǔ)言 一樣需要編譯,要使用MaixPy IDE , 開(kāi)發(fā)板固件必須是V0.3.1 版本以上(這里使用V0.5.0), 否則MaixPy IDE上會(huì)連接不上, 使用前盡量檢查固件版本和IDE 版本,都更新到最新版以保障能正常使用。
https://cn.dl.sipeed.com/MAIX/MaixPy/ide


https://dl.sipeed.com/MAIX/MaixPy/ide/_/v0.2.4/maixpy-ide-windows-0.2.4.exe
5、下載結(jié)束,進(jìn)行安裝



6、測(cè)試運(yùn)行MaixPy IDE
(1)確定開(kāi)發(fā)板:工具——選擇開(kāi)發(fā)板——Maixduino

(2)安裝驅(qū)動(dòng),選擇端口
工具——打開(kāi)終端——串行端口——COM6——115200

(3)開(kāi)始連接

圖標(biāo)綠色變紅色表示已連接,見(jiàn)底欄,顯示固件版本 V0.5.0

7、使用串口工具
(1)連接硬件
連接 Type C 線, 一端電腦一端開(kāi)發(fā)板
查看設(shè)備是否已經(jīng)正確識(shí)別:
在 Windows 下可以打開(kāi)設(shè)備管理器來(lái)查看
如果沒(méi)有發(fā)現(xiàn)設(shè)備, 需要確認(rèn)有沒(méi)有裝驅(qū)動(dòng)以及接觸是否良好

(2)下載串口工具
(a) putty
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

(b)xshell?
https://xshell.en.softonic.com/download

(3)然后選擇串口模式, 然后設(shè)置串口和波特率,打開(kāi)串口。

4)檢查固件版本
使用串口終端PuTTY打開(kāi)串口,然后復(fù)位(或按ctrl+D),看輸出的版本信息,與github 或者 master 分支 的固件版本對(duì)比,根據(jù)當(dāng)前版本情況考慮升級(jí)到最新版本。這里燒錄的固件版本是“ v0.5.0-31-gd3e71c0” 。

(5)串口終端PuTTY的控制命令:
? ?CTRL-A-在空白行上,進(jìn)入原始REPL模式
? ?CTRL-B-在空白行上,進(jìn)入常規(guī)REPL模式
? ?CTRL-C-中斷正在運(yùn)行的程序
? ?CTRL-D-在空白行上,對(duì)電路板進(jìn)行軟復(fù)位
? ?CTRL-E-在空白行上進(jìn)入粘貼模式
(6)有關(guān)可用模塊的列表,請(qǐng)鍵入help('modules')
KPU? ?? ?? ?? ?? ?gc? ?? ?? ?? ?? ? random? ?? ?? ?? ?uio
Maix? ?? ?? ?? ???hashlib? ?? ?? ???re? ?? ?? ?? ?? ? ujson
__main__? ?? ?? ? heapq? ?? ?? ?? ? sensor? ?? ?? ?? ?ulab
_boot? ?? ?? ?? ? image? ?? ?? ?? ? socket? ?? ?? ?? ?uos
_thread? ?? ?? ???json? ?? ?? ?? ???struct? ?? ?? ?? ?urandom
_webrepl? ?? ?? ? lcd? ?? ?? ?? ?? ?sys? ?? ?? ?? ?? ?ure
array? ?? ?? ?? ? machine? ?? ?? ???time? ?? ?? ?? ???usocket
audio? ?? ?? ?? ? math? ?? ?? ?? ???touchscreen? ?? ? ustruct
binascii? ?? ?? ? math? ?? ?? ?? ???ubinascii? ?? ?? ?utime
board? ?? ?? ?? ? micropython? ?? ? ucollections? ?? ?utimeq
builtins? ?? ?? ? modules? ?? ?? ???ucryptolib? ?? ???uzlib
cmath? ?? ?? ?? ? nes? ?? ?? ?? ?? ?uctypes? ?? ?? ???video
collections? ?? ? network? ?? ?? ???uerrno? ?? ?? ?? ?zlib
errno? ?? ?? ?? ? os? ?? ?? ?? ?? ? uhashlib
fpioa_manager? ???pye_mp? ?? ?? ?? ?uheapq
Plus any modules on the filesystem
8、Hello world!

#嘗試搭建K210的Micropython開(kāi)發(fā)環(huán)境(Win10)
#實(shí)驗(yàn)程序之一:串口打印‘hello maixpy’,固件版本號(hào)
