(resolved) Error when using program-dfu with Diasy bootloader and the APP_TYPE = SRAM

update
To close on the rror where it was not able to write I updated my libDaisy, reran the make program-boot and this probelm was solved.

…below was the conversation…

Hello all,

I read through this page on the Daisy Bootloader: libDaisy: Getting Started - Daisy Bootloader

Here is what I have one so far:

  1. updated the Daisy Bootloader
  2. added APP_TYPE = SRAM to make file
  3. built to ensure SRAM use
  4. from the pallet (CTRL+P) in VSCode and I ran “task program-dfu”
  5. The Daisy device is in DFU boot mode via pressing the button on the Daisy device
  6. I end up with this error:
Downloading element to address = 0x90040000, size = 164832
Last page at 0x900683df is not writeable
make: *** [../libDaisy/core/Makefile:330: program-dfu] Error 74  

Any thoughts on this?

Thanks,
Brett

Here is the full set of logs:

*  Executing task: make program-dfu 

dfu-util -a 0 -s 0x90040000:leave -D build/SEQ.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 = 164832
Last page at 0x900683df is not writeable
make: *** [../libDaisy/core/Makefile:330: program-dfu] Error 74        

*  The terminal process "C:\Users\direc\AppData\Local\Programs\Git\bin\bash.exe '--login', '-i', '-c', 'make program-dfu'" terminated with exit code: 2. 
 *  Terminal will be reused by tasks, press any key to close it.

Note: I posted this on the Discord server Discord

Hello Brett!

It sounds like you either didn’t flash the Daisy Bootloader or don’t have it in the daisy bootloader mode when trying to flash your program.

Hello @Takumi_Ogata ,

I just went through and did all of the re-programming of the bootloader.

Here is the outcome from doing this:

Here is where I went to the bash shell and then:

  1. I did the “make program-boot”
direc@ELECTRON-DRIFT-MOBILE MINGW64 ~/OneDrive/Documents/Electro_jam/JamSandwich/SEQ (main)
$ make program-boot
dfu-util -a 0 -s 0x08000000:leave -D ../libDaisy/core/dsy_bootloader_v5_4.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/

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 = 0x08000000, size = 113716
Erase           [=========================] 100%       113716 bytes
Erase    done.
Download        [=========================] 100%       113716 bytes
Download done.
File downloaded successfully
Warning: Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Error during download get_status
make: *** [../libDaisy/core/Makefile:333: program-boot] Error 74

Not sure if the above error 74 matters, from reading other posts it does not seem to matter.

Here is where I do the “make program-dfu” when the Daisy Seed has the new bootloader running BUT not in the DFU mode via the button press. This does not work as expected because I am not in the correct boot mode.

direc@ELECTRON-DRIFT-MOBILE MINGW64 ~/OneDrive/Documents/Electro_jam/JamSandwich/SEQ (main)
$ make program-dfu
dfu-util -a 0 -s 0x90040000:leave -D build/SEQ.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!!!
Cannot open DFU device 0483:df11
No DFU capable USB device available
make: *** [../libDaisy/core/Makefile:330: program-dfu] Error 74

Here is the “make program-dfu” when the Daisy Seed is in the correct boot mode.

direc@ELECTRON-DRIFT-MOBILE MINGW64 ~/OneDrive/Documents/Electro_jam/JamSandwich/SEQ (main)
$ make program-dfu
dfu-util -a 0 -s 0x90040000:leave -D build/SEQ.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/

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 = 164832
Warning: Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Last page at 0x900683df is not writeable
make: *** [../libDaisy/core/Makefile:330: program-dfu] Error 74

I took a couple of short videos showing the LEDs on the Daisy after flashing the new boot loader. I can share those if needed as well. In the case of just resetting the Daisy Seed the LED does the 3 pulsing followed by about 9 flashes and then repeats the sequence. So I do believe the new boot loader is running.

Any other thoughts on this?

Yes, error 74 can be ignored. And please feel free to share videos of the LED to confirm that your Daisy has bootloader on it or not. It should be slowly glowing.

And just to recap the steps:
With your Daisy in the physical world, put it into bootloader mode (DFU in FS Mode) as usual by press and hold boot, press and hold reset, let go of reset, and let go of boot.
Then flash the Daisy bootloader to your Daisy!

Next, press and let go ‘reset’ and then press and let go ‘boot’. You should see your LED breath or slowly glow and fade repeatedly. This indicates that Daisy bootloader is ready.

Finally, you flash the program using the Daisy bootloader.

And as far as I remember, you do not need to flash the Daisy Bootloader Image every time.

@Takumi_Ogata ,

Yes, all of that works great now.

I have a diffrent set of question / clarification I’d like so I’ll start a different thread for that.

Thanks,
Brett

1 Like