J-Link cannot connect to target after programming

6 posts / 0 new
Last post
xiaojie
Offline
Last seen: 21 hours 2 min ago
Joined: 2017-08-13 06:56
J-Link cannot connect to target after programming

Hello,

I have a customized board using DA14680. After initial programming firmware, I cannot connect to it by j-link, the SWD RTT viewer also cannot connect to target. The code on the board seems working fine, I verified by a few LEDs and BLE connection. This happens even if I change my code and make an empty main() {} function.

I was occasionally able to connect to it by enter the "connect" command in J-LINK Commander immediately after power on the board. When I am able to connect through J-LINK, VTref=1.8V but when I am not able to connect, VTref=0V. JTAG Vcc is connected to VDD_1V8P, VDD_1V8P also used for power supplies for some other sensors.

Could you please tell me what could be the problem and where I should look at? Thanks.

XH

Device: 
PM_Dialog
Offline
Last seen: 12 hours 40 min ago
Staff
Joined: 2018-02-08 11:03
Hi xiaojie,

Hi xiaojie,

Which is the version of J-Link? Be aware that we are using J-Link Lite in our products. Have you tried to program your firmware using the SmartSnippets IDE via the program_qspi_jtag_win script?

Thanks, PM_Dialog

xiaojie
Offline
Last seen: 21 hours 2 min ago
Joined: 2017-08-13 06:56
Hello PM_Dialog,

Hello PM_Dialog,

I was using J-LINK EDU. It was ok for evaluation board and previous versions of customized board we built. In the latest version of our customized board we changed swept some power supplies between VDD_1V8 and VDD_1V8P but I don't see any reason this can cause such problem.

I usually program the firmware using SmartSnippets IDE via program_qspi_jtag_win script, however it stopped working whenever I have firmware running in the customized board. Then I started to checking the J-LINK commander and saw the wrong VTref.

[update] I checked VDD_1V8P, which is connected to JTAG connector VCC, is only 0.7V. Any possible reason for it?

Thanks.

PM_Dialog
Offline
Last seen: 12 hours 40 min ago
Staff
Joined: 2018-02-08 11:03
Hi xiaojie,

Hi xiaojie,

Since that you have a custom board, could you please check all power rails of the device? They should be according to DA1468x specifications. Also, could you please clarify if you are able to download firmware using the SmartSnippets IDE via the program_qspi_jtag_win script?

Thanks, PM_Dialog

xiaojie
Offline
Last seen: 21 hours 2 min ago
Joined: 2017-08-13 06:56
Hello PM_Dialog,

Hello PM_Dialog,

Thank you for your advice. I checked other power rails and they look fine. I can download the firmware using the SmartSnippets IDE via the program_qspi_jtag_win script when there is no code running (for example, if I erase it) on the MCU, but once it has code running, I cannot connect to it either by J-LINK commander or SmartSnippets IDE via the program_qspi_jtag_win script.

Today I added
#define dg_configPOWER_1V8P (1)
to custom_config_qspi.h then 1V8P voltage looks normal and everything works.

I am wondering that do I need to explicitly define dg_configPOWER_1V8_ACTIVE/dg_configPOWER_1V8_SLEEP/dg_configPOWER_1V8P to enable 1V8 and 1V8P? Does MCU automatically turn it off when nothing is drawing current? Thanks.

PM_Dialog
Offline
Last seen: 12 hours 40 min ago
Staff
Joined: 2018-02-08 11:03
Hi xiaojie,

Hi xiaojie,

Glad that you figured your issue out. It is strongly recommend it to run first the erase_qspi_jtag_win, in order to erase the QSPI flash and then run the program_qspi_jtag_win. Yes you should explicitly define them. Let me share you what these definitions do:

dg_configPOWER_1V8_ACTIVE : The rail from which the Flash is powered, if a Flash is used.

FLASH_IS_NOT_CONNECTED

FLASH_CONNECTED_TO_1V8

FLASH_CONNECTED_TO_1V8P

When set to 1, the 1V8 rail is powered, when the system is in active state.

dg_configPOWER_1V8_SLEEP : When set to 1, the 1V8 is powered during sleep.

dg_configPOWER_1V8P: When set to 1, the 1V8P rail is powered.

If you found any of the answer useful, please mark one of them as “accepted”.

Thanks, PM_Dialog