We are observing 3 different scenarios with three different Freescale USB-KW24D512 Dongles.
Below are the sequence of steps we have followed for installing the Boot Loader.
Step 1: After connecting the USB-KW24D512 dongle and j-link, navigated to the j-Link drive folder in the command prompt and gave the command jlink.exe and Unlock kinetis command is given.
Step 2: Connect command is given which on success displayed the information of the device connected.
Step 3: Read the data from the Location 0x400 - 0x40F.
Step 4: Loaded USB_MSD_Bootloader.bin file using the command loadbin USB_MSD_Bootloader.bin 0.
Out of all the three devices, For one device we have successfully installed the BootLoader. We observed the data at the locations between 0x400 to 0x40F are protected, which is FF FF FF FF FF FF FF FF FF FF FF FF FE FF FF FF.
.
Working USB-KW24D512 Device:
The device worked as expected and the data at the Readout protected memory locations are observed to be "FF FF FF FF FF FE FF FF FF". The boot loader sequence is completed successfully and a BootLoader Drive appears when the device is powered up.
Not working USB-KW24D512 Device 1:
It is observed in the Step 2 that the data at the locations between 0x400-0x40F are readout protected. And the data at those particular memory locations for this USB-KW24D512 device are different when compared with the data at the same memory locations for the USB-KW24D512 device which succeeded in installing the BootLoader.
So, Changed the data for this USB-KW24D512 device at those particular Memory locations and tried installing the Bootloader as specified in Step 4. but the process stopped with error "Timeout while erasing sectors. RAMcode did not respond in time unspecified error -1".
Not working USB-KW24D512 Device 2:
This USB-KW24D512 Device failed at step 4. The data at the locations between 0x400-0x40F are exactly same as that of the working device's data. But still the installation of BootLoader failed with error as shown in the screenshot.
Note: We tried to load Firmware into the Devices using Free scale BEE ToolKit , but we faced some issues and the same are raised in NXP community. Please check the following Link Failing to load firmware into USB-KW24D512(Error while identifying Cortex-M device) .
Please help us to know why the devices are behaving different and provide us the solution to load the kinetis FW into those boards.
Thanks.
Original Attachment has been moved to: Working_Device.zip
Original Attachment has been moved to: NotWorking_Device2.zip
Original Attachment has been moved to: NotWorking_Device1.zip
Hello Anil,
I have obtained 3 of the KW24 USB dongles and have completed testing. I am not a connectivity support person but I do know the Kinetis MCUs very well.
The first dongle I connected to with the 6.13a Segger Jflash GUI ended up with a similar memory pattern in it to what you showed on one of your devices.
I exited the GUI.
I was able to connect through the windows command window version of jlink (where I like to work) and to run the 'unlock kinetis' command or the 'erase kinetis' command. I had a few connection issue after I did an unlock. I would have to 'connect' again, and would read memory to verify the last action.
several other useful commands are halt, and go,
The dongles come with a binary that flashes the Blue connection LED. None of the other binaries I tried would start this same action. I tried the supplied file usbkw24d512_sniffer.bin and it programmed ok.
I extracted the binary from one and have attached it. It's called default_sniffer_code.bin.
You can program it directly with the jlink
You can verify the MCU by looking at the SIM-SIDD register (see reference manual for details) at address 0x40048024.
If you do a 'mem32 0x40048024 1' you should get back 0x40048024 = 00008265
If you don't see this then the MCU on the USB dongle is not the released version of the MCU.
Regards,
Philip
Hello Drake,
We tried loading one of our device(which is enumerating) with the binary you have provided,but it failed with error as shown in the screenshot. We also tried loading the binary you have provided on to the other two devices which are not even enumerating we are seeing the same issues what we had seen with other binaries.
How are the three replacement dongles working for you?
Philip
Hello Philip,
The dongles are working fine.
Thanks
Hello Anil,
Can you please confirm if you are able to successfully unlock the device (unlock kinetis) and load any other USB-KW24D512 demo application?
Have you tried using Device MKW24D512XXX5 (NO security)?
For this USB MSD, the application section should start at 0xC000.
Hi JC,
As per your suggestion,We tried using Device MKW24D512XXX5 (NO security) but it was of no use. we observed the same errors which we observed with Device MKW24D512XXX5 (Allow Security) for both of the USB-KW24D512 Devices.
Screen Shot of Device 1(No Security)
Screen Shot of Device 2(No Security)
We also tried Loading the Demo Application file(Black_Box.Srec) at the memory location 0xC000 on to the programmable USB-KW24D512 Device,(which succeeded to BootLoad). This failed while Verifying. Please check the screenshot below
We tried the same procedure even with Security as well but, it stopped with the same errors.
Please Check the logs attached
Note:
We tried loading the application through the Boot loading process as mentioned in https://community.nxp.com/docs/DOC-102539 only after we failed to load it through Freescale BEE tool-kit and the issue is mentioned in Failing to load firmware into USB-KW24D512(Error while identifying Cortex-M device) .
It would be a great help to get solution to make these dongles to work again in either Boot-Loading Mechanism or Free scale BEE-KIT[Preferable].
Hello Anil,
Tha application to load with the MSD USB must be compiled with the specific linker file as stated in USB-KW24D512 MSD Bootloader, did you compile your BlackBox.srec that way?
I'll try to reproduce this specific issue, it's not clear what happened with your devices. Did you already try unlocking and loading a generic binary without the bootloader (attached)?
> device MKW24D512xxx5
> unlock kinetis
> connect
(select SWD and default speed)
>loadbin C:/802.15.4_SnifferOnUSB.bin 0
After using the MKW24D512xxx5 (allow security) Target device, I think I was able to reproduce a similar situation. I had to close the JLink commander and disconnect the debugger probe and start over, that solved it from my side, can you please try that?
Also, please also try "erase" after unlocking and connecting to the device.
-JC
Hi JC,
As mentioned earlier that the issue is seen on three devices and only one among them is enumerating and we are able to flash the application on it successfully (But it is not working for the ZTC commands issued using Beekit tool). But when the same “SREC” file is loaded onto device using the Boot-loading mechanism it was observed to fail at programming.
Device 1: The one which is Enumerating
We tried loading the Demo applications (Application 1, Application 2) available with the installation of the Free-Scale Beekit (Test Tool 12).
Application1: KW24D512USB_Sniffer.srec
Sequence followed.
1. Interface the Dongle over JTAG to the host PC.
2. Run the JLink.exe over command prompt.
3. Issue command "Device MKW24D512XXX5"
4. Issue "Unlock Kinetis"
5. Issue "Connect"
6. Configuring Speed to the default values.
7. Loadbin KW24D512USB_Sniffer.srec 0
8. Downloading process is successful and the device is functioning well as the sniffer.
Note:
The downloading process is also observed to be successful when the same sequence is followed for the "802.15.4_SnifferOnUSB.bin" provided by you earlier.
Application 2: KW24D512USB_BlackBox_ZigBeePro.srec
The same above mentioned sequence of execution is followed for this Application, but it is observed to fail with same earlier reported issues.
Step (1-6): same as above
Step7 :
Trial1 <>Loadbin KW24D512USB_BlackBox_ZigBeePro.srec 0
Trial2 <>Loadbin KW24D512USB_BlackBox_ZigBeePro.srec 0xC000
It is observed to be the same error on both trials.
Device 2: The one which is not Enumerating but successful in erasing
Step (1-6): same as above
Step 7: Erase (It is observed to be successful)
Step 8: Loadbin KW24D512USB_Sniffer.srec 0 [Earlier reported error Observed]
Device 3: The one which is not Enumerating and also not successful in erasing
Step (1-6): same as above
Step 7: Erase (It is observed to be not successful).
Please check the logs attached
I just noticed that you are using the beta relase 6.13a of Segger tools, have you tried to use the released 6.12a version?
Regards,
Philip
So JC just pointed out that I was looking at the wrong USB dongle board.
Of course the KW24 dongle is a Cortex M4.
I have obtained a few units and will look into this more and get back with you.
Regards,
Philip