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

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

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

手把手教你在RT-THREAD bsp上運(yùn)行pikascript腳本點(diǎn)亮小燈

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來源:未知 ? 2023-05-25 07:45 ? 次閱讀
簡介這篇文章介紹如何在RT-THREAD bsp上運(yùn)行pikascript腳本。

pikascript相當(dāng)于一個小型的micropython

原文:https://blog.csdn.net/lt6210925/article/details/130694587

最近有一些結(jié)構(gòu)上的調(diào)整,這篇文章大概介紹一下如何使用。以及開發(fā)過程中需要注意的問題。

這篇文章幾乎適配所有的RT-THREAD上的bsp。(部分bsp可能需要修改一些兼容性問題)

當(dāng)然,首先你要對RT-THREAD有所熟悉

熟悉網(wǎng)頁https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/quick-start/stm32f103-simulator/stm32f103-simulator

操作步驟

下載代碼

首先將代碼下載下來
git clone https://github.com/RT-Thread/rt-thread

在這里的bsp找到自己手上開發(fā)板,這邊我選擇使用/bsp/stm32/stm32wb55-st-nucleo 開發(fā)板,

在env的工具里,首先先執(zhí)行下面命令menuconfigpkgs --update以及scons --target=mdk5

這樣是為了生成比較新的工程,然后打開keil燒入,查看是否可以點(diǎn)亮小燈。

這樣做的目的是為了驗證當(dāng)前的基礎(chǔ)工程是否是ok的。打開串口

然后將亮燈的小燈注釋掉,方便后面點(diǎn)燈

選擇pikascript軟件包

打開menuconfig選擇language分類下面的pikascript版本

73060de4-fa8c-11ed-90ce-dac502259ad0.png

找到對應(yīng)的pikascript軟件包。
然后執(zhí)行
pkgs --update下載軟件包。
然后執(zhí)行
scons --target=mdk5
然后再下載到板子里。在板子上執(zhí)行pika 命令,可以看到下面的界面732096fa-fa8c-11ed-90ce-dac502259ad0.png然后接下來我們就可以通過修改軟件包下面的main.py 文件來修改main.py腳本了。當(dāng)然你也可以像python一樣,一個命令一個命令敲。 main.py目錄:bspstm32stm32wb55-st-nucleopackagespikascript-latest這邊我提供如何點(diǎn)亮小燈的py腳本,直接將這個腳本覆蓋掉main.py里面內(nèi)容即可
 1importPikaStdLib
 2importpikaRTThread
 3importPikaStdDeviceasmachine
 4
 5thread=pikaRTThread.Thread()
 6mem=PikaStdLib.MemChecker()
 7led=machine.GPIO()
 8led.setPin('PB.0')
 9led.setMode('out')
10led.enable()
11led.low()
12
13foriinrange(0,10):
14print('helloPikaScript!')
15led.low()
16thread.mdelay(500)
17led.high()
18thread.mdelay(500)
19
20print('memusemax:')
21mem.max()
修改之后記得執(zhí)行一下scons --target=mdk5這個時候會把main.py腳本設(shè)置進(jìn)去,編譯代碼下載代碼。之后執(zhí)行pika可以看到小燈閃爍。
從log中也可以看到對應(yīng)的信息
733cd838-fa8c-11ed-90ce-dac502259ad0.png注意事項小燈引腳小燈引腳PB.0要根據(jù)你板子上LED信息進(jìn)行調(diào)整,這邊就代表PORTB 0 腳上是LED小燈。另外小燈引腳在main.py里面的PB.0 這個會根據(jù)你的driver_gpio.c里面的get_num 這個函數(shù)來的,如果還沒有,可以實(shí)現(xiàn)一下,這個函數(shù)好像是最近加的,STM32基本都實(shí)現(xiàn)了,其他bsp要根據(jù)GPIO定義情況實(shí)現(xiàn)。

73521cf2-fa8c-11ed-90ce-dac502259ad0.png

報錯

如果遇到編譯不過的情況,
打開pikascript package包下面的requestment.txt
修改如下
1pikascript-core==v1.12.0
2PikaStdLib==v1.12.0
3pikaRTThread==v1.3.2
4pikaRTDevice==v1.1.4
5PikaStdDevice==v2.3.5
也可以根據(jù)https://github.com/pikasTech/PikaPython/blob/68e6da3ae5bacda03600a17b51816bdbe9175326/packages.toml#L358這里查看最新的版本,用最新的pikaRTDevice版本

最近改動比較大的就是pikaRTDevice 這個模塊,其他模塊暫時不會大改動。

如何開發(fā)

根目錄下面的SConscript 文件里面執(zhí)行了兩個exe
1os.system(cwd+'/'+'pikaPackage.exe')
2os.system(cwd+'/'+'rust-msc-latest-win10.exe')
執(zhí)行pikaPackage.exe 會把所有代碼更新一遍(同樣也會把你的本地的修改覆蓋掉),所以如果你想嘗試修改,切記把這個注釋掉,前面加#即可,只有第一次下載的時候需要取消注釋。rust-msc-latest-win10.exe 這個會將main.py等進(jìn)行轉(zhuǎn)換。不需要注釋STM32開發(fā)板應(yīng)該都可以跑。待辦事項目前還不是很完善,如果感興趣,可以幫助我們移植相應(yīng)的模塊到驅(qū)動接口上,

目前有以下接口:

  • PWM
  • UART
  • I2C
  • SPI
  • ADC
  • DAC
    這些函數(shù)都已經(jīng)留空,大家直接修改即可,
    切記第一次執(zhí)行完之后,要把SConscript 中注釋掉。

		1#os.system(cwd+'/'+'pikaPackage.exe') 2os.system(cwd+'/'+'rust-msc-latest-win10.exe') 

如何提交代碼

寫好.c之后 打開網(wǎng)頁pikascript.com 最下面有個上傳模塊7398b9be-fa8c-11ed-90ce-dac502259ad0.png輸入模塊名稱pikaRTDevice73b24906-fa8c-11ed-90ce-dac502259ad0.png選擇版本號73d53998-fa8c-11ed-90ce-dac502259ad0.png然后下一步上傳.c即可,會自動生成PR 參考examplehttps://github.com/pikasTech/PikaPython/tree/master/package/STM32G0https://github.com/pikasTech/PikaPython/tree/master/package/ESP32

———————End———————

RT-Thread線下入門培訓(xùn)

6月 - 鄭州、杭州、深圳

1.免費(fèi)2.動手實(shí)驗+理論3.主辦方免費(fèi)提供開發(fā)板4.自行攜帶電腦,及插線板用于筆記本電腦充電5.參與者需要有C語言、單片機(jī)ARM Cortex-M核)基礎(chǔ),請?zhí)崆鞍惭b好RT-Thread Studio 開發(fā)環(huán)境

73f35432-fa8c-11ed-90ce-dac502259ad0.png

立即掃碼報名

報名鏈接

https://jinshuju.net/f/UYxS2k

巡回城市:青島、北京、西安、成都、武漢、鄭州、杭州、深圳、上海、南京

你可以添加微信:rtthread2020 為好友,注明:公司+姓名,拉進(jìn)RT-Thread官方微信交流群!

74a48694-fa8c-11ed-90ce-dac502259ad0.gif

點(diǎn)擊閱讀原文,進(jìn)入RT-Thread 官網(wǎng)


原文標(biāo)題:手把手教你在RT-THREAD bsp上運(yùn)行pikascript腳本點(diǎn)亮小燈

文章出處:【微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。


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

    關(guān)注

    31

    文章

    1251

    瀏覽量

    39753

原文標(biāo)題:手把手教你在RT-THREAD bsp上運(yùn)行pikascript腳本點(diǎn)亮小燈

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    rt-thread bsp里esp32c3里編譯出的bin文件燒到esp32的開發(fā)板運(yùn)行提示chipid不對,為什么?

    rt-thread bsp里esp32c3里編譯出的bin文件燒到esp32的開發(fā)板 運(yùn)行提示chipid不對,是否有方法修改能支持es
    發(fā)表于 09-27 10:01

    rt-thread studio導(dǎo)入bsp失敗的原因?

    rt-thread studio導(dǎo)入bsp失敗,bsp:gd32470z-lckfb
    發(fā)表于 09-27 09:54

    rt-thread studio導(dǎo)入bsp失敗的原因?

    rt-thread studio導(dǎo)入bsp失敗,bsp:gd32470z-lckfb
    發(fā)表于 09-13 07:49

    rt-thread studio手動導(dǎo)入bsp失敗的原因?怎么處理?

    rt-thread studio 手動導(dǎo)入bsp 失敗。 版本: 2.2.8 構(gòu)建ID: 202405200930 導(dǎo)入的bsp 是直接從rt-thread 代碼倉庫下載的
    發(fā)表于 09-13 06:45

    手把手教你排序算法怎么寫

    今天以直接插入排序算法,給大家分享一下排序算法的實(shí)現(xiàn)思路,主要包含以下部分內(nèi)容:插入排序介紹插入排序算法實(shí)現(xiàn)手把手教你排序算法怎么寫在添加新的記錄時,使用順序查找的方式找到其要插入的位置,然后將
    的頭像 發(fā)表于 06-04 08:03 ?599次閱讀
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>排序算法怎么寫

    6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實(shí)現(xiàn)同時運(yùn)行RT-Thread和lin
    的頭像 發(fā)表于 05-28 08:35 ?356次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    5月16日南京站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    5月16日下午我們將在南京舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實(shí)現(xiàn)同時運(yùn)行RT-Thread和li
    的頭像 發(fā)表于 05-01 08:35 ?283次閱讀
    5月16日南京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站來啦!

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實(shí)現(xiàn)同時運(yùn)行RT-Thread和l
    的頭像 發(fā)表于 04-19 08:34 ?370次閱讀
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站來啦!

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實(shí)現(xiàn)同時運(yùn)行RT-Thread和l
    的頭像 發(fā)表于 04-16 08:35 ?358次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實(shí)現(xiàn)同時運(yùn)行RT-Thread和li
    的頭像 發(fā)表于 03-27 11:36 ?714次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳場RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,瑞芯微RK3568平臺實(shí)現(xiàn)同時運(yùn)行RT-Thread和li
    的頭像 發(fā)表于 03-27 08:34 ?440次閱讀
    4月10日深圳場<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    如何在PSoC62 Evaluation kit開發(fā)板運(yùn)行RT-Thread呢?

    本文主要介紹如何在PSoC62 Evaluation kit開發(fā)板運(yùn)行RT-Thread,如何連接CYW43012 WiFi藍(lán)牙模組,以及如何進(jìn)行WiFi聯(lián)網(wǎng)、網(wǎng)絡(luò)延遲、網(wǎng)絡(luò)帶寬測試。
    的頭像 發(fā)表于 02-27 10:49 ?889次閱讀
    如何在PSoC62 Evaluation kit開發(fā)板<b class='flag-5'>上</b><b class='flag-5'>運(yùn)行</b><b class='flag-5'>RT-Thread</b>呢?

    工程送樣!手把手教你用好廣和通RedCap模組FG131&amp;amp;FG132系列

    工程送樣!手把手教你用好廣和通RedCap模組FG131&FG132系列
    的頭像 發(fā)表于 01-11 18:22 ?615次閱讀
    工程送樣!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>用好廣和通RedCap模組FG131&amp;amp;FG132系列

    使用SystemView工具分析瑞薩RA6M4芯片RT-Thread運(yùn)行情況

    使用SystemView工具分析瑞薩RA6M4芯片RT-Thread運(yùn)行情況
    的頭像 發(fā)表于 12-11 17:23 ?518次閱讀
    使用SystemView工具分析瑞薩RA6M4芯片<b class='flag-5'>上</b><b class='flag-5'>RT-Thread</b>的<b class='flag-5'>運(yùn)行</b>情況

    RT-Thread qemu mps2-an385 bsp移植制作 :系統(tǒng)運(yùn)行

    前面已經(jīng)讓 RT-Thread 進(jìn)入了 entry 入口函數(shù),并且 調(diào)整 鏈接腳本,自動初始化與 MSH shell 的符號已經(jīng)預(yù)留, 進(jìn)入了 RT-Thread 的初始化流
    的頭像 發(fā)表于 11-14 12:27 ?725次閱讀
    <b class='flag-5'>RT-Thread</b> qemu mps2-an385 <b class='flag-5'>bsp</b>移植制作 :系統(tǒng)<b class='flag-5'>運(yùn)行</b>篇