开源改变世界

错误:预期标识符 #83

推推 grbl 3年前 (2023-02-08) 223次浏览
关闭
duinzicht8 打开了这个问题 2022 年 7 月 25 日 · 4条评论
关闭

错误:预期标识符#83

duinzicht8 打开了这个问题 2022 年 7 月 25 日 · 4条评论

评论

错误:预期标识符 #83

你好,

jan@jan-LubuntuESP32:~/STM32F4xx$ /home/jan/.platformio/penv/bin/platformio run –environment nucleo_f446re_protoneer
处理nucleo_f446re_protoneer (board: nucleo_f446re; platform: ststm32; framework: stm32cube)

可以通过-v, --verbose选项
配置启用详细模式:https
://docs.platformio.org/page/boards/ststm32/nucleo_f446re.html 平台:ST STM32 (15.4.1) > ST Nucleo F446RE
硬件:STM32F446RET6 180MHz,128KB RAM,512KB闪存
调试:当前(stlink)板载(stlink)外部(blackmagic、cmsis-dap、jlink)包

  • 框架-stm32cubef4 @ 1.26.2
  • 工具-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
    找到 80 个兼容库
    扫描依赖.. .
    依赖关系图
    |– 蓝牙
    |– grbl
    |– 键盘
    |– 激光
    |– 电机
    |– 里程表
    |– 主轴
    |– 核心
    |– 类
    |– 应用程序
    |– 目标
    |– eeprom
    以发布模式
    构建 编译 .pio/build/nucleo_f446re_protoneer/lib32f/grbl
    /maslow.o
    编译.pio/build/nucleo_f446re_protoneer/src/btt_skr_1.1.o
    编译.pio/build/nucleo_f446re_protoneer/src/btt_skr_2.0.o
    编译.pio/build/nucleo_f446re_protoneer/src/diskio.o
    编译.pio/build/nucleo_f446re_protoneer /src/driver.o
    编译.pio/build/nucleo_f446re_protoneer/src/i2c.o
    编译.pio/build/nucleo_f446re_protoneer/src/ioports.o
    编译.pio/build/nucleo_f446re_protoneer/src/main.o
    src/driver.c :1235:28: 错误:在 ‘.’ 之前需要 ‘)’ 令牌
    spindle_update_caps(hal.spindle.cap.variable);
    ^
    Src/driver.c:1237:5: error: expected identifier or ‘(‘ before ‘return’
    return true;
    ^~~~~~
    Src/driver.c:1238:1: 错误:预期标识符或 ‘(‘ 在 ‘}’ 标记之前
    }
    ^
    Src/driver.c: 在函数 ‘spindleConfig’ 中:
    Src/driver.c:1229:5: 警告:控制到达非空函数的末尾[-Wreturn-type]
    }
    ^
    编译.pio/build/nucleo_f446re_protoneer/src/serial.o
    *** [.pio/build/nucleo_f446re_protoneer/src/driver.o]错误1
    === ===============================================================================================================================2.57秒 ================================================

环境状态持续时间


nucleo_f446re_protoneer 失败 00:00:02.573
=========================================== 1 失败,0 成功 00:00:02.573 ======================================= ====
jan@jan-LubuntuESP32:~/STM32F4xx$

错误:预期标识符 #83
贡献者

核心版本与驱动不同步?

错误:预期标识符 #83 terjeio 从 grblHAL/ESP32 转移了这个问题 2022 年 7 月 25 日
错误:预期标识符 #83
作者

今天全部下载

jan@jan-LubuntuESP32:~$ git clone https://github.com/grblHAL/STM32F4xx.git

克隆到“STM32F4xx”…
远程:枚举对象:1156,完成。
远程:计数对象:100% (570/570),完成。
远程:压缩对象:100% (98/98),完成。
远程:总计 1156(增量 503),重复使用 493(增量 472),打包重复使用 586
接收对象:100%(1156/1156),1.96 MiB | 6.48 MiB/s,完成。
解析增量:100% (723/723),完成。

jan@jan-LubuntuESP32:~$ cd STM32F4xx

jan@jan-LubuntuESP32:~/STM32F4xx$ cp -R ~/STM32F4xx/core/* ~/STM32F4xx/grbl

jan@jan-LubuntuESP32:~/STM32F4xx$ /home/jan/.platformio/penv/bin/platformio run –list-targets

环境组名称标题说明


nucleo_f446re_protoneer 平台上传 上传

nucleo_f446re_morpho_cnc 平台上传 上传

btt_skr_2_tmc5160 平台上传 上传

btt_skr_pro_1_1 平台上传 上传

fysetc_s6_tmc2209 平台上传 上传

fysetc_s6 平台上传 上传

btt_skr_2_tmc2130 平台上传 上传

nucleo_f411re_protoneer 平台上传 上传

blackpill_f411ce 平台上传 上传

nucleo_f411re_morpho_cnc 平台上传 上传

jan@jan-LubuntuESP32:~/STM32F4xx$ /home/jan/.platformio/penv/bin/platformio run –environment nucleo_f446re_protoneer

处理nucleo_f446re_protoneer(开发板:nucleo_f446re;平台:ststm32;框架:stm32cube)

可以通过-v, --verbose选项
配置启用详细模式:https
://docs.platformio.org/page/boards/ststm32/nucleo_f446re.html 平台:ST STM32 (15.4.1) > ST Nucleo F446RE
硬件:STM32F446RET6 180MHz,128KB RAM,512KB闪存
调试:当前(stlink)板载(stlink)外部(blackmagic、cmsis-dap、jlink)包

  • 框架-stm32cubef4 @ 1.26.2
  • 工具-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
    找到 80 个兼容库
    扫描依赖.. .
    依赖关系图
    |– 蓝牙
    |– grbl
    |– 键盘
    |– 激光
    |– 电机
    |– 里程表
    |– 主轴
    |– 核心
    |– 类
    |– 应用程序
    |– 目标
    |– eeprom
    在发布模式 下
    构建

    编译.pio/build/nucleo_f446re_protoneer/lib32f/ grbl
    /
    corexy.o
    /nucleo_f446re_protoneer/lib32f/grbl/grbllib.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/ioports.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/limits.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/ grbl/maslow.o
    编译 .pio/build/nucleo_f446re_protoneer/lib32f/grbl/motion_control.o
    编译 .pio/build/nucleo_f446re_protoneer/lib32f/grbl/my_plugin.o
    编译 .pio/build/nucleo_f446re_protoneer/lib32f/grbl/ngc_expr.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/ grbl
    /
    ngc_params.o
    /nucleo_f446re_protoneer/lib32f/grbl/override.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/pid.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/planner.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/ grbl/protocol.o
    编译 .pio/build/nucleo_f446re_protoneer/lib32f/grbl/regex.o
    编译 .pio/build/nucleo_f446re_protoneer/lib32f/grbl/report.o
    编译 .pio/build/nucleo_f446re_protoneer/lib32f/grbl/settings.o
    grbl/settings.c: 在函数 ‘setting_get_group_details’ 中:
    grbl/settings.c:2011:24: 警告:赋值从指针目标类型 [-Wdiscarded-qualifiers]
    detail = &details->groups[idx] 中丢弃 ‘const’ 限定符;
    ^
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/sleep.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/spindle_control.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/state_machine.o
    编译.pio/
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/stepper.o 编译.pio/build/nucleo_f446re_protoneer/lib32f/
    grbl /
    stream.o /grbl/tool_change.o
    编译.pio/build/nucleo_f446re_protoneer/lib32f/grbl/wall_plotter.o
    编译.pio/build/nucleo_f446re_protoneer/lib21f/App/usbd_cdc_if.o
    编译.pio/build/nucleo_f446re_protoneer/src/btt_skr_1.1.o
    编译.pio/build /nucleo_f446re_protoneer/src/btt_skr_2.0.o
    编译
    _
    _
    _ .pio/build/nucleo_f446re_protoneer/src/i2c.o
    Src/driver.c:1235:28: error: expected ‘)’ before ‘.’ 令牌
    spindle_update_caps(hal.spindle.cap.variable);
    ^
    Src/driver.c:1237:5: 错误:预期标识符或 ‘(‘ 在 ‘return’ 之前

    ^~~~~~
    Src/driver.c:1238:1: error: expected identifier or ‘(‘ before ‘}’ token
    }
    ^
    Src/driver.c: 在函数 ‘spindleConfig’:
    Src/driver.c:1229 :5:警告:控制到达非空函数的结尾[-Wreturn-type]
    }
    ^
    编译.pio/build/nucleo_f446re_protoneer/src/ioports.o
    *** [.pio/build/nucleo_f446re_protoneer/src/driver.o ] 错误1
    =============================================== = [失败] 耗时 2.65 秒 =========================================== =====

环境状态持续时间


nucleo_f446re_protoneer 失败 00:00:02.655
=========================================== 1 失败,0 成功 00:00:02.655 ======================================= ====
jan@jan-LubuntuESP32:~/STM32F4xx$

错误:预期标识符 #83
贡献者

好吧,毕竟有一个 bug 潜伏着——当映射文件中没有定义主轴 PWM 输出时,它就会出现。抱歉没有早点发现。

更改这些行:

STM32F4xx/Src/driver.c

第 1224 至 1229 行 d4b3e9c

}否则{
如果(pwmEnabled)
哈尔。主轴set_state (( spindle_state_t ){ 0 }, 0 . 0f );
#endif // SPINDLE_PWM_TIMER_N
哈尔。主轴set_state = 主轴设置状态;
}

 

到:

    } else {
        if(pwmEnabled)
            hal.spindle.set_state((spindle_state_t){0}, 0.0f);
#endif // SPINDLE_PWM_TIMER_N
        hal.spindle.set_state = spindleSetState;
#ifdef SPINDLE_PWM_TIMER_N
    }
#endif
错误:预期标识符 #83
作者

我认为它现在有效!

jan@jan-LubuntuESP32:~/STM32F4xx$ /home/jan/.platformio/penv/bin/platformio run –environment nucleo_f446re_protoneer

处理nucleo_f446re_protoneer(开发板:nucleo_f446re;平台:ststm32;框架:stm32cube)

可以通过-v, --verbose选项
配置启用详细模式:https
://docs.platformio.org/page/boards/ststm32/nucleo_f446re.html 平台:ST STM32 (15.4.1) > ST Nucleo F446RE
硬件:STM32F446RET6 180MHz,128KB RAM,512KB闪存
调试:当前(stlink)板载(stlink)外部(blackmagic、cmsis-dap、jlink)包

  • 框架-stm32cubef4 @ 1.26.2
  • 工具-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
    找到 80 个兼容库
    扫描依赖.. .
    依赖关系图
    |– 蓝牙
    |– grbl
    |– 键盘
    |– 激光
    |– 电机
    |– 里程表
    |– 主轴
    |– 核心
    |– 类
    |– 应用程序
    |– 目标
    |– eeprom
    在发布模式下
    构建
    编译 .pio/build/nucleo_f446re_protoneer/src/
    driver.o
    编译.pio/build/ nucleo_f446re_protoneer
    / src/spi.o编译 _ _ _ _ /system_stm32f4xx.o 编译.pio/build/nucleo_f446re_protoneer/src/tmc_uart.o 编译.pio/build/nucleo_f446re_protoneer/src/usb_serial.o 编译.pio/build/nucleo_f446re_protoneer/FrameworkCMSISDevice/gcc/startup_stm32f446xx.o

    编译 .pio/build/nucleo_f446re_protoneer/FrameworkCMSISDevice/system_stm32f4xx.o
    存档 .pio/build/nucleo_f446re_protoneer/libFrameworkCMSISDevice.a
    索引 .pio/build/nucleo_f446re_protoneer/libFrameworkCMSISDevice.a
    链接 .pio/build/nucleo_f446re_protoneer
    大小检查/protoneer /build/nucleo_f446re_protoneer/firmware.elf
    高级内存使用情况可通过“PlatformIO Home > Project Inspect”获得
    RAM:[=] 8.6%(使用 131072 字节中的 11240 字节)
    闪存:[==] 22.1%(使用 524288 中的 115892 字节字节)
    构建.pio/build/nucleo_f446re_protoneer/firmware.bin
    ================================================ [成功] 用了 2.60 秒 ============================================== ==

环境状态持续时间


nucleo_f446re_protoneer 成功 00:00:02.602
=========================================== ===== 1 成功于 00:00:02.602 ===================================== ===========

jan@jan-LubuntuESP32:~/STM32F4xx$ /home/jan/.platformio/penv/bin/platformio run -v -e nucleo_f446re_protoneer –target 上传

处理nucleo_f446re_protoneer(board: nucleo_f446re; board_build.ldscript: STM32F411CEUX_FLASH.ld; build_flags: -I ., -I FatFS, -I Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc, -I Middlewares/ST/STM32_USB_Device_Library/Core/Inc , -I USB_DEVICE/Target, -D OVERRIDE_MY_MACHINE, -D BOARD_PROTONEER_3XX=, -D NUCLEO_F446=; lib_deps: 蓝牙, grbl, keypad, laser, motors, odometer, spindle, Core, Class, App, Target, eeprom; lib_extra_dirs: . , FatFS, Middlewares/ST/STM32_USB_Device_Library, USB_DEVICE; upload_protocol: stlink; platform: ststm32; platform_packages: framework-stm32cubef4 @ ~1.26.2; framework: stm32cube; lib_archive: False; lib_ldf_mode: off)

配置:https
://docs.platformio.org/page/boards/ststm32/nucleo_f446re.html 平台:ST STM32 (15.4.1) > ST Nucleo F446RE
硬件:STM32F446RET6 180MHz,128KB RAM,512KB Flash
DEBUG:Current (stlink)板载 (stlink) 外部 (blackmagic, cmsis-dap, jlink)
软件包:

  • 框架-stm32cubef4 @ 1.26.2
  • 工具-dfuutil @ 1.11.0
  • 工具-ldscripts-ststm32 @ 0.2.0
  • 工具-openocd @ 2.1100.211028 (11.0)
  • 工具-stm32duino @ 1.0.1
  • toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
    LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
    LDF Modes: Finder ~ off, Compatibility ~ soft
    找到 80 个兼容库
    扫描依赖.. .
    依赖图
    |– 蓝牙(许可证:未知,路径:/home/jan/STM32F4xx/bluetooth)
    |– grbl(许可证:未知,路径:/home/jan/STM32F4xx/grbl)
    |– 键盘(许可证:未知,路径:/home/jan/STM32F4xx/keypad)
    |– 激光(许可证:未知,路径:/home/jan/STM32F4xx/laser)
    |– 电机(许可证:未知,路径:/home/jan/STM32F4xx /motors)
    |– 里程表(许可证:未知,路径:/home/jan/STM32F4xx/odometer)
    |– 主轴(许可证:未知,路径:/home/jan/STM32F4xx/spindle)
    |– 内核(许可证:未知,路径:/home/jan/STM32F4xx/Middlewares/ST/STM32_USB_Device_Library/Core)
    |– 类(许可证:未知,路径:/home/jan/STM32F4xx/Middlewares/ST/STM32_USB_Device_Library/Class)
    |– 应用程序(许可证:未知,路径:/home/jan/STM32F4xx/USB_DEVICE/App)
    |– 目标(许可证: Unknown, Path: /home/jan/STM32F4xx/USB_DEVICE/Target)
    |– eeprom (License: Unknown, Path: /home/jan/STM32F4xx/eeprom)
    在发布模式下
    构建 MethodWrapper([“checkprogsize”], [” .pio/build/nucleo_f446re_protoneer/firmware.elf”])
    高级内存使用可通过“PlatformIO Home > Project Inspect”
    RAM 获得:[= ] 8。6%(使用了 131072 字节中的 11240 字节)
    闪存:[==] 22.1%(使用了 524288 字节中的 115892 字节)
    .pio/build/nucleo_f446re_protoneer/firmware.elf:
    部分大小 addr
    .isr_vector 452 134217728
    .text 85352 134250496
    .rodata 29552 134335.8104
    ARM 3.60
    .ARM 8 134365400
    .preinit_array 0 134365408
    .init_array 4 134365408
    .fini_array 4 134365412
    .data 98​​8 536870912
    .bss 10252 536871900
    ._user_heap_stack 163884 ARM
    553
    .comment 126 0
    .debug_frame 5428 0
    总计 148592
    ([“upload”], [“.pio/build/nucleo_f446re_protoneer/firmware.elf”])
    可用: blackmagic, cmsis-dap, jlink, mbed, stlink
    当前: upload_protocol = stlink
    openocd -d2 -s /home/jan/.platformio/packages/tool-openocd/scripts -f board/st_nucleo_f4.cfg -c “程序 {.pio/build/nucleo_f446re_protoneer/firmware.elf} 验证重置;关闭;”
    xPack OpenOCD x86_64 Open On-Chip Debugger 0.11.0+dev (2021-10-16-21:15) 已获得
    GNU GPL v2 许可
    有关错误报告,请阅读
    http://openocd.org/doc/doxygen/bugs.html
    debug_level : 2

信息:选定的传输接管了低级目标控制。结果可能与普通 JTAG/SWD
不同 srst_only separate srst_nogate srst_open_drain connect_deassert_srst

信息:时钟速度 2000 kHz
信息:STLINK V2J33M25 (API v2) VID:PID 0483:374B
信息:目标电压:3.266711
信息:stm32f4x.cpu:检测到 Cortex-M4 r0p1 处理器
信息:stm32f4x.cpu:目标有 6 个断点,4观察点
信息:在 3333 上为 stm32f4x.cpu 启动 gdb 服务器
信息:在端口 3333 上侦听 gdb 连接
信息:无法匹配请求的速度 2000 kHz,使用 1800 kHz
信息:无法匹配请求的速度 2000 kHz,使用 1800 kHz
目标因暂停而停止调试请求,当前模式:线程
xPSR:0x01000000 pc:0x0801ccfc msp:0x20020000
信息:无法匹配请求的速度 8000 kHz,使用 4000 kHz
信息:无法匹配请求的速度 8000 kHz,使用 4000 kHz
** 编程开始 **
信息:设备 ID = 0x10006421
信息:闪存大小 = 512 kbytes
信息:闪存写入在 0x080001c4 停止,下一节在 0x08008000
** 编程完成 **
** 验证开始 **
** 验证正常 **
* * 重置目标 **
信息:无法匹配请求的速度 2000 kHz,使用 1800 kHz
信息:无法匹配请求的速度 2000 kHz,使用 1800 kHz 已
调用关闭命令
================ =============================== [成功] 耗时 12.39 秒 ============= ==================================

环境状态持续时间


btt_skr_pro_1_1
IGNORED btt_skr_2_tmc2130
IGNORED btt_skr_2_tmc5160
IGNORED fysetc_s6
IGNORED fysetc_s6_tmc2209 IGNORED nucleo_f411re_morpho_cnc
IGNORED nucleo_f411re_protoneer
IGNORED nucleo_f446re_morpho_cnc
IGNORED
nucleo_f446re_protoneer SUCCESS 00:00:12.387
blackpill_f411ce IGNORED
========================= ======================= 1 在 00:00:12.387 中成功 =================== =============================
jan@jan-LubuntuESP32:~/STM32F4xx$