开源改变世界!!

在 BTT SKR PRO 1.2 #60上进行测试

推推 grbl 2年前 (2022-10-23) 187次浏览 0个评论
关闭
甘布罗斯打开了这个问题 on 3 Feb· 22 条评论
关闭

在 BTT SKR PRO 1.2 上进行测试#60

甘布罗斯打开了这个问题 on 3 Feb· 22 条评论

注释

在 BTT SKR PRO 1.2 #60上进行测试
贡献者

甘布罗斯 评论 on 3 Feb

我有一个 BIGTREETECH SKR PRO V1.2 我正在尝试让 grbl 运行。

我尝试使用 platform.io 上的说明进行构建。所有已配置的环境都为该环境构建btt_skr_pro_1_1。哪个烦人是我需要的。

从主检出--recurse-submodules的构建我得到以下构建错误

$ pio run --environment btt_skr_pro_1_1
Processing btt_skr_pro_1_1 (board: genericSTM32F407VGT6; platform: ststm32; framework: stm32cube)
---------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/ststm32/genericSTM32F407VGT6.html
PLATFORM: ST STM32 (15.2.0) > STM32F407VG (128k RAM. 1024k Flash)
HARDWARE: STM32F407VGT6 168MHz, 128KB RAM, 1MB Flash
DEBUG: Current (stlink) External (jlink, stlink)
PACKAGES:
 - framework-stm32cubef4 1.26.2
 - tool-ldscripts-ststm32 0.2.0
 - toolchain-gccarmnoneeabi 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ off, Compatibility ~ soft
Found 80 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <bluetooth>
|-- <grbl>
|-- <keypad>
|-- <laser>
|-- <motors>
|-- <odometer>
|-- <spindle>
|-- <Core>
|-- <Class>
|-- <App>
|-- <Target>
|-- <eeprom>
Building in release mode
Compiling .pio/build/btt_skr_pro_1_1/FrameworkHALDriver/Src/stm32f4xx_hal.o
Compiling .pio/build/btt_skr_pro_1_1/FrameworkHALDriver/Src/stm32f4xx_hal_adc.o
Compiling .pio/build/btt_skr_pro_1_1/FrameworkHALDriver/Src/stm32f4xx_hal_adc_ex.o
Compiling .pio/build/btt_skr_pro_1_1/FrameworkHALDriver/Src/stm32f4xx_hal_can.o
... removed from brevity ... 
Compiling .pio/build/btt_skr_pro_1_1/lib715/grbl/wall_plotter.o
Compiling .pio/build/btt_skr_pro_1_1/lib7fe/keypad/keypad.o
Compiling .pio/build/btt_skr_pro_1_1/lib256/laser/coolant.o
Compiling .pio/build/btt_skr_pro_1_1/lib256/laser/ppi.o
Compiling .pio/build/btt_skr_pro_1_1/liba00/motors/trinamic.o
In file included from Inc/driver.h:119:0,
                 from keypad/keypad.c:26:
Inc/btt_skr_pro_v1_1_map.h:25:2: error: #error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
 #error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
  ^~~~~
*** [.pio/build/btt_skr_pro_1_1/lib7fe/keypad/keypad.o] Error 1
In file included from Inc/driver.h:119:0,
                 from laser/ppi.c:24:
Inc/btt_skr_pro_v1_1_map.h:25:2: error: #error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
 #error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
  ^~~~~
*** [.pio/build/btt_skr_pro_1_1/lib256/laser/ppi.o] Error 1
In file included from Inc/driver.h:119:0,
                 from laser/coolant.c:24:
Inc/btt_skr_pro_v1_1_map.h:25:2: error: #error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
 #error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
  ^~~~~
*** [.pio/build/btt_skr_pro_1_1/lib256/laser/coolant.o] Error 1
In file included from Inc/driver.h:119:0,
                 from motors/trinamic.c:25:
Inc/btt_skr_pro_v1_1_map.h:25:2: error: #error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
 #error "This board has STM32F407 processor with a 8MHz crystal, select a corresponding build!"
  ^~~~~
*** [.pio/build/btt_skr_pro_1_1/liba00/motors/trinamic.o] Error 1
============================================ [FAILED] Took 20.85 seconds ============================================

Environment      Status    Duration
---------------  --------  ------------
btt_skr_pro_1_1  FAILED    00:00:20.853
======================================= 1 failed, 0 succeeded in 00:00:20.853 =======================================

更改-D HSE_VALUE=25000000-D HSE_VALUE=8000000确实使其能够构建。
8000000 条接缝更符合 8MHz 晶振注释。

我已将firmware.bin 复制到SD 卡并刷新了板,但它在Windows 中没有作为USB 串行端口出现。

你能建议下一步尝试吗?

在 BTT SKR PRO 1.2 #60上进行测试
贡献者作者

甘布罗斯 评论 on 3 Feb

好的,所以我取得了更多进展。

在#46的一些评论之后,
我也更改board_build.ldscript = STM32F407VGTX_FLASH.ldboard_build.ldscript = STM32F407VGTX_BL32K_FLASH.ld
并替换-D VECT_TAB_OFFSET=0x8000-D HAS_BOOTLOADER

我也设置了-D USB_SERIAL_CDC=1

这导致我通过 USB 串行成功连接到开发板。

在 BTT SKR PRO 1.2 #60上进行测试
贡献者作者

甘布罗斯 评论 2月6日

btt_skr_pro_v1_1_map.h定义为 GPIOG4 的 RESET_PIN注释为 E0 限制。
这不是 E0 限制引脚。即GPIOE15
G4 在 EXP1 插座中。

进给保持和循环启动引脚也未映射到 e1 和 e2 限制的注释。

@terjeio你会接受 PR 来修复这些映射以匹配评论吗?即 E0、E1 和 E2 引脚。

在 BTT SKR PRO 1.2 #60上进行测试
贡献者

特热约 评论 2月6日

你会接受 PR 来修复这些映射吗

是的,请。我依赖社区对许多板的反馈,因为我自己无法验证地图——而且我不会仅仅为了验证而购买它们。

在 BTT SKR PRO 1.2 #60上进行测试
贡献者作者

甘布罗斯 评论 2月7日

我一直在测试更新映射。将复位和循环启动引脚更新为 E0 和 E2 限制引脚是一种享受。

但是将馈送保持引脚更新为 GPIOE10(E1 限制)给了我一个编译错误。

Src/driver.c:109:2: error: #error Interrupt enabled input pins must have unique pin numbers!
 #error Interrupt enabled input pins must have unique pin numbers!
  ^~~~~
*** [.pio/build/btt_skr_pro_1_1/src/driver.o] Error 1

该错误没有提供任何关于使用相同引脚的线索,所以我对如何解决这个问题有点茫然。

btt_skr_pro_v1_1_map.h如果 N_ABC_MOTORS 大于 0,则映射此引脚,但在btt_skr_2_tmc2130构建配置中并非如此。我通过尝试在删除此部分的情况下进行构建来检查这是否没有导致此问题。

所以我的问题是:

  1. 如何解决引脚冲突?
  2. 如果 N_ABC_MOTORS > 0 将与它发生冲突,则映射重置、进给保持和循环启动到 E0、1、2 限位开关是否正确。
  3. 作为 CNC 新手,是否有任何关于复位、进给保持和循环启动引脚实际用途/用途的良好参考资料。
在 BTT SKR PRO 1.2 #60上进行测试
贡献者

特热约 评论 2月7日

该错误没有提供任何关于使用相同引脚的线索,所以我对如何解决这个问题有点茫然。

您必须检查映射文件才能找到,搜索 10 – 它是映射到启用中断中断的引脚功能的不同引脚。

如何解决引脚冲突?

通过没有将具有相同引脚编号的两个引脚映射到需要启用中断的引脚功能。这是 STM32 架构的限制。一个选项是不断轮询冲突的引脚 – 但我不喜欢那个选项。

如果 N_ABC_MOTORS > 0 将与它发生冲突,则映射重置、进给保持和循环启动到 E0、1、2 限位开关是否正确。

如果这是关于将任何给定的引脚映射到两个功能,那么不,那不是正确的做法。

作为 CNC 新手,是否有任何关于复位、进给保持和循环启动引脚实际用途/用途的良好参考资料。

进给保持和循环启动

与冷启动或 MCU 复位相比,复位以更简单的方式复位控制器。运动、主轴和冷却液在复位时停止 – 一些数据可能会保持不变,例如位置和归位状态,具体取决于复位时发生的情况。grblHAL 具有比传统 grbl 保留更多数据的“更软”版本。这称为停止,复位输入可以“接线”为内部复位信号或停止信号。

在 BTT SKR PRO 1.2 #60上进行测试
贡献者作者

甘布罗斯 评论 2月8日

如果我对您的理解正确,您是说无论端口如何,引脚都必须是唯一的。

因此对于 PB10 上具有 X 限位开关和 PE10 上具有 E1 限位开关的 SKR PRO 板。这不受支持,因此一个物理引脚需要保持未使用状态。

在 BTT SKR PRO 1.2 #60上进行测试
贡献者

特热约 评论 2月8日

如果我对您的理解正确,您是说无论端口如何,引脚都必须是唯一的。

是的,这取决于 MCU 的制造方式(EXTI 控制器)。

因此对于 PB10 上具有 X 限位开关和 PE10 上具有 E1 限位开关的 SKR PRO 板。这不受支持,因此一个物理引脚需要保持未使用状态。

只有一个可以中断使能,因此用于硬限位检测,归位是可以的。可以添加代码来轮询输入。我称之为设计错误,LPC176x 3D 打印机板更糟糕——可能是因为 Marlin 不支持硬限制?

在 BTT SKR PRO 1.2 #60上进行测试
贡献者作者

甘布罗斯 评论 2 月 9 日

我创建了#61,它将控制信号映射到 EXP2 端口中的引脚。

这些不像限制引脚那样容易跳到地面,因此可能需要反转控制信号才能运行。

在 BTT SKR PRO 1.2 #60上进行测试

你使用的是SD卡固件上传方式吗?我正在使用 STlink。能够编译和刷新 grbl-Hal,但在计算机上未检测到串行。我错过了一步吗?

在 BTT SKR PRO 1.2 #60上进行测试
贡献者作者

甘布罗斯 评论 3月3日

是的,我使用 SD 卡上传固件。

除了为 SD 上传正确获取固件偏移量的更改之外,我还必须定义USB_SERIAL_CDC使 USB 上的串行工作。

在 BTT SKR PRO 1.2 #60上进行测试

啊,我明白了。我假设使用 stlink 时偏移量不同?我试图弄清楚我的问题是否与串行通信或闪烁过程有关。我已经在我的测试中包含了那个 USB_SERIAL_CDC 参数。

在 BTT SKR PRO 1.2 #60上进行测试
贡献者

特热约 评论 3月4日

啊,我明白了。我假设使用 stlink 时偏移量不同?

是的,当使用 ST-link 闪烁时,您正在覆盖引导加载程序并且没有偏移。

我试图弄清楚我的问题是否与串行通信或闪烁过程有关。

如果您使用错误的偏移量闪烁,则代码将无法运行。你是用STM32CubeIDE编译的吗?如果是这样,您必须从构建工具(锤子图标)中选择正确的构建 – “Release F407 8Mhz”(或相应的调试构建)。

在 BTT SKR PRO 1.2 #60上进行测试

我实际上使用 platformio 来用 stlink 刷新板。一切编译和上传成功。

是否有一些功能需要使用 STM32CubeIDE?

在 BTT SKR PRO 1.2 #60上进行测试

再一次问好。我已经切换回 SD 卡上传方法,但仍然无法通过 USB 进行通信。它编译,我已经验证firmware.bin上传正确。我已按照您的步骤前往 T,但仍然遇到问题。我还在 STM32CubeIDE 上编译了它并得到了相同的结果……这让我相信我错过了一步。这是在我的 .ini 文件中设置环境的方式:

[env:btt_skr_pro_1_1]
board = genericSTM32F407VGT6
board_build.ldscript = STM32F407VGTX_BL32K_FLASH.ld
build_flags = ${common.build_flags}
  # See Inc/my_machine.h for options
  -D BOARD_BTT_SKR_PRO_1_2=
  # 8MHz crystal
  -D HSE_VALUE=8000000
  -D HAS_BOOTLOADER
  -D USB_SERIAL_CDC=1
lib_deps = ${common.lib_deps}
  eeprom
lib_extra_dirs = ${common.lib_extra_dirs}

@gambrose,我检查了你的前叉,没有发现我们的设置有任何差异。还有什么我想念的吗?

在 BTT SKR PRO 1.2 #60上进行测试
贡献者作者

甘布罗斯 评论 3月22日

@CobraPi
由于您之前一直在使用臭味来刷新电路板,因此您可能已经擦除了标准引导加载程序。

在 BTT SKR PRO 1.2 #60上进行测试

@gambrose我在网上找到了原始引导加载程序,并用 STLink 刷新了它。我已经通过 SD 卡将 Klipper 固件刷新到板上进行了验证,没有任何问题。您是否对驱动程序文件或映射文件进行了任何其他更改?

在 BTT SKR PRO 1.2 #60上进行测试
贡献者作者

甘布罗斯 评论 3月22日

@CobraPi恐怕不会,你看起来已经拥有了我所做的所有改变。

在 BTT SKR PRO 1.2 #60上进行测试

@gambrose好的,在这种情况下,我会继续进行故障排除。与 Arduino 相比,您连接到串行接口的方式有什么不同吗?

你如何连接到电路板?

在 BTT SKR PRO 1.2 #60上进行测试
贡献者

特热约 评论 3月23日

与 Arduino 相比,您连接到串行接口的方式有什么不同吗?

不,板应该像 Arduino 板一样显示为 com 端口。

你在 Windows 上吗?如果是这样,连接板时可用的 com 端口是否存在差异(在设备管理器中检查)?如果没有,则添加一些代码,例如 this,以查看板是否处于活动状态或使用 Eclipse/ST-Link 进行调试。

在 BTT SKR PRO 1.2 #60上进行测试

我错过了 USB 跳线……真是个愚蠢的错误。我真的很喜欢扩展功能!也能够让它与 ST-link 一起工作。谢谢你们的帮助。

在 BTT SKR PRO 1.2 #60上进行测试

将固件上传到开发板后,我遇到了一个奇怪的错误。我正在使用 platformio 和 SD 卡上传方法。我也尝试过使用 ST 链接,但得到了同样的错误。奇怪的是它以前可以工作。这是我得到的错误:

GrblHAL 1.1f ['$' or '$HELP' for help]
ALARM:16
[MSG:Fatal: Incompatible driver (4)]

这个错误的根源是什么?这可能是由硬件问题引起的吗?

在 BTT SKR PRO 1.2 #60上进行测试
贡献者

特热约 评论 4月13日

这个错误的根源是什么?

我最好的猜测是您已经更新到更高版本而没有拉入 submodules

喜欢 (0)

您必须 登录 才能发表评论!