开源改变世界!!

编译固件的问题:Arduino IDE v PlatformIO #955

推推 grbl 2年前 (2023-01-30) 163次浏览
关闭
Project487 开启了这个issue 2021 年 8 月 16 日 · 6条评论
关闭

编译固件的问题:Arduino IDE v PlatformIO#955

Project487 开启了这个issue 2021 年 8 月 16 日 · 6条评论

注释

编译固件的问题:Arduino IDE v PlatformIO #955

你好,

我已经使用 Arduino IDE 和 PlatformIO 成功编译了 Grbl_Esp32。Arduino 版本适用于我的 Esp32_Dev 板,但 PlatformIO 版本不适用。我正在使用所有内容的最新版本,并使用同一目录中未修改的 Grbl_Esp32 文件。Windows10 64bit 和 Linux Mint 20 都试过了。PlatformIO 编译没有报错,上传成功。

这些是串行监视器 (PuTTY) 的结果:

Arduino编译:

`ets 2016 年 6 月 8 日 00:22:57

rst:0x1(POWERON_RESET),boot:0x13(SPI_FAST_FLASH_BOOT)
configsip:0,SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
模式:DIO,时钟div: 1
负载:0x3fff0018,len:4
负载:0x3fff001c,len:1216
ho 0 尾部 12 房间 4
负载:0x40078000,len:10944
负载:0x40080400,len:6388
条目 0x400806b4

[MSG:Grbl_ESP32 Ver 1.3a Date 20210424]
[MSG:Compiled with ESP32 SDK:v3.3.5-1-g85c43024c]
[MSG:Using machine:Test Drive – Demo Only No I/O!]
[MSG:Axis count 3]
[MSG:Timed Steps]
[MSG:Init Motors]
[MSG:No spindle]

[MSG:Local access point GRBL_ESP started, 192.168.0.1]
[MSG:Captive Portal Started]
[MSG:HTTP Started]
[MSG:TELNET Started 23]

Grbl 1.3a [‘$’寻求帮助]
<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>`

PlatformIO编译:

`ets 2016 年 6 月 8 日 00:22:57

rst:0x1(POWERON_RESET),boot:0x13(SPI_FAST_FLASH_BOOT)
configsip:0,SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
模式:DIO,时钟div: 2
加载:0x3fff0018,len:4
加载:0x3fff001c,len:1044
加载:0x40078000,len:10124
加载:0x40080400,len:5828
条目 0x400806a8`

我想编译不同的机器版本(而不是“test_drive”)并需要 PlatformIO 才能工作。任何帮助表示赞赏。

谢谢

罗杰

=======================

请回答以下问题:

您是否阅读过有关如何编译的维基百科? 是的 您使用的是什么版本的 Arduino IDE
? 1.8.13您使用的是用于 ESP32 的 Arduino 内核的 哪个版本(提交日期) ? 2021 年 8 月 12 日 你在使用 Grbl_ESP32 的主分支吗? 是 您是否对固件进行了任何编辑或配置更改(列出)? 否 ,请在此处粘贴编译器错误文本:编译器 无错误

编译固件的问题:Arduino IDE v PlatformIO #955 Project487 添加了 把招工广告 需要额外注意标签 2021 年 8 月 16 日
编译固件的问题:Arduino IDE v PlatformIO #955

你用的是哪个分支?最新版本的 PlatformIO 似乎要求您将顶层文件中的设置更改board_build.flash_mode为“ board_build.flash_mode = dio” 。platformio.ini

编译固件的问题:Arduino IDE v PlatformIO #955
作者
项目487 评论了 2021 年 8 月 16 日  

你用的是哪个分支?最新版本的 PlatformIO 似乎要求您将顶层文件中的设置更改board_build.flash_mode为“ board_build.flash_mode = dio” 。platformio.ini

谢谢回复; 我会调查设置。

Grbl_ESP32
PlatformIO 主分支:Core 5.1.1 Home 3.3.4

更新:我将该行添加到 platformio.ini;仍然有同样的问题。

编译固件的问题:Arduino IDE v PlatformIO #955
作者

进一步更新。

尽管构建“成功”

Building in release mode
Retrieving maximum program size .pio/build/esp32dev/firmware.elf
Checking size .pio/build/esp32dev/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [          ]   4.0% (used 13224 bytes from 327680 bytes)
Flash: [==        ]  15.4% (used 201212 bytes from 1310720 bytes)
========================= [SUCCESS] Took 8.14 seconds =========================

似乎有一些错误似乎与该 /home/<user>/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c文件有关:

Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-spi.c.o
/home/<user>/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c: In function 'spiTransferBytesNL':
/home/<user>/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c:922:39: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
                 uint8_t * last_out8 = &result[c_longs-1];
                                       ^
/home/<user>/.platformio/packages/framework-arduinoespressif32/cores/esp32/esp32-hal-spi.c:923:40: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
                 uint8_t * last_data8 = &last_data;
                                        ^
Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-time.c.o
Compiling .pio/build/esp32dev/FrameworkArduino/esp32-hal-timer.c.o

这是我的 PlatformIO 环境问题、C 安装问题还是编程问题?可以修复吗?

谢谢

罗杰

编译固件的问题:Arduino IDE v PlatformIO #955

您添加了我提到的行,或者将已经存在的现有配置行更改为dio?配置行已经在该文件中,只是设置不同,你不应该在那里两次使用冲突的值。

我很确定上面的两个“警告”是可以忽略的。它们来自 platformio 代码,它们会在某个时候修复警告,但我认为底层代码仍然按预期工作。

确保执行Clean(单击垃圾桶)然后从 GIT 更新到最新版本,因为我认为 Devs 将最新的 Devt 构建推送到发布分支。

请弄清楚您是否仍在启动时遇到崩溃循环。

编译固件的问题:Arduino IDE v PlatformIO #955

这些警告来自正在使用 Platformio 编译器设置中更严格的警告设置进行编译的 Arduino 框架代码。它们可以被忽略——我们都明白。要“修复”它,您必须向维护 frameworkarduinoespressif32 的人投诉

编译固件的问题:Arduino IDE v PlatformIO #955
作者

感谢您的回复。

我删除了我的 grbl_esp32 git 本地存储库并重新克隆。我现在有一台成功的 test_drive 机器,希望现在能够创建我自己的机器。