Fatal Error on build Daisy example Blink

I have just installed all the tools and compiler on my windows 11 machine. Running 64 bit version. Downloaded the Daisyseed example repository and the DaisySP and libDaisy libraries. Loaded the Blink folder into VS Code and did build_all and get this…

make[1]: Entering directory ‘F:/Documents/electronics/DaisySeed pedal/DaisySeedProjects-1.1/DaisySeedProjects-1.1/Software/DaisyExamples/DaisySP/DaisySP-LGPL’
make[1]: Nothing to be done for ‘all’.
make[1]: Leaving directory ‘F:/Documents/electronics/DaisySeed pedal/DaisySeedProjects-1.1/DaisySeedProjects-1.1/Software/DaisyExamples/DaisySP/DaisySP-LGPL’
Building DaisySP-LGPL

  • Terminal will be reused by tasks, press any key to close it.

then tried to just build, and I get this…

rm -fR build
mkdir build
arm-none-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DUSE_HAL_DRIVER -DSTM32H750xx -DHSE_VALUE=16000000 -DCORE_CM7 -DSTM32H750IB -DARM_MATH_CM7 -DUSE_FULL_LL_DRIVER -include stm32h7xx.h -I…/…/libDaisy -I…/…/libDaisy/src/ -I…/…/libDaisy/src/sys -I…/…/libDaisy/src/usbd -I…/…/libDaisy/src/usbh -I…/…/libDaisy/Drivers/CMSIS/Include/ -I…/…/libDaisy/Drivers/CMSIS/DSP/Include -I…/…/libDaisy/Drivers/CMSIS/Device/ST/STM32H7xx/Include -I…/…/libDaisy/Drivers/STM32H7xx_HAL_Driver/Inc/ -I…/…/libDaisy/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I…/…/libDaisy/Middlewares/ST/STM32_USB_Host_Library/Core/Inc -I…/…/libDaisy/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc -I…/…/libDaisy/core/ -I…/…/DaisySP/Source -I…/…/libDaisy/Middlewares/Third_Party/FatFs/src -O2 -Wall -Wno-missing-attributes -fasm -fdata-sections -ffunction-sections -Wno-stringop-overflow -g -ggdb -MMD -MP -MF"build/startup_stm32h750xx.d" -std=gnu11 -Wa,-a,-ad,-alms=build/startup_stm32h750xx.lst …/…/libDaisy/core/startup_stm32h750xx.c -o build/startup_stm32h750xx.o
cc1.exe: fatal error: …/…/libDaisy/core/startup_stm32h750xx.c: Permission denied
compilation terminated.
make: *** […/…/libDaisy/core/Makefile:282: build/startup_stm32h750xx.o] Error 1

  • The terminal process “d:\Program Files\Git\bin\bash.exe ‘–login’, ‘-i’, ‘-c’, ‘make clean; make’” terminated with exit code: 2.
  • Terminal will be reused by tasks, press any key to close it.

Then I tried build_and_program_dfu and I get this…

rm -fR build
mkdir build
arm-none-eabi-gcc -c -mcpu=cortex-m7 -mthumb -mfpu=fpv5-d16 -mfloat-abi=hard -DUSE_HAL_DRIVER -DSTM32H750xx -DHSE_VALUE=16000000 -DCORE_CM7 -DSTM32H750IB -DARM_MATH_CM7 -DUSE_FULL_LL_DRIVER -include stm32h7xx.h -I…/…/libDaisy -I…/…/libDaisy/src/ -I…/…/libDaisy/src/sys -I…/…/libDaisy/src/usbd -I…/…/libDaisy/src/usbh -I…/…/libDaisy/Drivers/CMSIS/Include/ -I…/…/libDaisy/Drivers/CMSIS/DSP/Include -I…/…/libDaisy/Drivers/CMSIS/Device/ST/STM32H7xx/Include -I…/…/libDaisy/Drivers/STM32H7xx_HAL_Driver/Inc/ -I…/…/libDaisy/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -I…/…/libDaisy/Middlewares/ST/STM32_USB_Host_Library/Core/Inc -I…/…/libDaisy/Middlewares/ST/STM32_USB_Host_Library/Class/MSC/Inc -I…/…/libDaisy/core/ -I…/…/DaisySP/Source -I…/…/libDaisy/Middlewares/Third_Party/FatFs/src -O2 -Wall -Wno-missing-attributes -fasm -fdata-sections -ffunction-sections -Wno-stringop-overflow -g -ggdb -MMD -MP -MF"build/startup_stm32h750xx.d" -std=gnu11 -Wa,-a,-ad,-alms=build/startup_stm32h750xx.lst …/…/libDaisy/core/startup_stm32h750xx.c -o build/startup_stm32h750xx.o
cc1.exe: fatal error: …/…/libDaisy/core/startup_stm32h750xx.c: Permission denied
compilation terminated.
make: *** […/…/libDaisy/core/Makefile:282: build/startup_stm32h750xx.o] Error 1
dfu-util -a 0 -s 0x08000000:leave -D build/Blink.bin -d ,0483:df11
dfu-util 0.10

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2020 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util / Tickets

No such file or directory: Could not open file build/Blink.bin for reading
make: *** […/…/libDaisy/core/Makefile:344: program-dfu] Error 74

  • The terminal process “d:\Program Files\Git\bin\bash.exe ‘–login’, ‘-i’, ‘-c’, ‘make clean; make; make program-dfu’” terminated with exit code: 2.
  • Terminal will be reused by tasks, press any key to close it.

Any thoughts?

Have you tried compiling a new program, and/or editing one of the examples and then trying to rebuild?

The first error that you got from Make usually means that everything built successfully:

I have tried several programs and the result is always the same. The permission error for the startup_stm32h750xx.o file. I’m actually trying to build the Daisyseed guitar pedal program, but started with the Daisyseed examples first just to make sure everything is working.

I wonder if there’s something deep in your computer that’s causing the issue.
Do you have other computer at home (or friend’s) that you can try with?

If you do, please set up the environment following either this video or the wiki. And for now, please make sure that you set it up exactly the same and have no deviations. This is so that we’re on the same page and not have any variables.

OK I switched to a different computer and it does seem to be compiling now, but now I am getting some new errors. The reverb_module.h and crusher_module.h and reverb_delay_module.h are all reporting that ‘tone’ does not name a type. And reverb_module.h and reverb_delay_module.h report that ‘reverbsc’ does not name a type. I see that tone.h and tone.cpp do exist in the daisysp/daisysp-lgpl/sorce/filters folder. Now what? Both reverbSc and tone seem to have built and are in the build folder of the daisysp/daisysp-lgpl folder.

Nice! Glad to hear that it’s working :slight_smile:

As for your new issue, which firmware are you flashing? Is this something from DaisyExamples? Feel free to share more info.

This is going to sound stupid, but is there supposed to be a daisySP and libDaisy folder in the DaisyExamples folder and the guitarpedal folder which is in the DaisyExamples\seed folder? I think I need to change the guitarpedal c_cpp_properties.json and task.json to reflect the libraries locations but I’m unsure as to how. Can someone give explicit text as to what and where needs changed? The current location of the whole thing is…d:\DaisySeedpedal\DaisyExamples, then the guitarpedal folder is in seed. Thanks

OK changed the make file to reflect the actual directories and now its working, but not programming in the dfu mode. I have a different look when I think I have put the seed into the boot mode. When I press the boot button then the reset button, the one led goes out and the other is on solid. I then tell SV Code to program-dfu and I get the following…

dfu-util -a 0 -s 0x90040000:leave -D build/guitarpedal.bin -d ,0483:df11
dfu-util 0.10

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2020 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Warning: Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device…
ID 0483:df11
Run-time device DFU version 011a
Claiming USB DFU Interface…
Setting Alternate Setting #0
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash "
Downloading element to address = 0x90040000, size = 139976
Last page at 0x900622c7 is not writeable
make: *** […/…/libDaisy/core/Makefile:344: program-dfu] Error 74

I used the Daisy Web Programmer. I pick DFU in FS Mode -Paired from the connect menu then pick guitarpedal.bin from the build folder in the GuitarPedal folder and it will the erase and program. This takes maybe 30 to 45 seconds. When I do the task program-dfu from VS Code it takes about as long as it does to print out what you see above. So I don’t think it doing anything. The web programmer will switch out the seed when its done programing and I need to do the two button reset to put it back into dfu mode. The laptop, I can just keep running the program task with out ever doing the two button reset. Kind of why I don’t think its working. Now with all that said, I have programmed two from the web programmer, and they don’t seem to be running. The display is blank. I have yet to put a scope to them but I did meter the voltage going to the display, +3.2 volts DC. Another thing of note. I was trying to fix a power supply for the LED lights on my workbench and when I got back to the pedals and plugged in the two boards, they were doing a pulse on the one led and the other was on solid. Like they went back to the Blink program? I’m at a loss as where to go from here.

We would love to know what is the firmware that you’re trying to flash. Is it something you programmed, is it an algorithm that you found online, or are you following a tutorial somewhere?

And tell us more about the pedal itself too since you mentioned a display. Is it something you designed or did you reference a pedal platform that a community member designed like this one?

So this sounds like you flashed the Daisy Bootloader somewhere along the way.

That explains the following error and why you can flash without pressing the buttons:

I don’t know if I was clear or not, but it’s only when using the VS Code task of programing the seed. If I use your web based programmer it seems to do something. It says erasing, then copying the file to the seed. The file is the guitarpedal.bin complied with VS Code without errors. And with the bin file copied into the seed it just sits there, no display or activity as far as I can tell. If I copy the Blink.bin then that program will actually run and blink the LED.

You’re still not clear on what hardware you’re using, or exactly where you got the source code for guitarpedal.bin.

If it’s the pedal designed by @kshep, you need to first upload the Daisy Bootloader, then upload the guitarpedal.bin.

Yes it is the @kshep stuff. I did some more experimenting and found that I can program the Blink program from VS Code and it works. I still can’t program the pedal program though. I copied the c.cpp.properties.json and the task.json files from the Blink example into the guitarpedal folder to deal with the directory paths. Is not holding the boot button and then pressing the reset button putting it into the boot mode? I can hear my laptop recognize the device when doing this. Does this not enable the bootloader?

OK, looking at the @kshep directions he does talk about a bootloader, but I don’t seem to have that make file. Where can I get this make program-boot? I did type make program-boot into the terminal window and it does erase the device and programs it then resets it, back to flashing LED. I put it into boot mode again by holding the boot button and pressing the reset then try to program the seed, but same results, just does nothing.

OK this is from @kshep’s page.

. Build and Deploy the Code

By Default this project is configured to use the custom Boot Loader. To get up and running you’ll need to do the following:

  1. Put your Daisy Seed into DFU mode.:done!
  2. From the terminal, in the GuitarPedal folder run “make program-boot”:installs program
  3. Once this finishes installing the custom boot loader on the Daisy Seed, press the Reset button. The led will temporary blink for about 3 second.:about 10 blinks then a fadeing blink then repeats
  4. While the LED is blinking run “make program-dfu”: reports no dfu device found.
  5. That’s it!

It seems that when its done writing the bootloader it resets the seed, does the LED blinking fast then a slow fade then repeat. Trying to run program-dfu it just reports no device found, I am only powering the seed from the usb connector. Does it need to be powered some other way? I also programmed the bootloader into the seed from the web and it does the same thing.

OK, this is very confusing but I did manage to get the pedal programmed! It seemed that every time I did anything that reset the USB device on the computer I had to use zadig and reload the driver. I got the bootloader in, it reset itself, return it to boot mode, re-run zidag, then install the program. This was a lot harder than it should have been. The directions on both @kshep and electro-smith are not exact! At least on my laptop!

Blame the Windows USB driver system. It gets confused when a device can change its USB VID:PID without being unplugged.
Mac and Linux are more convenient .

It has been an experience for sure! I want to thank everyone that help me in my journey. I do a lot with Arduino and it has never been this hard. But it’s programmed and my son will have a Christmas present this year! I guess we will consider this matter closed!

1 Like

Glad folks were able to help you get things sorted out. Let me know if there is something I should add to the directions perhaps to clarify or make this process easier. This kind of tool chain stuff is always a pain in the butt and can be very specific to configurations on a local machine. I’m glad you got it working though!