USBDM should be able to unsecure a Kinetis device providing the unsecure function has not been disabled. There may be some connection problems due to watchdog issues etc but I have not seen these with an entirely blank chip. There are issues if the device has been programmed with invalid information.
I don't have a pristine device to test with. The only devices I have, have been previously programmed. The best test I can do is to erase a chip and re-program it to a secured state. USBDM works OK with this. I believe Freescale distribute the chips in an unsecured condition.
I'm unsure what situation is causing the program.
If you have the patience you can use the attached script to try to see what is going wrong with the mass erase of the device.
PS. The forum doesn't like the attachment - which is not surprising since it's a script that could potentially do anything to your machine!
openbdm
settarget arm
source devicedata/arm/Kinetis-KLxx-flash-scripts.tcl
massEraseTarget
closebdm
# Expected successful results for a secured chip (mass erase not disabled)
#
# Found 1 devices
# USBDM DLL Version = 4.10.5.0
# BDM Version = HW=97, SW=4A
# USBDM DLL Version = 4.10.5.0
# BDM Version = HW=97, SW=4A
# :setTarget ARM
# bytesex => Little-endian
# :pinSet 0x8
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000000
# :wCreg r=0x1000004(MDM_AP.Control)<-0x00000019
# :wCreg r=0x1000004(MDM_AP.Control)<-0x00000011
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000010
# :wCreg r=0x1000004(MDM_AP.Control)<-0x00000000
# :reset 0x08(SOFTWARE, SPECIAL)
# %
# Expected unsuccessful results for a secured chip (mass erase disabled)
# % source try.tcl
# Found 1 devices
# USBDM DLL Version = 4.10.5.0
# BDM Version = HW=97, SW=4A
# USBDM DLL Version = 4.10.5.0
# BDM Version = HW=97, SW=4A
# :setTarget ARM
# bytesex => Little-endian
# :pinSet 0x8
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000000
# :wCreg r=0x1000004(MDM_AP.Control)<-0x00000019
# :wCreg r=0x1000004(MDM_AP.Control)<-0x00000011
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :rCreg r=0x1000004(MDM_AP.Control)->0x00000001
# :wCreg r=0x1000004(MDM_AP.Control)<-0x00000001
# :reset 0x08(SOFTWARE, SPECIAL)
# Flash mass erase failed
# %