Did i corrupt my sram (size option)?

i tried to upload a patch that exeded the 128kb flash. so i went for the “size” option.
first with plugdata and later with pd2dsyGUI. actually this used to work. later i tried to find its limits with many oscillators etc…
so now its stuck with an old patch. i can flash the bootloader with “size” option. but with “flash program” i allways get the error message:

Flashing Daisy...
Error: Last page at 0x900540f7 is not writeable
This probably means you're attempting
to write Daisy Bootloader programs to the
normal system bootloader (ROM option set to
size). If you want to flash programs to the
Daisy bootloader, ensure that you flash the
bootloader itself first.

and

dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash   "
Downloading element to address = 0x90040000, size = 82168
dfu-util: Last page at 0x900540f7 is not writeable
make: *** [../../../../libdaisy/core/Makefile:330: program-dfu] Fehler 64

even if the new patch is using only one phasor~ and dac~.
its like its trying to upload an bigger old cached version.
i reinstalled everthing.

flashing with “speed” option works fine.
i run everthing on arch based linux. and the latest versions.

is there a way to reset / flash the daisy to factory settings ?
and if its about some cached temponary files / settings - where are they located ?
of course i deleted the build files.

just tried it with another machine. so its not about old cached files.
“flash bootloader” option size works.
“flash program” option size fails.
and an old program keeps running after reset.

the old program (?) seem to be persistent in the sram.

what can i do ?

after pd2dsyGUI and plugdata v0.7.1 my test with pd2dsy:
simple phasor~ → dac~ patch

option size
python pd2dsy.py --board pod --rom size ../_patches/again.pd

Memory region         Used Size  Region Size  %age Used
           FLASH:          0 GB       128 KB      0.00%
         DTCMRAM:       16772 B       128 KB     12.80%
            SRAM:       86268 B       512 KB     16.45%
      RAM_D2_DMA:       16704 B        32 KB     50.98%
          RAM_D2:          0 GB       256 KB      0.00%
          RAM_D3:          0 GB        64 KB      0.00%
         ITCMRAM:          0 GB        64 KB      0.00%
           SDRAM:          0 GB        64 MB      0.00%
       QSPIFLASH:          0 GB      7936 KB      0.00%
dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash   "
Downloading element to address = 0x90040000, size = 86268
dfu-util: Last page at 0x900550fb is not writeable
make: *** [../libdaisy/core/Makefile:330: program-dfu] Fehler 64

option double_size
python pd2dsy.py --board pod --rom double_size ../_patches/again.pd

Memory region         Used Size  Region Size  %age Used
           FLASH:          0 GB       128 KB      0.00%
         DTCMRAM:          0 GB       128 KB      0.00%
            SRAM:       16772 B       512 KB      3.20%
      RAM_D2_DMA:       16704 B        32 KB     50.98%
          RAM_D2:          0 GB       256 KB      0.00%
          RAM_D3:          0 GB        64 KB      0.00%
         ITCMRAM:          0 GB        64 KB      0.00%
           SDRAM:          0 GB        64 MB      0.00%
       QSPIFLASH:       86268 B      7936 KB      1.06%
dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash   "
Downloading element to address = 0x90040000, size = 86268
dfu-util: Last page at 0x900550fb is not writeable
make: *** [../libdaisy/core/Makefile:330: program-dfu] Fehler 64

option speed
python pd2dsy.py --board pod --rom speed ../_patches/again.pd

Memory region         Used Size  Region Size  %age Used
           FLASH:       86440 B       128 KB     65.95%
         DTCMRAM:          0 GB       128 KB      0.00%
            SRAM:       16772 B       512 KB      3.20%
          RAM_D2:       16704 B       288 KB      5.66%
          RAM_D3:          0 GB        64 KB      0.00%
         ITCMRAM:          0 GB        64 KB      0.00%
           SDRAM:          0 GB        64 MB      0.00%
       QSPIFLASH:          0 GB         8 MB      0.00%
dfu-util: Warning: Invalid DFU suffix signature
dfu-util: A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 1024
DfuSe interface name: "Internal Flash   "
Downloading element to address = 0x08000000, size = 86440
Erase           [=========================] 100%        86440 bytes
Erase    done.
Download        [=========================] 100%        86440 bytes
Download done.
File downloaded successfully
Submitting leave request...
dfu-util: Error during download get_status
make: *** [../libdaisy/core/Makefile:330: program-dfu] Fehler 74

Hey robotnik!

That third post looks right, but I’ll include this here just in case.

Here are the steps that you can follow to get more comfortable with using the Daisy Bootloader with pd2dsyGUI.
I have set up a sine.pd (just [osc~ 440]) and phasor.pd (just [phasor~ 440] like what you have been doing) for testing purpose.

  1. Let’s flash the Daisy Bootloader first.
    I’ll set the RAM to Size and ROM to Size.
    Then, I go through the usual bootloader sequence (press and hold Boot, press and hold Reset, let go of Reset, and let go Boot). After that, click Flash Bootloader.
    After it’s flashed, you can tell that it worked by observing the LED being in grace mode (a slow fade in and fade out of the Daisy’s on-board LED).

  2. Let’s flash the sine.pd using the Daisy Bootloader next.
    Press and let got the Reset button and then immediately press and let go Boot (in order to extend the grace period) and then click Flash Program. Now we hear a sine tone beep! And the FLASH memory usage will be displayed as 0% in the terminal app that should’ve launched when you opened up pd2dsyGUI (and more SRAM and RAM_D2 are used instead).
    Extending the grace period with the Boot press helps.

  3. Let’s also try the phasor.pd with the Daisy Bootloader.
    Follow the same exact step as previous step but with phasor.pd selected. We should hear a buzz now and confirm that the FLASH memory usage is 0% again.

  4. Ok, let’s go back to using the FLASH memory.
    Change back the RAM to Speed and ROM to Speed. Then, I’ll select sine.pd.
    After going through the usual Bootloader sequence, click on Flash Program.
    We should hear a beep and then check that the Flash memory is used (it’s not 0%).

I hope this answers your question!

1 Like

i am sorry. i messed up the procedure: press and hold boot than reset, releasing reset than boot, press reset and than boot, flash program -oh dear.
so now its working

thank you

No worries at all! It becomes muscle memory eventually.

I’m glad to hear that it’s working :slight_smile:

Excellent. I’m so glad I found this info here. I’m new to Daisy Seed and PD and I wish I could have found this info last week. I spent countless hours trying to figure out how to make daisy seed record more than 2.5 seconds of audio for a simple loop playback. I figured out that I would need to place DS in bootloader mode but did not know how. I think this should be added to the readme.txt or some form of manual for using pd2dsy.

Welcome Adaerus!

It’s now even easier to use the Daisy Bootloader with Pure Data because of plugdata!
I haven’t personally had the chance to use it yet, but I keep hearing people having positive experience using the “Patch size” feature. :slight_smile:

Here is an overview of plugdata’s compile feature by dreamer: https://www.youtube.com/watch?v=XKohpWGTKsQ
I think there will be a video on Daisy bootloader in the near future.

With all that being said, yes, there should be more resource on this. I greatly appreciate your feedback.
I think this thread may be the only place I explained it outside of discord.
In the meantime, always feel free to ask questions here or on the discord server.

1 Like