@kennethlimcp, what i am also confusing is the core-firmware.bin will be replaced by cc3000_patch.bin on the upon command line execution, the same, cc3000_patch.bin will aslo be replaced by deep_update.bin… then , the Spark core will not work without core-firmware.bin,
When you flash the CC3000 firmware, the user firmware is replaced with this. Same goes to deep_update.
Therefore, after patching the core, you will need to restore the original user firmware into it. Which explains why flashing core-firmware (actually any other user firmware is fine too) is a required step.
The :leave is not valid on older versions of dfu-util such as that in the Ubuntu repositories. If you find you are having a problem you might omit :leave in which case you will need to press the reset button yourself on the Core (or perhaps use the -e option).