Hi,
I have 2 KL28Z for my startup projects, both are KL28Z512VLL7. I'm still very new to this board.
However, I'm facing a few weird issues as below:
Board 1:
My computer can't detect any disk drive after plugged in, the only disk drive that I'm able to detect is the bootloader.
Board 2:
Fortunately the disk drive able to get detected and from device manager it shows up as COM16.
But, I can't connect to the board even using the putty or teraterm terminal. I have set the baud rate to 115200 but still no luck.
Then, I installed KDS 3.2, SDK2.0 KL28Z downloaded from FRDM-KL28Z|Freedom Development Platform|Kinetis MCU|NXP & also JLink V6 etc. I imported hello_world demo project, compile and debug using Jlink. It can't even run and the program already dead when running startup.S file.
Is there anything that I can do? Maybe restore the boards or something else?
Looking forward for reply. I need to proceed & rushing for the deadline. Thanks in advance.
Solved! Go to Solution.
Hello Kai,
somehow your Windows 7 machine does things like a Windows 10 machine. Are you sure you never have connected the board to a Windows 10 machine?
Board 1 reacts as if there is no debug application loaded (see https://mcuoneclipse.com/2016/08/01/bricking_and_recovering_opensda_boards_in_windows_8_and_10/).
About serial connection: this is a UART-to-USB connection. So your KL28 has to communicate something to the UART. This is in the application domain, so your application on the KL28 has to do something on the UART.
I hope this helps,
Erich
Hello Kai,
what host operating system are you using? For board 1, what is the small green OpenSDA LED doing?
If you are using Windows 10, then this article (https://mcuoneclipse.com/2016/08/01/bricking_and_recovering_opensda_boards_in_windows_8_and_10/ ) might be helpful.
For the board 2: I believe the default application (factory installed) on the board does not communicate through the OpenSDA serial port, so you won't see any traffic there.
I hope this help,
Erich
Hi Erich,
I'm using Windows 7.
For board 1, the small green openSDA LED doesn't even light up, it only started to blink when I put it into bootloader mode.
For board 2, the openSDA LED doesn light up. Quoted this " I believe the default application (factory installed) on the board does not communicate through the OpenSDA serial port, so you won't see any traffic there." if default application does not communicate through openSDA, anything I can do to resolve it? Flashing some bootloader etc?
PS: Below are snapshot of my disk drive in normal mode & bootloader mode. The files inside looks strange.
PS2: I downloaded J-Link OpenSDA - Board-Specific Firmwares from segger.com for KL28Z.
Now both of my boards can enumerate disk drive in normal mode. But it doesn't solve the program issue when running Jlink debugging in KDS.
Thanks
Hello Kai,
somehow your Windows 7 machine does things like a Windows 10 machine. Are you sure you never have connected the board to a Windows 10 machine?
Board 1 reacts as if there is no debug application loaded (see https://mcuoneclipse.com/2016/08/01/bricking_and_recovering_opensda_boards_in_windows_8_and_10/).
About serial connection: this is a UART-to-USB connection. So your KL28 has to communicate something to the UART. This is in the application domain, so your application on the KL28 has to do something on the UART.
I hope this helps,
Erich
Hi Erich,
I can't confirm on whether they have connected to windows 10 OS before as I only received the boards from others few days ago, and the previous guys might have already did something on it thus causing it doesn't work as what I'm expected. And yes, I found your youtube video while I'm searching for possible recovery solutions. It works back after I downloaded FW from segger.com
Another issue is, I'm trying to run hello_world demo project on KL28Z but it doesn't work.
I have imported the project, build and debug with hello_world_frdmkl28z debug jlink. Somehow it just ended while running startup_MKL28Z7.s, the console will only reach until "Starting target CPU". Can you provide some advice on what is happening here?
I connected the board to my PC via mini-B at the openSDA port.
Thank you very much.
Log:
SEGGER J-Link GDB Server V6.00b Command Line Version
JLinkARM.dll V6.00b (DLL compiled Jul 27 2016 18:18:11)
-----GDB Server start settings-----
GDBInit file: none
GDB Server Listening port: 2331
SWO raw output listening port: 2332
Terminal I/O port: 2333
Accept remote connection: localhost only
Generate logfile: off
Verify download: on
Init regs on start: on
Silent mode: off
Single run mode: on
Target connection timeout: 0 ms
------J-Link related settings------
J-Link Host interface: USB
J-Link script: none
J-Link settings file: none
------Target related settings------
Target device: MKL28Z512xxx7
Target interface: SWD
Target interface speed: auto
Target endian: little
Connecting to J-Link...
J-Link is connected.
Firmware: J-Link OpenSDA 2 compiled Aug 1 2016 15:06:07
Hardware: V1.00
S/N: 621000000
Checking target voltage...
Target voltage: 3.30 V
Listening on TCP/IP port 2331
Connecting to target...Connected to target
Waiting for GDB connection...Connected to 127.0.0.1
Reading all registers
Read 4 bytes @ address 0x00000000 (Data = 0xFFFFFFFF)
Target interface speed set to 30 kHz
Resetting target
Halting target CPU...
...Target halted (PC = 0x1C000140)
R0 = 1C000460, R1 = 1FFFAC90, R2 = 1FFFA000, R3 = 00080000
R4 = 1FFFAD20, R5 = 1C000460, R6 = 1FFFA000, R7 = 00000000
R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
R12= 00000000, R13= 1FFFB5C8, MSP= 1FFFB5C8, PSP= EFFFF7FC
R14(LR) = 1C001761, R15(PC) = 1C000140
XPSR 21000000, APSR 20000000, EPSR 01000000, IPSR 00000000
CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
Reading all registers
Select auto target interface speed (1429 kHz)
Flash breakpoints enabled
Semi-hosting enabled (Handle on BKPT)
Wrong client mask. Semihosting I/O not changed.
Downloading 320 bytes @ address 0x00000000 - Verified OK
Downloading 16 bytes @ address 0x00000400 - Verified OK
Downloading 8556 bytes @ address 0x00000410 - Verified OK
Downloading 8 bytes @ address 0x0000257C - Verified OK
Downloading 4 bytes @ address 0x00002584 - Verified OK
Downloading 4 bytes @ address 0x00002588 - Verified OK
Downloading 104 bytes @ address 0x0000258C - Verified OK
Writing register (PC = 0x48060000)
Read 4 bytes @ address 0x00000648 (Data = 0x480CB672)
Resetting target
Halting target CPU...
...Target halted (PC = 0x1C000140)
Read 2 bytes @ address 0x00001C0A (Data = 0xF7FE)
Read 2 bytes @ address 0x00001C0A (Data = 0xF7FE)
Read 2 bytes @ address 0x00001C0A (Data = 0xF7FE)
R0 = 00000000, R1 = B480A602, R2 = 00000350, R3 = 0C4E6B61
R4 = 1FFFA68C, R5 = 1FFFA6AC, R6 = 1FFFA6AC, R7 = 00000000
R8 = 00000000, R9 = 00000000, R10= 00000000, R11= 00000000
R12= 1FFFA600, R13= 1FFFB5C8, MSP= 1FFFB5C8, PSP= EFFFF7FC
R14(LR) = 1FFFA32F, R15(PC) = 1C000140
XPSR 61000000, APSR 60000000, EPSR 01000000, IPSR 00000000
CFBP 00000000, CONTROL 00, FAULTMASK 00, BASEPRI 00, PRIMASK 00
Reading all registers
Reading all registers
Read 4 bytes @ address 0x1C000140 (Data = 0x480EB672)
Setting breakpoint @ address 0x00001C0A, Size = 2, BPHandle = 0x0001
Starting target CPU...
Hi Kai,
unfortunately I do not have that board. But I would recommend that you stop the target with the debugger to see where it is executing code? Maybe it did not reach somehow main() because of an exception?
Erich
Hi Erich,
Somehow I managed to get it work by changing the memory map in the linker file.
I shrink the front end & back end of the SDRAM memory block and then it works flawlessly now. Strange but at least now I can proceed further. :smileyhappy:
I will look back this issue when I have some time later on.
Thanks again for everything.