Windows 10x64 Firmware Make Error

Hi,

Requesting Support for the following issue:
When running Terminal>Run Build Task from within the Workspace file in VSCode (or running make directly from the Firmware directory) in an attempt to build my source files, I receive the following error:

> Executing task in folder Firmware: make <

 [                           ETA~=??? Remaining=84 Active=8                           ]   0%Unable to retrieve WOW64 info
tup error: failed to inject dll: No such file or directory
 *** Command ID=361 failed: arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=6 -DHW_VERSION_VOLTAGE=24 -DUSB_
PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloa
t-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -O2 -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GC
C/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc
 -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Devic
e/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/obj/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_ll_usb.c.o
Unable to retrieve WOW64 info
tup error: failed to inject dll: No such file or directory
a [ble                           ETA~=??? Remaining=84 Active=7                           ]   0% to retrieve WOW64 info
tup error: failed to inject dll: No such file or directory
 *** Command ID=359 failed: arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=6 -DHW_VERSION_VOLTAGE=24 -D
USB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -m
float-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -O2 -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portabl
e/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core
/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/D
evice/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/obj/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_hal_pwr_ex.c.o
 [                           ETA~=??? Remaining=84 Active=6                           ]   0% *** Command ID=365 failed: arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src
/stm32f4xx_hal_tim_ex.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=6 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute_
_((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -O2
-ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Th
ird_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_
HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -
o build/obj/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_hal_tim_ex.c.o
Unable to retrieve WOW64 info
tup error: failed to inject dll: No such file or directory
 *** Command ID=335 failed: arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=6 -DHW_VERSION_VOLTAGE=24 -D
USB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -m
float-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -O2 -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portabl
e/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core
/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/D
evice/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/obj/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_hal_cortex.c.o
Unable to retrieve WOW64 info
tup error: failed to inject dll: No such file or directory
 *** Command ID=357 failed: arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=6 -DHW_VERSION_VOLTAGE=24 -DUSB
_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mflo
at-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -O2 -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/G
CC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/In
c -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Devi
ce/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/obj/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_hal_can.c.o
Unable to retrieve WOW64 info
tup error: failed to inject dll: No such file or directory
 *** Command ID=349 failed: arm-none-eabi-gcc -std=c99 -c Board/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=6 -DHW_VERSION_VOLTAGE
=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-
d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -O2 -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/p
ortable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Librar
y/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/C
MSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/obj/Board_v3_Middlewares_ST_STM32_USB_Device_Library_Core_Src_usbd_ioreq.c.o
Unable to retrieve WOW64 info
tup error: failed to inject dll: No such file or directory
 *** Command ID=355 failed: arm-none-eabi-gcc -std=c99 -c Board/v3/Src/stm32f4xx_hal_timebase_TIM.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=6 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DU
ART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -W
double-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -O2 -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/
v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlew
ares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Incl
ude -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/obj/Board_v3_Src_stm32f4xx_hal_timebase_TIM.c.o
U [na                           ETA~=??? Remaining=84 Active=5                           ]   0%ble to retrieve WOW64 info
tup error: failed to inject dll: No such file or directory
 [                           ETA~=??? Remaining=84 Active=1                           ]   0% *** Command ID=363 failed: arm-none-eabi-gcc -std=c99 -c Board/v3/Src/tim.c -DHW_VERSION_MAJOR=3 -
DHW_VERSION_MINOR=6 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405x
x -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -O2 -ffast-math -fno-finite-math-only -IBoard/v3/M
iddlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v
3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HA
L_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/obj/Board_v3_Src_tim.c.o
 [                           ETA~=??? Remaining=84 Active=0                           ]   0%
 *** tup: 8 jobs failed.
make: *** [Makefile:14: all] Error 1
The terminal process terminated with exit code: 1

Press any key to close the terminal.

Iā€™m new to the world of C/C++ compilers but would like to add a desired bit of functionality to the ascii_protocol.cpp file for my project.

Iā€™ve attempted to follow the firmware developers guide for Windows (Iā€™m on a Windows 10 x64 machine). The prerequisites have been installed and all environment variables have been added I believe (I can run --version on all of the pre-reqs).

When googling ā€œtup error: failed to inject dll: No such file or directoryā€ I see that tup may have issues with windowsx64 systems so I tried reinstalling all pre-reqs using the win32 variants but the error didnā€™t change.

Has anyone encountered this issue/know how to proceed from here.

Would be really nice to be able to modify my source code a teensy bit from the main releases.

Thanks,
Lewis

1 Like

Alternatively - could someone build the .elf file (flashing using ST-Link) for me using my modified ascii_protocol.cpp file :smiley:

Iā€™m running on CONFIG_BOARD_VERSION=v3.6-24V using Firmware Version 0.4.10 as my base.

My tup.config and modified ascii_protocol.cpp file can be found here

Lines 264 - 280 have been added to provide a means of calling .encoder.set_linear_count(value) using the ascii protocol.

This allows me to adjust the encoder.shadow_count value directly from my (Arduino/Teensy) controller over UART so that I can use an AMT203S absolute encoder to avoid index search at startup. Currently I have to read encoder.shadow_count, encoder.config.offset and then write an adjusted offset to encoder.config.offset based on an initial absolute encoder reading during initialization. This method works fine but requires my controller be powered on before the ODrive board and opens the door to issues if the controller is power-cycled but the ODrive isnā€™t (specifically the encoder.shadow_count value can become misaligned). It would be much simpler/more robust to just write the encoder.shadow_count value directly but the only way to do that is to call encoder.set_linear_count(value) which cannot be done using the released ascii_protocol.cpp, hence the revision.

Ideally I could do this myself - but until I get my compiling issues resolved it would be nice to have a working copy provided to meā€¦

Thanks a ton,
Lewis

1 Like

Woot - got everything to compile.
Perused some similar threads here and here (thanks @Lukkuch and @Riewert and @Isaac_Ben) and discovered that my tup32detect.exe file was being quarantined by our virus/security thread prevention service.

After getting the file recovered and whitelisted, replacing all prereqs with their 64bit variants (if available), updating environment variables/paths, recloning the 0.4.10 fw release, and restarting my pc I was able to run ā€˜makeā€™ in the firmware directory and build the binaries!

I donā€™t have my st-link handy today so I canā€™t verify that everything worked 100% but this is a positive development :slight_smile:

2 Likes

Flashed over the st-link without issue.
I feel so empowered now :slight_smile:

3 Likes