簡(jiǎn)單說(shuō)一下情況,我準(zhǔn)備基于tinybee的板子,對(duì)marlin進(jìn)行修改,制作自己的6軸運(yùn)動(dòng)板。
第一步 明確思路
我的思路是先基于tinybee,對(duì)官方的marlin代碼進(jìn)行配置修改,實(shí)現(xiàn)代碼可以正常在tinybee上運(yùn)行。這一步比較順利,tinybee板測(cè)試功能基本能用。
第二步 遇到問(wèn)題
利用esp32 devkit v1開(kāi)發(fā)板,做一個(gè)扣板形式的6軸運(yùn)動(dòng)版。將esp32 devkit v1插到底板的排座上,簡(jiǎn)化設(shè)計(jì)和生產(chǎn)難度。理論上來(lái)說(shuō),將基于tinybee的marlin代碼燒寫到自制運(yùn)動(dòng)版上,應(yīng)該可以正常引導(dǎo)運(yùn)行。但實(shí)際情況是,程序燒寫成功,但是運(yùn)行后就引導(dǎo)失敗,串口反復(fù)打印下面的log:
ets Jun 8 2016 00:22:57rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)configsip: 0, SPIWP:0xeeclk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00mode:DIO, clock div:2load:0x3fff0018,len:4load:0x3fff001c,len:1044load:0x40078000,len:8896load:0x40080400,len:5828
entry 0x400806ac
tinybee燒寫同樣的程序,則能夠正常運(yùn)行,串口log如下:
ets Jun 8 2016 00:22:57rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)configsip: 0, SPIWP:0xeeclk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00mode:DIO, clock div:2load:0x3fff0018,len:4load:0x3fff001c,len:1044load:0x40078000,len:8896load:0x40080400,len:5828entry 0x400806acstart
External Reset
Brown out Reset
Watchdog Reset
Marlin bugfix-2.1.xecho: Last Updated: 2023-03-23 | Author: (Carlo Huang, 5 axis t6600 - esp32,OpenPnP)echo: Compiled: Sep 14 2023echo: Free Memory: 313840 PlannerBufferBytes: 1472echo:EEPROM version mismatch (EEPROM=? Marlin=V87)echo:Hardcoded Default Settings Loaded
很明顯,entry 0x400806ac這個(gè)跳轉(zhuǎn),沒(méi)有成功。莫非是自己購(gòu)買的esp32 devkit v1開(kāi)發(fā)板有問(wèn)題?一番折騰后,證明開(kāi)發(fā)板能夠工作,燒寫點(diǎn)燈程序,是可以正常運(yùn)行的。
第三步 對(duì)比esp32規(guī)格
難道是esp32 devkit v1開(kāi)發(fā)板與tinybee的選用芯片規(guī)格不一樣?
通過(guò)對(duì)比淘寶上的購(gòu)買信息,發(fā)現(xiàn)兩者板載的spi flash容量不一樣。esp32 devkit v1是4M,tinybee是8M。
在cmd中用下面的指令也能查看芯片相關(guān)信息:
esptool.py -p 其中 第四步 檢查燒寫文件是否超出spi flash容量范圍 我使用的是vscode+platformio的方式編譯marlin。在marlin源代碼的根目錄Marlin-bugfix-2.1.x.piobuildmks_tinybee可以找到燒寫文件firmware.bin,其實(shí)際大小為313K,遠(yuǎn)沒(méi)有超過(guò)4M。那么應(yīng)該和某個(gè)配置文件有關(guān)。 第五部 檢查配置文件 首先在源碼里找到platformio.ini的文件,會(huì)看到如下信息: ......[platformio]src_dir = Marlinboards_dir = buildroot/share/PlatformIO/boards default_envs = mks_tinybee include_dir = Marlinextra_configs = Marlin/config.ini ini/avr.ini ini/due.ini ini/esp32.ini ini/features.ini ini/lpc176x.ini ini/native.ini ini/samd21.ini ini/samd51.ini ini/stm32-common.ini ini/stm32f0.ini ini/stm32f1-maple.ini ini/stm32f1.ini ini/stm32f4.ini ini/stm32f7.ini ini/stm32h7.ini ini/stm32g0.ini ini/teensy.ini ini/renamed.ini...... 在Marlin-bugfix-2.1.xini路徑,可以找到esp32.ini文件。 ......[env:FYSETC_E4]extends = env:esp32 board_build.partitions = default_16MB.csv[env:PANDA]extends = env:esp32 build_flags = ${env:esp32.build_flags} -DUSE_ESP32_EXIO -DUSE_ESP32_TASK_WDTlib_deps = ${common.lib_deps} SoftwareSerialEsp32board_build.partitions = Marlin/src/HAL/ESP32/esp32.csv upload_speed = 115200monitor_speed = 115200[env:mks_tinybee]extends = env:esp32 board_build.partitions = default_8MB.csv...... 果然配置會(huì)有所不同,tinybee用的是8M的分區(qū),esp32 devkit v1強(qiáng)行燒寫估計(jì)會(huì)出現(xiàn)問(wèn)題。將board_build.partitions = default_8MB.csv這行注釋掉,改用PANDA的配置,重新燒寫問(wèn)題解決。esp32 devkit v1開(kāi)發(fā)板正常運(yùn)行marlin程序。 小結(jié) 在arduino esp32的架構(gòu)中,有很多細(xì)節(jié)地方需要注意,否則很容易造成程序不運(yùn)行的問(wèn)題。default_8MB.csv這個(gè)文件我始終沒(méi)有找到,marlin源碼里沒(méi)有,vscode安裝目錄也沒(méi)有??赡茉赼rduino系統(tǒng)框架的某個(gè)地方
上一篇:【TVM系列八】microTVM在ESP32上調(diào)優(yōu)算子
下一篇:讓你的ESP32試試串流吧
推薦閱讀最新更新時(shí)間:2025-06-30 15:59



設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無(wú)線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開(kāi)發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹(shù)莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁(yè)和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- 使用 MaxLinear, Inc 的 SPX385AN-1.2/TR 的參考設(shè)計(jì)
- LTC4089,通用鋰離子電池充電器可在僅 2cm2 的面積內(nèi)從 USB 和 6V 至 36V 輸入供電
- LTC3425 的典型應(yīng)用 - 5A、8MHz、4 相同步升壓型 DC/DC 轉(zhuǎn)換器
- LT1934ES6 3.3V降壓轉(zhuǎn)換器典型應(yīng)用電路
- 使用 Analog Devices 的 LT1764AEFE-1.5 的參考設(shè)計(jì)
- EVAL-ADUC7039QSPZ,用于汽車系統(tǒng)的 ADUC7039 集成精密電池傳感器的評(píng)估板
- ADP1612-BL1-EVZ,用于 ADP1612 升壓轉(zhuǎn)換器的空白評(píng)估板
- DI-132 - 1.75W高效率線性充電器替代品
- 使用 MaxLinear, Inc 的 XRP7618IGB-F 的參考設(shè)計(jì)
- 基于STM32的貪吃蛇游戲設(shè)計(jì)(程序、PCB)
- 南芯科技推出高集成度多口移動(dòng)電源解決方案,助力充電寶市場(chǎng)穩(wěn)健發(fā)展
- 英飛凌推出具有超低導(dǎo)通電阻的CoolSiC? MOSFET 750 V G2,適用于汽車和工業(yè)功率電子應(yīng)用
- DigiKey 慶祝 B 站賬號(hào)粉絲突破 10 萬(wàn),贈(zèng)送驚喜禮包
- 碳化硅企業(yè) Wolfspeed 啟動(dòng)破產(chǎn)重組,預(yù)計(jì) 2025 年三季度末完成司法重整
- 蘋果被曝考慮放棄自研模型 轉(zhuǎn)而與Anthropic或OpenAI合作
- ?百度文心4.5來(lái)襲!英特爾Day0即支持端側(cè)部署
- 【廣瀨電機(jī)】關(guān)于中國(guó)發(fā)明專利侵權(quán)訴訟達(dá)成和解的公告
- 英飛凌BMS解決方案推動(dòng)電動(dòng)汽車創(chuàng)新
- 地平線的L3判斷與實(shí)踐路徑
- 汽車網(wǎng)絡(luò)升級(jí)攻略:CAN-CAN FD-車載以太網(wǎng)
- DSP幫助NXP i.MX RT500跨界處理器實(shí)現(xiàn)更多音頻功能
- 虛擬示波器“虛”在哪里?
- 拆解4通道 MDO3014 示波器
- 被動(dòng)元件大廠國(guó)巨收購(gòu)奇力新
- 示波器基礎(chǔ)知識(shí)總結(jié)(華為資料)
- 機(jī)器人、AI添翼醫(yī)療發(fā)展 非侵入式手術(shù)時(shí)代將來(lái)臨
- 首款國(guó)家創(chuàng)新神經(jīng)外科手術(shù)機(jī)器人獲批上市
- 探秘長(zhǎng)安:那些2020年即將量產(chǎn)的智能黑科技!
- 智能座艙技術(shù)發(fā)展及應(yīng)用案例解析
- stm32pwm簡(jiǎn)單程序