国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

這篇具有很好參考價值的文章主要介紹了【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

老周在幾個世紀前曾寫過樹莓派相關(guān)的 iOT 水文,之所以沒寫 Nano Framework 相關(guān)的內(nèi)容,是因為那時候這貨還不成熟,可玩性不高。不過,這貨現(xiàn)在已經(jīng)相對完善,老周都把它用在項目上了——第一個是自制的智能插座,這個某寶上50多塊可以買到,搜“esp32 插座”就能找到。一種是 86 型盒子的,帶屏幕,背部可以安裝繼電器,需要自己接線(也不難,把線削出銅絲,然后懟進去,上緊螺絲就行);另一種就類似公牛的那種,無屏幕,一個三腳插孔,不需要引線,程序測試好后直接插電用。第二個給打工仔們用的,買了一塊帶電池接口的 ESP32 板,外殼是他們自己做的,主要是遠程控制,不過那個老周做了兩個版本,一個是 Nano Framework 做的,一個是用官方的 idf 做的(主要是要用到藍牙音x 頻)。

經(jīng)過實際使用對比,Nano Framework 比 MicroPython 好用。MicroPython 真的太難用了,用來做項目簡直是給后續(xù)的維護人員挖墳墓。

好了,上面好像說了無關(guān)的鳥話,說回正題。如果你說在 ESP32 上開發(fā)應(yīng)用啥框架最好,那肯定是官方的 idf,C語言直接擼,支持C++。很多人老吐槽 idf 安裝不上。說實話,老周不知道他們是怎么搞的,老周裝過很多次 idf,在自己家的電腦裝過N次,在樹莓派上裝過,在某辦公室的一臺運行 Deepin 的破電腦上裝過一次,每次都能一步到位。記得老周曾經(jīng)寫相關(guān)水文,直接用離線包裝的。這里老周就順便扯一下在線安裝的兩個關(guān)鍵:

1、安裝Python 后,pip 要改用國內(nèi)源(比如最高學府源,老周一般用這個);

2、在下載 idf 時,下載來源要選樂鑫的,不要選 github。如果你不會魔法(魔法上網(wǎng)套路多,要小心,可以用托管在國外的虛擬機,安全一點,老周用 Azure 虛擬機下的),github 源容易失敗。

做好上述兩點,基本不會失敗。

也有人吐槽說 idf 很難用,老周反而覺得挺好用的,函數(shù)的命名是 *nix 風格,idf 畢竟是官方的,功能也是最多的,如果你要用到的一些功能第三方框架沒有的,那必須上 idf 的。

老周覺得,在國產(chǎn)芯片里面,樂鑫真的做得不錯了,不然你看看其他的,SDK 全是老鼠屎。這里點名批評一下嘉楠 Kxxx 芯片,看看你們給的 SDK 都是些啥東東,偷工減料就算了,SDK中還 bug 一串串的。驅(qū)動也封裝得雞模狗樣(抄來的,尤其是 spiFlash)。開源程度而言,樂鑫也算可以的了,只有網(wǎng)絡(luò)協(xié)議部分沒開源。再看看其他的,動不動就是“驅(qū)動不開源”,不開源也算了,你為啥連個接口文檔都不寫?沒寄存器說明,無API說明,調(diào)用起來全靠運氣,買這些開發(fā)板就是活受罪。

所以,哪怕樹莓派比較貴,但老周堅持用樹莓派。

嗯,又扯遠了,說回 Nano frw。這個框架有一個 .NET 工具——nanoff,主要是用來刷固件和 CLR 的,這個工具直接安裝就能用的。

dotnet tool install -g nanoff

不過,它是基于 .NET 6 的,如果你安裝的 .NET SDK 不是 6.0,無法正常運行,這個簡單,安裝一下 .NET 6 SDK 就完事了,不用找源代碼編譯了,很麻煩的。源碼獲取地址:GitHub - nanoframework/nanoFirmwareFlasher: ?? nano firmware flasher nanoff (.NET nanoFramework toolbox)

那我不用 nanoff 工具行不行?可以的喲,樂鑫官方有刷固件工具,下載地址:https://www.espressif.com.cn/sites/default/files/tools/flash_download_tool_3.9.6_2.zip。

現(xiàn)在工具有了,下一步找固件,地址:Cloudsmith - Repositories - .NET nanoFramework (net-nanoframework) - nanoframework-images (nanoframework-images) - Packages

這里面可是啥都有呢,比如老周這個,ESP32-S3 的,長得像個 U 盤,帶個小屏幕(這款是微雪的)。

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題??【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

拆開后是這樣的:

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

引腳較少,主要是體積小巧,還帶個殼子。殼子沒有螺絲,徒手可以直接拆。

所以,老周選擇的固件就是 ESP32_S3_BLE,不用低功耗藍牙的話,也可以選 ESP32_S3,然后下載一個 zip 包,解壓后里面就是基礎(chǔ)固件和 CLR 固件了,另外有幾個分區(qū)表,針對不同大小的 Flash 的。老周買的這個,微雪自己說是 16MB 的板載 Flash。

認識一下這幾個固件:

1、bootloader.bin:就是 BootLoader了,沒什么好介紹的,就是用官方 idf 編譯的引導程序;

2、nanoCLR.bin:.NET CLR ,大家都是 .NET 老油條了,就不用介紹 CLR 吧;

3、partitions_Xmb.bin:分區(qū)表,csv 格式的分區(qū)不能直接刷進去的,要二進制文件才行,Xmb 就是 Flash 大小,如 8mb、16mb 等。

聰明絕頂?shù)哪阋欢ú碌搅?,我們就是把這三個東西刷進去就行。但問題來了,直接在二進制層面寫存儲器,不是有偏移地址嗎?啥東西?就是哪個分區(qū)放哪里唄,偏移的地址就是字節(jié)(這樣理解沒問題,不要抬杠),就是把幾個分區(qū)排隊,不能有重疊,重疊就會覆蓋數(shù)據(jù)了。

比如,第一個分區(qū)假定從第 16 起,大小是100,那么它的終點是 16+100;然后,第二分區(qū)可以在116后的地址開始,依此類推。

現(xiàn)在,關(guān)鍵問題來了,咱們要弄清這幾個固件的起始地址,不能亂刷。亂刷可能運行不了的。

1、bootloader:ESP32-C3 和 ESP32-S3 是特殊群體,它們的 bootload 起始地址是 0x00,就是從 0 開始;其他的從 0x1000 開始。

2、partition:分區(qū)表從 0x8000 開始;

3、Nano CLR:運行時的起始地址是 0x10000。

可能有人又要抬杠了,老周,你是怎么知道這些的?Nano Framework 自己說的唄,不信你自己找。而且這個也可以參考 idf 的 hello world 示例的分區(qū)表,一樣的。只是把工廠固件換成 nanoCLR 罷了。

其實還有一個地址,我們寫的 .NET 程序被燒錄到?0x1B0000 處,不過刷固件時我們不用管它。

好了,該準備的都準備好了,干活吧各位。打開 flash download tool,在彈出的小對話框中選你的 ESP 型號,比如我的是 ESP32-S3,工作模式就是 develop,不要選工廠模式,那個是大批量開刷,等會兒界面會出現(xiàn)密密麻麻的刷機狀態(tài)。刷寫方式保留 UART 就行,點OK。

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

然后出現(xiàn)主界面,我們依次選好固件文件,填好正確的地址。

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

注意:每個固件前面的對勾要打上,勾上才表示要刷進去的;窗口底部,選擇正確的串口號。

最后,點擊 START,閉上眼睛等著刷完吧。

要驗證能不能用,到 VS 上,菜單欄執(zhí)行【擴展】>【管理擴展】,搜索 nano framework。

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

拼命裝它就是了。如果下載很慢,可以用?https://nanoframework.gallerycdn.vsassets.io/extensions/nanoframework/nanoframework-vs2022-extension/2022.3.0.78/1712863972341/nanoFramework.Tools.VS2022.Extension.vsix,放到迅雷上下就很快。下載完成后,直雙擊運行安裝就行了。

擴展雖然裝好了,但還沒真正應(yīng)用,此時你要以管理員身份打開 VS,等待幾秒鐘讓擴展更新配置。然后在菜單欄上執(zhí)行【視圖】>【其他窗口】>【Device Explorer】,打開查看設(shè)備的窗口。如果沒有別的問題,你會看到 ESP32 設(shè)備了(沒看到的話,可以拔掉重新插上)。

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

這時你會發(fā)現(xiàn),窗口上的一排奇葩按鈕看不見,不管它,反正不影響使用。

當然,如果你剛才刷錯了固件,也可能無法運行。沒什么大不了的,多刷幾個試試就是了。

?新建一個項目,選擇“Blank Application”(空白應(yīng)用程序)。

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

然后,就會看到熟悉的代碼了。咱們把 Main 方法中的代碼改一下:

public static void Main()
{
    int id = 0;
    while(true)
    {
        id++;
        Debug.WriteLine($"Hello, Gay{id}!");
        Thread.Sleep(2000);
    }
}

然后,運行。要在輸出窗口中看到內(nèi)容,要用 Debug 類來輸出。結(jié)果如下:

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

取消調(diào)試。咱們在 id++ 那里設(shè)一個斷點,再次運行。

【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題

可以斷點調(diào)試,是不是比 MicroPython 要強很多呢?

?文章來源地址http://www.zghlxwxcb.cn/news/detail-850439.html

到了這里,關(guān)于【Nano Framework ESP32 篇】刷入 nanoCLR 固件以及相關(guān)問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • ESP32學習準備——燒錄MicroPython固件

    ESP32學習準備——燒錄MicroPython固件

    固件,就是文件,固化在存儲介質(zhì)上的文件,而文件,其實就是數(shù)據(jù)。 燒寫,就是寫數(shù)據(jù),把文件(固件/數(shù)據(jù))寫到存儲介質(zhì)(Nand Flash, Nor Flash等)上。 當把這些固件寫到儲存器中后,板子下次啟動的時候,直接從這些儲存器中找到這些文件,嵌入式系統(tǒng)就能夠直接跑起來

    2024年02月12日
    瀏覽(13)
  • 【STM32+ESP8266上云連載①】給ESP8266燒錄AT固件

    【STM32+ESP8266上云連載①】給ESP8266燒錄AT固件

    我在使用ESP8266的時候遇到了一些問題,像給固件燒錄、和單片機結(jié)合使用MQTT協(xié)議給云服務(wù)器發(fā)送數(shù)據(jù)等。樂鑫有提供基礎(chǔ)的AT固件,可以正常使用模組的一些基本的功能,但是針對MQTT協(xié)議需要燒錄專門的固件使用。因此,我將自己解決遇到的問題解決方法寫一下,希望可以

    2024年02月11日
    瀏覽(26)
  • ESP32的MQTT AT固件燒錄+STM32以ESP32的MQTT AT固件的AT指令連接EMQX下mqtt服務(wù)器實現(xiàn)消息訂閱和發(fā)布

    ESP32的MQTT AT固件燒錄+STM32以ESP32的MQTT AT固件的AT指令連接EMQX下mqtt服務(wù)器實現(xiàn)消息訂閱和發(fā)布

    目錄 寫在前面 三種方案(利用ESP32連接EMQX下的MQTT) 步驟 ESP32燒錄固件并AT指令進行測試。 下載固件 ?燒錄工具下載 燒錄固件(選擇ESP32) ?關(guān)于AT 指令與MQTT服務(wù)器斷開后自動重連MQTT服務(wù)器 關(guān)于AT指令設(shè)置上電自動連接WIFI 關(guān)于AT指令設(shè)置斷開后自動重新連接WIFI STM32對接E

    2023年04月12日
    瀏覽(25)
  • ESP32C3簡約版---筆記(一)&固件燒錄

    ESP32C3簡約版---筆記(一)&固件燒錄

    ??前段時間買了塊合宙的ESP32C3簡約版。正好有時間,就試著嘗試玩一下。順便記錄一下過程,方便以后回憶時,能快速使用。大體是按照官網(wǎng)的流程來,加上自己的一些記錄。其實官網(wǎng)也有比較詳細教程了,也可以看看。合宙ESP32C3簡約版官方教程 ??文章雖然主要是以介

    2024年02月05日
    瀏覽(22)
  • esp32與python-opencv的聯(lián)動(micropython固件)

    esp32與python-opencv的聯(lián)動(micropython固件)

    開發(fā)環(huán)境:Thonny,python 硬件要求:esp32cam 實現(xiàn)思路: ? ? ? ? 將esp32cam拍攝的圖片通過網(wǎng)絡(luò)協(xié)議傳到電腦進行處理 原理很簡單,傳輸?shù)耐緩绞荱DP,一開始是有想過用串口或TCP,但是串口就剩UART0,用不了,TCP與UDP相比,UDP更快,因此采用UDP。 ?成品效果如下,圖片發(fā)送速率和丟失

    2024年02月15日
    瀏覽(19)
  • ESP32 通過HTTPS進行OTA更新固件(在platform上進行編碼)

    ESP32 通過HTTPS進行OTA更新固件(在platform上進行編碼)

    OTA:Over-the-Air Technology,字面意思理解為:空中下載技術(shù)。 OTA 在線升級:通過OTA的方式實現(xiàn)產(chǎn)品軟件更新的一種方式。 簡單說來,就是通過 無線方式 對esp32進行固件更新,而不是通過傳 統(tǒng)的連接數(shù)據(jù)線的方式 更新固件。 寫本篇文章的目的就是想向大家介紹一種ESP32 OTA更新

    2024年02月02日
    瀏覽(18)
  • 【在esp32的3D打印機主板上配置marlin固件OLED】

    想著給es32的3D打印機主板的marlin中配置OLED。一開始的OLED的scl引腳連接的是IO17 sda引腳連接的是IO16,本想著在固件中去改io口.先是按照marlin官網(wǎng)Home | Marlin Firmware - configure -Configuration.h-LCD Controller-I2C Graphical LCDs-使能OLED_PANEL_TINYBOY2當前的定義。使能之后就可以使用oled 編碼器,蜂

    2023年04月10日
    瀏覽(41)
  • STM32 + ESP32(AT固件 MQTT協(xié)議) + MQTTX(桌面終端) + (EMQX消息服務(wù)器)

    STM32 + ESP32(AT固件 MQTT協(xié)議) + MQTTX(桌面終端) + (EMQX消息服務(wù)器)

    翻出老物件,搭建一個簡單的 IOT 開發(fā)環(huán)境,也算是廢物利用了?,接下來加傳感器。 1. STM32? 采集數(shù)據(jù): ? ? ?RTOS。 ? ? ?資源相對比較豐富,可以根據(jù)項目需求定制。 2. ESP32? 網(wǎng)絡(luò)傳輸(AT固件 MQTT協(xié)議)?: ? ? AT:封裝好的接口,擴展性不是那么好,業(yè)務(wù)簡單的話將就可以

    2024年02月08日
    瀏覽(27)
  • ESP32 官方AT固件編譯(從零開始環(huán)境搭建到編譯完成全過程)

    ESP32 官方AT固件編譯(從零開始環(huán)境搭建到編譯完成全過程)

    https://download3.vmware.com/software/WKST-PLAYER-1702/VMware-player-full-17.0.2-21581411.exe https://releases.ubuntu.com/jammy/ubuntu-22.04.2-desktop-amd64.iso 可能需要進電腦的BIOS打開一個選項才能安裝成功虛擬機 5.1 GIT 克隆 git clone --recursive https://github.com/espressif/esp-at.git 如果沒有安裝git,按照控制臺的提示安

    2024年02月15日
    瀏覽(46)
  • Linksys WRT路由器刷入OpenWrt與原廠固件雙固件及切換

    Linksys WRT路由器刷入OpenWrt與原廠固件雙固件及切換

    新機器默認有一個原廠固件,兩個boot part,原廠固件在boot part 1,boot part 2為空閑狀態(tài)。 當前boot part為1時,刷入的boot part為2,當前的boot part為2時,刷入的boot part為1。如果使用原廠固件刷入一次Openwrt,如果對這個版本不滿意,再使用Openwrt刷入另一個版本的Openwrt,那么原廠固

    2024年02月08日
    瀏覽(96)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包